/*! tailwindcss v2.0.3 | MIT License | https://tailwindcss.com */

/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */

/*
Document
========
*/

/**
Use a better box model (opinionated).
*/

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

/**
Use a more readable tab size (opinionated).
*/

:root {
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

/**
1. Correct the line height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
*/

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/*
Sections
========
*/

/**
Remove the margin in all browsers.
*/

body {
  margin: 0;
}

/**
Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
*/

body {
  font-family:
		system-ui,
		-apple-system, /* Firefox supports this but not yet `system-ui` */
		'Segoe UI',
		Roboto,
		Helvetica,
		Arial,
		sans-serif,
		'Apple Color Emoji',
		'Segoe UI Emoji';
}

/*
Grouping content
================
*/

/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
}

/*
Text-level semantics
====================
*/

/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/

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

/**
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family:
		ui-monospace,
		SFMono-Regular,
		Consolas,
		'Liberation Mono',
		Menlo,
		monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
Tabular data
============
*/

/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
}

/*
Forms
=====
*/

/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/

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

/**
Remove the inheritance of text transform in Edge and Firefox.
1. Remove the inheritance of text transform in Firefox.
*/

button,
select { /* 1 */
  text-transform: none;
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/

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

/**
Remove the inner border and padding in Firefox.
*/

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

/**
Restore the focus styles unset by the previous rule.
*/

:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/

legend {
  padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/

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

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

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

/**
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Interactive
===========
*/

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/**
 * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
 * A thin layer on top of normalize.css that provides a starting point more
 * suitable for web applications.
 */

/**
 * Removes the default spacing and border for appropriate elements.
 */

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

button {
  background-color: transparent;
  background-image: none;
}

/**
 * Work around a Firefox/IE bug where the transparent `button` background
 * results in a loss of the default `button` focus styles.
 */

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

fieldset {
  margin: 0;
  padding: 0;
}

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/**
 * Tailwind custom reset styles
 */

/**
 * 1. Use the user's configured `sans` font-family (with Tailwind's default
 *    sans-serif font stack as a fallback) as a sane default.
 * 2. Use Tailwind's default "normal" line-height so the user isn't forced
 *    to override it to ensure consistency even when using the default theme.
 */

html {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple ColorDef Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto ColorDef Emoji"; /* 1 */
  line-height: 1.5; /* 2 */
}

/**
 * Inherit font-family and line-height from `html` so users can set them as
 * a class directly on the `html` element.
 */

body {
  font-family: inherit;
  line-height: inherit;
}

/**
 * 1. Prevent padding and border from affecting element width.
 *
 *    We used to set this in the html element and inherit from
 *    the parent element for everything else. This caused issues
 *    in shadow-dom-enhanced elements like <details> where the content
 *    is wrapped by a div with box-sizing set to `content-box`.
 *
 *    https://github.com/mozdevs/cssremedy/issues/4
 *
 *
 * 2. Allow adding a border to an element by just adding a border-width.
 *
 *    By default, the way the browser specifies that an element should have no
 *    border is by setting it's border-style to `none` in the user-agent
 *    stylesheet.
 *
 *    In order to easily add borders to elements by just setting the `border-width`
 *    property, we change the default border-style for all elements to `solid`, and
 *    use border-width to hide them instead. This way our `border` utilities only
 *    need to set the `border-width` property instead of the entire `border`
 *    shorthand, making our border utilities much more straightforward to compose.
 *
 *    https://github.com/tailwindcss/tailwindcss/pull/116
 */

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: var(--foreground-divider); /* 2 */
}

/*
 * Ensure horizontal rules are visible by default
 */

hr {
  border-top-width: 1px;
}

/**
 * Undo the `border-style: none` reset that Normalize applies to images so that
 * our `border-{width}` utilities have the expected effect.
 *
 * The Normalize reset is unnecessary for us since we default the border-width
 * to 0 on all elements.
 *
 * https://github.com/tailwindcss/tailwindcss/issues/362
 */

img {
  border-style: solid;
}

textarea {
  resize: vertical;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  color: #a1a1aa;
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: #a1a1aa;
}

button,
[role="button"] {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/**
 * Reset links to optimize for opt-in styling instead of
 * opt-out.
 */

a {
  color: inherit;
  text-decoration: inherit;
}

/**
 * Reset form element properties that are easy to forget to
 * style explicitly so you don't inadvertently introduce
 * styles that deviate from your design system. These styles
 * supplement a partial reset that is already applied by
 * normalize.css.
 */

button,
input,
optgroup,
select,
textarea {
  padding: 0;
  line-height: inherit;
  color: inherit;
}

/**
 * Use the configured 'mono' font family for elements that
 * are expected to be rendered with a monospace font, falling
 * back to the system monospace stack if there is no configured
 * 'mono' font family.
 */

pre,
code,
kbd,
samp {
  font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/**
 * Make replaced elements `display: block` by default as that's
 * the behavior you want almost all of the time. Inspired by
 * CSS Remedy, with `svg` added as well.
 *
 * https://github.com/mozdevs/cssremedy/issues/14
 */

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  vertical-align: middle;
}

/**
 * Constrain images and videos to the parent width and preserve
 * their instrinsic aspect ratio.
 *
 * https://github.com/mozdevs/cssremedy/issues/14
 */

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

input, textarea {
  box-sizing: content-box;
  line-height: 1.5;
}

button:focus {
  outline: unset !important;
}

code {
  background: var(--background-app-bar);
  border-radius: var(--border-radius);
  color: var(--text-color);
  font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
  font-size: 85%;
  padding: 0.2em 0.4em;
}

blockquote {
  background: rgba(var(--color-primary), .1);
  border-left: 3px solid rgb(var(--color-primary));
  color: rgba(0, 0, 0, 0.87);
  font-style: normal;
  margin: 1em 0 1.5em;
  padding: 1em 1.5em;
}

blockquote > * {
  margin: 0;
}

:root .space-y-0 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}

:root .space-x-0 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0px * var(--tw-space-x-reverse));
  margin-left: calc(0px * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

:root .space-x-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

:root .space-x-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

:root .space-x-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

:root .space-x-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}

:root .space-x-5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(1.25rem * var(--tw-space-x-reverse));
  margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

:root .space-x-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(1.5rem * var(--tw-space-x-reverse));
  margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

:root .space-x-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(2rem * var(--tw-space-x-reverse));
  margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-9 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.25rem * var(--tw-space-y-reverse));
}

:root .space-x-9 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(2.25rem * var(--tw-space-x-reverse));
  margin-left: calc(2.25rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-10 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}

:root .space-x-10 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(2.5rem * var(--tw-space-x-reverse));
  margin-left: calc(2.5rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-12 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}

:root .space-x-12 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(3rem * var(--tw-space-x-reverse));
  margin-left: calc(3rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-14 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3.5rem * var(--tw-space-y-reverse));
}

:root .space-x-14 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(3.5rem * var(--tw-space-x-reverse));
  margin-left: calc(3.5rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-16 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(4rem * var(--tw-space-y-reverse));
}

:root .space-x-16 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(4rem * var(--tw-space-x-reverse));
  margin-left: calc(4rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-20 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(5rem * var(--tw-space-y-reverse));
}

:root .space-x-20 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(5rem * var(--tw-space-x-reverse));
  margin-left: calc(5rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-24 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(6rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(6rem * var(--tw-space-y-reverse));
}

:root .space-x-24 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(6rem * var(--tw-space-x-reverse));
  margin-left: calc(6rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-32 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(8rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(8rem * var(--tw-space-y-reverse));
}

:root .space-x-32 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(8rem * var(--tw-space-x-reverse));
  margin-left: calc(8rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-40 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(10rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(10rem * var(--tw-space-y-reverse));
}

:root .space-x-40 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(10rem * var(--tw-space-x-reverse));
  margin-left: calc(10rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-48 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(12rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(12rem * var(--tw-space-y-reverse));
}

:root .space-x-48 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(12rem * var(--tw-space-x-reverse));
  margin-left: calc(12rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-56 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(14rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(14rem * var(--tw-space-y-reverse));
}

:root .space-x-56 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(14rem * var(--tw-space-x-reverse));
  margin-left: calc(14rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-64 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(16rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(16rem * var(--tw-space-y-reverse));
}

:root .space-x-64 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(16rem * var(--tw-space-x-reverse));
  margin-left: calc(16rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-px > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1px * var(--tw-space-y-reverse));
}

:root .space-x-px > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(1px * var(--tw-space-x-reverse));
  margin-left: calc(1px * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-gutter > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(var(--padding-gutter) * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(var(--padding-gutter) * var(--tw-space-y-reverse));
}

:root .space-x-gutter > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(var(--padding-gutter) * var(--tw-space-x-reverse));
  margin-left: calc(var(--padding-gutter) * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-0.25rem * var(--tw-space-y-reverse));
}

:root .-space-x-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-0.5rem * var(--tw-space-y-reverse));
}

:root .-space-x-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-0.75rem * var(--tw-space-y-reverse));
}

:root .-space-x-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-1rem * var(--tw-space-y-reverse));
}

:root .-space-x-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-1rem * var(--tw-space-x-reverse));
  margin-left: calc(-1rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-1.25rem * var(--tw-space-y-reverse));
}

:root .-space-x-5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-1.25rem * var(--tw-space-x-reverse));
  margin-left: calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-1.5rem * var(--tw-space-y-reverse));
}

:root .-space-x-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-1.5rem * var(--tw-space-x-reverse));
  margin-left: calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-2rem * var(--tw-space-y-reverse));
}

:root .-space-x-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-2rem * var(--tw-space-x-reverse));
  margin-left: calc(-2rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-9 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-2.25rem * var(--tw-space-y-reverse));
}

:root .-space-x-9 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-2.25rem * var(--tw-space-x-reverse));
  margin-left: calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-10 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-2.5rem * var(--tw-space-y-reverse));
}

:root .-space-x-10 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-2.5rem * var(--tw-space-x-reverse));
  margin-left: calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-12 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-3rem * var(--tw-space-y-reverse));
}

:root .-space-x-12 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-3rem * var(--tw-space-x-reverse));
  margin-left: calc(-3rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-14 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-3.5rem * var(--tw-space-y-reverse));
}

:root .-space-x-14 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-3.5rem * var(--tw-space-x-reverse));
  margin-left: calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-16 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-4rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-4rem * var(--tw-space-y-reverse));
}

:root .-space-x-16 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-4rem * var(--tw-space-x-reverse));
  margin-left: calc(-4rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-20 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-5rem * var(--tw-space-y-reverse));
}

:root .-space-x-20 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-5rem * var(--tw-space-x-reverse));
  margin-left: calc(-5rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-24 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-6rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-6rem * var(--tw-space-y-reverse));
}

:root .-space-x-24 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-6rem * var(--tw-space-x-reverse));
  margin-left: calc(-6rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-32 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-8rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-8rem * var(--tw-space-y-reverse));
}

:root .-space-x-32 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-8rem * var(--tw-space-x-reverse));
  margin-left: calc(-8rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-40 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-10rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-10rem * var(--tw-space-y-reverse));
}

:root .-space-x-40 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-10rem * var(--tw-space-x-reverse));
  margin-left: calc(-10rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-48 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-12rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-12rem * var(--tw-space-y-reverse));
}

:root .-space-x-48 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-12rem * var(--tw-space-x-reverse));
  margin-left: calc(-12rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-56 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-14rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-14rem * var(--tw-space-y-reverse));
}

:root .-space-x-56 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-14rem * var(--tw-space-x-reverse));
  margin-left: calc(-14rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-64 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-16rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-16rem * var(--tw-space-y-reverse));
}

:root .-space-x-64 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-16rem * var(--tw-space-x-reverse));
  margin-left: calc(-16rem * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-px > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(-1px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(-1px * var(--tw-space-y-reverse));
}

:root .-space-x-px > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-1px * var(--tw-space-x-reverse));
  margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse)));
}

:root .-space-y-gutter > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(calc(var(--padding-gutter) * -1) * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(calc(var(--padding-gutter) * -1) * var(--tw-space-y-reverse));
}

:root .-space-x-gutter > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(calc(var(--padding-gutter) * -1) * var(--tw-space-x-reverse));
  margin-left: calc(calc(var(--padding-gutter) * -1) * calc(1 - var(--tw-space-x-reverse)));
}

:root .space-y-reverse > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 1;
}

:root .space-x-reverse > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 1;
}

:root .divide-y-0 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(0px * var(--tw-divide-y-reverse));
}

:root .divide-x-0 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-x-reverse: 0;
  border-right-width: calc(0px * var(--tw-divide-x-reverse));
  border-left-width: calc(0px * calc(1 - var(--tw-divide-x-reverse)));
}

:root .divide-y-2 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(2px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(2px * var(--tw-divide-y-reverse));
}

:root .divide-x-2 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-x-reverse: 0;
  border-right-width: calc(2px * var(--tw-divide-x-reverse));
  border-left-width: calc(2px * calc(1 - var(--tw-divide-x-reverse)));
}

:root .divide-y-3 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(3px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(3px * var(--tw-divide-y-reverse));
}

:root .divide-x-3 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-x-reverse: 0;
  border-right-width: calc(3px * var(--tw-divide-x-reverse));
  border-left-width: calc(3px * calc(1 - var(--tw-divide-x-reverse)));
}

:root .divide-y-4 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(4px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(4px * var(--tw-divide-y-reverse));
}

:root .divide-x-4 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-x-reverse: 0;
  border-right-width: calc(4px * var(--tw-divide-x-reverse));
  border-left-width: calc(4px * calc(1 - var(--tw-divide-x-reverse)));
}

:root .divide-y-8 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(8px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(8px * var(--tw-divide-y-reverse));
}

:root .divide-x-8 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-x-reverse: 0;
  border-right-width: calc(8px * var(--tw-divide-x-reverse));
  border-left-width: calc(8px * calc(1 - var(--tw-divide-x-reverse)));
}

:root .divide-y > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

:root .divide-x > :not([hidden]) ~ :not([hidden]){
  --tw-divide-x-reverse: 0;
  border-right-width: calc(1px * var(--tw-divide-x-reverse));
  border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
}

:root .divide-y-reverse > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 1;
}

:root .divide-x-reverse > :not([hidden]) ~ :not([hidden]){
  --tw-divide-x-reverse: 1;
}

:root .divide-current > :not([hidden]) ~ :not([hidden]){
  border-color: currentColor;
}

:root .divide-transparent > :not([hidden]) ~ :not([hidden]){
  border-color: transparent;
}

:root .divide-black > :not([hidden]) ~ :not([hidden]){
  border-color: var(--text-color);
}

:root .divide-white > :not([hidden]) ~ :not([hidden]){
  border-color: var(--text-color-light);
}

:root .divide-contrast-black > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgba(0, 0, 0, var(--tw-divide-opacity));
}

:root .divide-contrast-white > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgba(255, 255, 255, var(--tw-divide-opacity));
}

:root .divide-gray-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(158, 158, 158, 0.1);
}

:root .divide-gray > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgba(158, 158, 158, var(--tw-divide-opacity));
}

:root .divide-red-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(244, 67, 54, 0.1);
}

:root .divide-red > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgba(244, 67, 54, var(--tw-divide-opacity));
}

:root .divide-orange-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(255, 152, 0, 0.1);
}

:root .divide-orange > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgba(255, 152, 0, var(--tw-divide-opacity));
}

:root .divide-deep-orange-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(255, 87, 34, 0.1);
}

:root .divide-deep-orange > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgba(255, 87, 34, var(--tw-divide-opacity));
}

:root .divide-amber-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(255, 193, 7, 0.1);
}

:root .divide-amber > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgba(255, 193, 7, var(--tw-divide-opacity));
}

:root .divide-green-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(76, 175, 80, 0.1);
}

:root .divide-green > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgba(76, 175, 80, var(--tw-divide-opacity));
}

:root .divide-teal-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(0, 150, 136, 0.1);
}

:root .divide-teal > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgba(0, 150, 136, var(--tw-divide-opacity));
}

:root .divide-cyan-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(0, 188, 212, 0.1);
}

:root .divide-cyan > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgba(0, 188, 212, var(--tw-divide-opacity));
}

:root .divide-purple-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(156, 39, 176, 0.1);
}

:root .divide-purple > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgba(156, 39, 176, var(--tw-divide-opacity));
}

:root .divide-deep-purple-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(103, 58, 183, 0.1);
}

:root .divide-deep-purple > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgba(103, 58, 183, var(--tw-divide-opacity));
}

:root .divide-pink-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(233, 30, 99, 0.1);
}

:root .divide-pink > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgba(233, 30, 99, var(--tw-divide-opacity));
}

:root .divide-primary-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(var(--color-primary), .1);
}

:root .divide-primary > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(var(--color-primary));
}

:root .divide-accent-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(var(--color-accent), .1);
}

:root .divide-accent > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(var(--color-accent));
}

:root .divide-warn-light > :not([hidden]) ~ :not([hidden]){
  border-color: rgba(var(--color-warn), .1);
}

:root .divide-warn > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(var(--color-warn));
}

:root .divide-solid > :not([hidden]) ~ :not([hidden]){
  border-style: solid;
}

:root .divide-dashed > :not([hidden]) ~ :not([hidden]){
  border-style: dashed;
}

:root .divide-dotted > :not([hidden]) ~ :not([hidden]){
  border-style: dotted;
}

:root .divide-double > :not([hidden]) ~ :not([hidden]){
  border-style: double;
}

:root .divide-none > :not([hidden]) ~ :not([hidden]){
  border-style: none;
}

:root .divide-opacity-0 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 0;
}

:root .divide-opacity-25 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 0.25;
}

:root .divide-opacity-50 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 0.5;
}

:root .divide-opacity-75 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 0.75;
}

:root .divide-opacity-100 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
}

:root .sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

:root .not-sr-only{
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

:root .focus\:sr-only:focus{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

:root .focus\:not-sr-only:focus{
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

:root .appearance-none{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

:root .bg-fixed{
  background-attachment: fixed;
}

:root .bg-local{
  background-attachment: local;
}

:root .bg-scroll{
  background-attachment: scroll;
}

:root .bg-clip-border{
  background-clip: border-box;
}

:root .bg-clip-padding{
  background-clip: padding-box;
}

:root .bg-clip-content{
  background-clip: content-box;
}

:root .bg-clip-text{
  -webkit-background-clip: text;
          background-clip: text;
}

:root .bg-base{
  background-color: var(--background-base);
}

:root .bg-card{
  background-color: var(--background-card);
}

:root .bg-app-bar{
  background-color: var(--background-app-bar);
}

:root .bg-hover{
  background-color: var(--background-hover);
}

:root .bg-current{
  background-color: currentColor;
}

:root .bg-transparent{
  background-color: transparent;
}

:root .bg-black{
  background-color: var(--text-color);
}

:root .bg-white{
  background-color: var(--text-color-light);
}

:root .bg-contrast-black{
  --tw-bg-opacity: 1;
  background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
}

:root .bg-contrast-white{
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}

:root .bg-gray-light{
  background-color: rgba(158, 158, 158, 0.1);
}

:root .bg-gray{
  --tw-bg-opacity: 1;
  background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
}

:root .bg-red-light{
  background-color: rgba(244, 67, 54, 0.1);
}

:root .bg-red{
  --tw-bg-opacity: 1;
  background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
}

:root .bg-orange-light{
  background-color: rgba(255, 152, 0, 0.1);
}

:root .bg-orange{
  --tw-bg-opacity: 1;
  background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
}

:root .bg-deep-orange-light{
  background-color: rgba(255, 87, 34, 0.1);
}

:root .bg-deep-orange{
  --tw-bg-opacity: 1;
  background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
}

:root .bg-amber-light{
  background-color: rgba(255, 193, 7, 0.1);
}

:root .bg-amber{
  --tw-bg-opacity: 1;
  background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
}

:root .bg-green-light{
  background-color: rgba(76, 175, 80, 0.1);
}

:root .bg-green{
  --tw-bg-opacity: 1;
  background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
}

:root .bg-teal-light{
  background-color: rgba(0, 150, 136, 0.1);
}

:root .bg-teal{
  --tw-bg-opacity: 1;
  background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
}

:root .bg-cyan-light{
  background-color: rgba(0, 188, 212, 0.1);
}

:root .bg-cyan{
  --tw-bg-opacity: 1;
  background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
}

:root .bg-purple-light{
  background-color: rgba(156, 39, 176, 0.1);
}

:root .bg-purple{
  --tw-bg-opacity: 1;
  background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
}

:root .bg-deep-purple-light{
  background-color: rgba(103, 58, 183, 0.1);
}

:root .bg-deep-purple{
  --tw-bg-opacity: 1;
  background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
}

:root .bg-pink-light{
  background-color: rgba(233, 30, 99, 0.1);
}

:root .bg-pink{
  --tw-bg-opacity: 1;
  background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
}

:root .bg-primary-light{
  background-color: rgba(var(--color-primary), .1);
}

:root .bg-primary{
  background-color: rgb(var(--color-primary));
}

:root .bg-accent-light{
  background-color: rgba(var(--color-accent), .1);
}

:root .bg-accent{
  background-color: rgb(var(--color-accent));
}

:root .bg-warn-light{
  background-color: rgba(var(--color-warn), .1);
}

:root .bg-warn{
  background-color: rgb(var(--color-warn));
}

:root .hover\:bg-base:hover{
  background-color: var(--background-base);
}

:root .hover\:bg-card:hover{
  background-color: var(--background-card);
}

:root .hover\:bg-app-bar:hover{
  background-color: var(--background-app-bar);
}

:root .hover\:bg-hover:hover{
  background-color: var(--background-hover);
}

:root .hover\:bg-current:hover{
  background-color: currentColor;
}

:root .hover\:bg-transparent:hover{
  background-color: transparent;
}

:root .hover\:bg-black:hover{
  background-color: var(--text-color);
}

:root .hover\:bg-white:hover{
  background-color: var(--text-color-light);
}

:root .hover\:bg-contrast-black:hover{
  --tw-bg-opacity: 1;
  background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
}

:root .hover\:bg-contrast-white:hover{
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}

:root .hover\:bg-gray-light:hover{
  background-color: rgba(158, 158, 158, 0.1);
}

:root .hover\:bg-gray:hover{
  --tw-bg-opacity: 1;
  background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
}

:root .hover\:bg-red-light:hover{
  background-color: rgba(244, 67, 54, 0.1);
}

:root .hover\:bg-red:hover{
  --tw-bg-opacity: 1;
  background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
}

:root .hover\:bg-orange-light:hover{
  background-color: rgba(255, 152, 0, 0.1);
}

:root .hover\:bg-orange:hover{
  --tw-bg-opacity: 1;
  background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
}

:root .hover\:bg-deep-orange-light:hover{
  background-color: rgba(255, 87, 34, 0.1);
}

:root .hover\:bg-deep-orange:hover{
  --tw-bg-opacity: 1;
  background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
}

:root .hover\:bg-amber-light:hover{
  background-color: rgba(255, 193, 7, 0.1);
}

:root .hover\:bg-amber:hover{
  --tw-bg-opacity: 1;
  background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
}

:root .hover\:bg-green-light:hover{
  background-color: rgba(76, 175, 80, 0.1);
}

:root .hover\:bg-green:hover{
  --tw-bg-opacity: 1;
  background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
}

:root .hover\:bg-teal-light:hover{
  background-color: rgba(0, 150, 136, 0.1);
}

:root .hover\:bg-teal:hover{
  --tw-bg-opacity: 1;
  background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
}

:root .hover\:bg-cyan-light:hover{
  background-color: rgba(0, 188, 212, 0.1);
}

:root .hover\:bg-cyan:hover{
  --tw-bg-opacity: 1;
  background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
}

:root .hover\:bg-purple-light:hover{
  background-color: rgba(156, 39, 176, 0.1);
}

:root .hover\:bg-purple:hover{
  --tw-bg-opacity: 1;
  background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
}

:root .hover\:bg-deep-purple-light:hover{
  background-color: rgba(103, 58, 183, 0.1);
}

:root .hover\:bg-deep-purple:hover{
  --tw-bg-opacity: 1;
  background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
}

:root .hover\:bg-pink-light:hover{
  background-color: rgba(233, 30, 99, 0.1);
}

:root .hover\:bg-pink:hover{
  --tw-bg-opacity: 1;
  background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
}

:root .hover\:bg-primary-light:hover{
  background-color: rgba(var(--color-primary), .1);
}

:root .hover\:bg-primary:hover{
  background-color: rgb(var(--color-primary));
}

:root .hover\:bg-accent-light:hover{
  background-color: rgba(var(--color-accent), .1);
}

:root .hover\:bg-accent:hover{
  background-color: rgb(var(--color-accent));
}

:root .hover\:bg-warn-light:hover{
  background-color: rgba(var(--color-warn), .1);
}

:root .hover\:bg-warn:hover{
  background-color: rgb(var(--color-warn));
}

:root .focus\:bg-base:focus{
  background-color: var(--background-base);
}

:root .focus\:bg-card:focus{
  background-color: var(--background-card);
}

:root .focus\:bg-app-bar:focus{
  background-color: var(--background-app-bar);
}

:root .focus\:bg-hover:focus{
  background-color: var(--background-hover);
}

:root .focus\:bg-current:focus{
  background-color: currentColor;
}

:root .focus\:bg-transparent:focus{
  background-color: transparent;
}

:root .focus\:bg-black:focus{
  background-color: var(--text-color);
}

:root .focus\:bg-white:focus{
  background-color: var(--text-color-light);
}

:root .focus\:bg-contrast-black:focus{
  --tw-bg-opacity: 1;
  background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
}

:root .focus\:bg-contrast-white:focus{
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}

:root .focus\:bg-gray-light:focus{
  background-color: rgba(158, 158, 158, 0.1);
}

:root .focus\:bg-gray:focus{
  --tw-bg-opacity: 1;
  background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
}

:root .focus\:bg-red-light:focus{
  background-color: rgba(244, 67, 54, 0.1);
}

:root .focus\:bg-red:focus{
  --tw-bg-opacity: 1;
  background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
}

:root .focus\:bg-orange-light:focus{
  background-color: rgba(255, 152, 0, 0.1);
}

:root .focus\:bg-orange:focus{
  --tw-bg-opacity: 1;
  background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
}

:root .focus\:bg-deep-orange-light:focus{
  background-color: rgba(255, 87, 34, 0.1);
}

:root .focus\:bg-deep-orange:focus{
  --tw-bg-opacity: 1;
  background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
}

:root .focus\:bg-amber-light:focus{
  background-color: rgba(255, 193, 7, 0.1);
}

:root .focus\:bg-amber:focus{
  --tw-bg-opacity: 1;
  background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
}

:root .focus\:bg-green-light:focus{
  background-color: rgba(76, 175, 80, 0.1);
}

:root .focus\:bg-green:focus{
  --tw-bg-opacity: 1;
  background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
}

:root .focus\:bg-teal-light:focus{
  background-color: rgba(0, 150, 136, 0.1);
}

:root .focus\:bg-teal:focus{
  --tw-bg-opacity: 1;
  background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
}

:root .focus\:bg-cyan-light:focus{
  background-color: rgba(0, 188, 212, 0.1);
}

:root .focus\:bg-cyan:focus{
  --tw-bg-opacity: 1;
  background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
}

:root .focus\:bg-purple-light:focus{
  background-color: rgba(156, 39, 176, 0.1);
}

:root .focus\:bg-purple:focus{
  --tw-bg-opacity: 1;
  background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
}

:root .focus\:bg-deep-purple-light:focus{
  background-color: rgba(103, 58, 183, 0.1);
}

:root .focus\:bg-deep-purple:focus{
  --tw-bg-opacity: 1;
  background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
}

:root .focus\:bg-pink-light:focus{
  background-color: rgba(233, 30, 99, 0.1);
}

:root .focus\:bg-pink:focus{
  --tw-bg-opacity: 1;
  background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
}

:root .focus\:bg-primary-light:focus{
  background-color: rgba(var(--color-primary), .1);
}

:root .focus\:bg-primary:focus{
  background-color: rgb(var(--color-primary));
}

:root .focus\:bg-accent-light:focus{
  background-color: rgba(var(--color-accent), .1);
}

:root .focus\:bg-accent:focus{
  background-color: rgb(var(--color-accent));
}

:root .focus\:bg-warn-light:focus{
  background-color: rgba(var(--color-warn), .1);
}

:root .focus\:bg-warn:focus{
  background-color: rgb(var(--color-warn));
}

:root .bg-none{
  background-image: none;
}

:root .bg-gradient-to-t{
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}

:root .bg-gradient-to-tr{
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}

:root .bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

:root .bg-gradient-to-br{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

:root .bg-gradient-to-b{
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}

:root .bg-gradient-to-bl{
  background-image: linear-gradient(to bottom left, var(--tw-gradient-stops));
}

:root .bg-gradient-to-l{
  background-image: linear-gradient(to left, var(--tw-gradient-stops));
}

:root .bg-gradient-to-tl{
  background-image: linear-gradient(to top left, var(--tw-gradient-stops));
}

:root .from-current{
  --tw-gradient-from: currentColor;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .from-transparent{
  --tw-gradient-from: transparent;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

:root .from-black{
  --tw-gradient-from: var(--text-color);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .from-white{
  --tw-gradient-from: var(--text-color-light);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .from-contrast-black{
  --tw-gradient-from: black;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

:root .from-contrast-white{
  --tw-gradient-from: white;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .from-gray-light{
  --tw-gradient-from: rgba(158, 158, 158, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
}

:root .from-gray{
  --tw-gradient-from: rgb(158, 158, 158);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
}

:root .from-red-light{
  --tw-gradient-from: rgba(244, 67, 54, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
}

:root .from-red{
  --tw-gradient-from: rgb(244, 67, 54);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
}

:root .from-orange-light{
  --tw-gradient-from: rgba(255, 152, 0, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
}

:root .from-orange{
  --tw-gradient-from: rgb(255, 152, 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
}

:root .from-deep-orange-light{
  --tw-gradient-from: rgba(255, 87, 34, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
}

:root .from-deep-orange{
  --tw-gradient-from: rgb(255, 87, 34);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
}

:root .from-amber-light{
  --tw-gradient-from: rgba(255, 193, 7, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
}

:root .from-amber{
  --tw-gradient-from: rgb(255, 193, 7);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
}

:root .from-green-light{
  --tw-gradient-from: rgba(76, 175, 80, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
}

:root .from-green{
  --tw-gradient-from: rgb(76, 175, 80);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
}

:root .from-teal-light{
  --tw-gradient-from: rgba(0, 150, 136, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
}

:root .from-teal{
  --tw-gradient-from: rgb(0, 150, 136);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
}

:root .from-cyan-light{
  --tw-gradient-from: rgba(0, 188, 212, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
}

:root .from-cyan{
  --tw-gradient-from: rgb(0, 188, 212);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
}

:root .from-purple-light{
  --tw-gradient-from: rgba(156, 39, 176, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
}

:root .from-purple{
  --tw-gradient-from: rgb(156, 39, 176);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
}

:root .from-deep-purple-light{
  --tw-gradient-from: rgba(103, 58, 183, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
}

:root .from-deep-purple{
  --tw-gradient-from: rgb(103, 58, 183);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
}

:root .from-pink-light{
  --tw-gradient-from: rgba(233, 30, 99, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
}

:root .from-pink{
  --tw-gradient-from: rgb(233, 30, 99);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
}

:root .from-primary-light{
  --tw-gradient-from: rgba(var(--color-primary), .1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .from-primary{
  --tw-gradient-from: rgb(var(--color-primary));
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .from-accent-light{
  --tw-gradient-from: rgba(var(--color-accent), .1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .from-accent{
  --tw-gradient-from: rgb(var(--color-accent));
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .from-warn-light{
  --tw-gradient-from: rgba(var(--color-warn), .1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .from-warn{
  --tw-gradient-from: rgb(var(--color-warn));
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .via-current{
  --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .via-transparent{
  --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

:root .via-black{
  --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .via-white{
  --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .via-contrast-black{
  --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

:root .via-contrast-white{
  --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .via-gray-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
}

:root .via-gray{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
}

:root .via-red-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
}

:root .via-red{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
}

:root .via-orange-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
}

:root .via-orange{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
}

:root .via-deep-orange-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
}

:root .via-deep-orange{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
}

:root .via-amber-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
}

:root .via-amber{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
}

:root .via-green-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
}

:root .via-green{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
}

:root .via-teal-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
}

:root .via-teal{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
}

:root .via-cyan-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
}

:root .via-cyan{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
}

:root .via-purple-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
}

:root .via-purple{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
}

:root .via-deep-purple-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
}

:root .via-deep-purple{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
}

:root .via-pink-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
}

:root .via-pink{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
}

:root .via-primary-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .via-primary{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .via-accent-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .via-accent{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .via-warn-light{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .via-warn{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .to-current{
  --tw-gradient-to: currentColor;
}

:root .to-transparent{
  --tw-gradient-to: transparent;
}

:root .to-black{
  --tw-gradient-to: var(--text-color);
}

:root .to-white{
  --tw-gradient-to: var(--text-color-light);
}

:root .to-contrast-black{
  --tw-gradient-to: black;
}

:root .to-contrast-white{
  --tw-gradient-to: white;
}

:root .to-gray-light{
  --tw-gradient-to: rgba(158, 158, 158, 0.1);
}

:root .to-gray{
  --tw-gradient-to: rgb(158, 158, 158);
}

:root .to-red-light{
  --tw-gradient-to: rgba(244, 67, 54, 0.1);
}

:root .to-red{
  --tw-gradient-to: rgb(244, 67, 54);
}

:root .to-orange-light{
  --tw-gradient-to: rgba(255, 152, 0, 0.1);
}

:root .to-orange{
  --tw-gradient-to: rgb(255, 152, 0);
}

:root .to-deep-orange-light{
  --tw-gradient-to: rgba(255, 87, 34, 0.1);
}

:root .to-deep-orange{
  --tw-gradient-to: rgb(255, 87, 34);
}

:root .to-amber-light{
  --tw-gradient-to: rgba(255, 193, 7, 0.1);
}

:root .to-amber{
  --tw-gradient-to: rgb(255, 193, 7);
}

:root .to-green-light{
  --tw-gradient-to: rgba(76, 175, 80, 0.1);
}

:root .to-green{
  --tw-gradient-to: rgb(76, 175, 80);
}

:root .to-teal-light{
  --tw-gradient-to: rgba(0, 150, 136, 0.1);
}

:root .to-teal{
  --tw-gradient-to: rgb(0, 150, 136);
}

:root .to-cyan-light{
  --tw-gradient-to: rgba(0, 188, 212, 0.1);
}

:root .to-cyan{
  --tw-gradient-to: rgb(0, 188, 212);
}

:root .to-purple-light{
  --tw-gradient-to: rgba(156, 39, 176, 0.1);
}

:root .to-purple{
  --tw-gradient-to: rgb(156, 39, 176);
}

:root .to-deep-purple-light{
  --tw-gradient-to: rgba(103, 58, 183, 0.1);
}

:root .to-deep-purple{
  --tw-gradient-to: rgb(103, 58, 183);
}

:root .to-pink-light{
  --tw-gradient-to: rgba(233, 30, 99, 0.1);
}

:root .to-pink{
  --tw-gradient-to: rgb(233, 30, 99);
}

:root .to-primary-light{
  --tw-gradient-to: rgba(var(--color-primary), .1);
}

:root .to-primary{
  --tw-gradient-to: rgb(var(--color-primary));
}

:root .to-accent-light{
  --tw-gradient-to: rgba(var(--color-accent), .1);
}

:root .to-accent{
  --tw-gradient-to: rgb(var(--color-accent));
}

:root .to-warn-light{
  --tw-gradient-to: rgba(var(--color-warn), .1);
}

:root .to-warn{
  --tw-gradient-to: rgb(var(--color-warn));
}

:root .hover\:from-current:hover{
  --tw-gradient-from: currentColor;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:from-transparent:hover{
  --tw-gradient-from: transparent;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

:root .hover\:from-black:hover{
  --tw-gradient-from: var(--text-color);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:from-white:hover{
  --tw-gradient-from: var(--text-color-light);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:from-contrast-black:hover{
  --tw-gradient-from: black;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

:root .hover\:from-contrast-white:hover{
  --tw-gradient-from: white;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:from-gray-light:hover{
  --tw-gradient-from: rgba(158, 158, 158, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
}

:root .hover\:from-gray:hover{
  --tw-gradient-from: rgb(158, 158, 158);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
}

:root .hover\:from-red-light:hover{
  --tw-gradient-from: rgba(244, 67, 54, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
}

:root .hover\:from-red:hover{
  --tw-gradient-from: rgb(244, 67, 54);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
}

:root .hover\:from-orange-light:hover{
  --tw-gradient-from: rgba(255, 152, 0, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
}

:root .hover\:from-orange:hover{
  --tw-gradient-from: rgb(255, 152, 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
}

:root .hover\:from-deep-orange-light:hover{
  --tw-gradient-from: rgba(255, 87, 34, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
}

:root .hover\:from-deep-orange:hover{
  --tw-gradient-from: rgb(255, 87, 34);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
}

:root .hover\:from-amber-light:hover{
  --tw-gradient-from: rgba(255, 193, 7, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
}

:root .hover\:from-amber:hover{
  --tw-gradient-from: rgb(255, 193, 7);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
}

:root .hover\:from-green-light:hover{
  --tw-gradient-from: rgba(76, 175, 80, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
}

:root .hover\:from-green:hover{
  --tw-gradient-from: rgb(76, 175, 80);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
}

:root .hover\:from-teal-light:hover{
  --tw-gradient-from: rgba(0, 150, 136, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
}

:root .hover\:from-teal:hover{
  --tw-gradient-from: rgb(0, 150, 136);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
}

:root .hover\:from-cyan-light:hover{
  --tw-gradient-from: rgba(0, 188, 212, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
}

:root .hover\:from-cyan:hover{
  --tw-gradient-from: rgb(0, 188, 212);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
}

:root .hover\:from-purple-light:hover{
  --tw-gradient-from: rgba(156, 39, 176, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
}

:root .hover\:from-purple:hover{
  --tw-gradient-from: rgb(156, 39, 176);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
}

:root .hover\:from-deep-purple-light:hover{
  --tw-gradient-from: rgba(103, 58, 183, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
}

:root .hover\:from-deep-purple:hover{
  --tw-gradient-from: rgb(103, 58, 183);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
}

:root .hover\:from-pink-light:hover{
  --tw-gradient-from: rgba(233, 30, 99, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
}

:root .hover\:from-pink:hover{
  --tw-gradient-from: rgb(233, 30, 99);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
}

:root .hover\:from-primary-light:hover{
  --tw-gradient-from: rgba(var(--color-primary), .1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:from-primary:hover{
  --tw-gradient-from: rgb(var(--color-primary));
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:from-accent-light:hover{
  --tw-gradient-from: rgba(var(--color-accent), .1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:from-accent:hover{
  --tw-gradient-from: rgb(var(--color-accent));
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:from-warn-light:hover{
  --tw-gradient-from: rgba(var(--color-warn), .1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:from-warn:hover{
  --tw-gradient-from: rgb(var(--color-warn));
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:via-current:hover{
  --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:via-transparent:hover{
  --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

:root .hover\:via-black:hover{
  --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:via-white:hover{
  --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:via-contrast-black:hover{
  --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

:root .hover\:via-contrast-white:hover{
  --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:via-gray-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
}

:root .hover\:via-gray:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
}

:root .hover\:via-red-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
}

:root .hover\:via-red:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
}

:root .hover\:via-orange-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
}

:root .hover\:via-orange:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
}

:root .hover\:via-deep-orange-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
}

:root .hover\:via-deep-orange:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
}

:root .hover\:via-amber-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
}

:root .hover\:via-amber:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
}

:root .hover\:via-green-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
}

:root .hover\:via-green:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
}

:root .hover\:via-teal-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
}

:root .hover\:via-teal:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
}

:root .hover\:via-cyan-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
}

:root .hover\:via-cyan:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
}

:root .hover\:via-purple-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
}

:root .hover\:via-purple:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
}

:root .hover\:via-deep-purple-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
}

:root .hover\:via-deep-purple:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
}

:root .hover\:via-pink-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
}

:root .hover\:via-pink:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
}

:root .hover\:via-primary-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:via-primary:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:via-accent-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:via-accent:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:via-warn-light:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:via-warn:hover{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .hover\:to-current:hover{
  --tw-gradient-to: currentColor;
}

:root .hover\:to-transparent:hover{
  --tw-gradient-to: transparent;
}

:root .hover\:to-black:hover{
  --tw-gradient-to: var(--text-color);
}

:root .hover\:to-white:hover{
  --tw-gradient-to: var(--text-color-light);
}

:root .hover\:to-contrast-black:hover{
  --tw-gradient-to: black;
}

:root .hover\:to-contrast-white:hover{
  --tw-gradient-to: white;
}

:root .hover\:to-gray-light:hover{
  --tw-gradient-to: rgba(158, 158, 158, 0.1);
}

:root .hover\:to-gray:hover{
  --tw-gradient-to: rgb(158, 158, 158);
}

:root .hover\:to-red-light:hover{
  --tw-gradient-to: rgba(244, 67, 54, 0.1);
}

:root .hover\:to-red:hover{
  --tw-gradient-to: rgb(244, 67, 54);
}

:root .hover\:to-orange-light:hover{
  --tw-gradient-to: rgba(255, 152, 0, 0.1);
}

:root .hover\:to-orange:hover{
  --tw-gradient-to: rgb(255, 152, 0);
}

:root .hover\:to-deep-orange-light:hover{
  --tw-gradient-to: rgba(255, 87, 34, 0.1);
}

:root .hover\:to-deep-orange:hover{
  --tw-gradient-to: rgb(255, 87, 34);
}

:root .hover\:to-amber-light:hover{
  --tw-gradient-to: rgba(255, 193, 7, 0.1);
}

:root .hover\:to-amber:hover{
  --tw-gradient-to: rgb(255, 193, 7);
}

:root .hover\:to-green-light:hover{
  --tw-gradient-to: rgba(76, 175, 80, 0.1);
}

:root .hover\:to-green:hover{
  --tw-gradient-to: rgb(76, 175, 80);
}

:root .hover\:to-teal-light:hover{
  --tw-gradient-to: rgba(0, 150, 136, 0.1);
}

:root .hover\:to-teal:hover{
  --tw-gradient-to: rgb(0, 150, 136);
}

:root .hover\:to-cyan-light:hover{
  --tw-gradient-to: rgba(0, 188, 212, 0.1);
}

:root .hover\:to-cyan:hover{
  --tw-gradient-to: rgb(0, 188, 212);
}

:root .hover\:to-purple-light:hover{
  --tw-gradient-to: rgba(156, 39, 176, 0.1);
}

:root .hover\:to-purple:hover{
  --tw-gradient-to: rgb(156, 39, 176);
}

:root .hover\:to-deep-purple-light:hover{
  --tw-gradient-to: rgba(103, 58, 183, 0.1);
}

:root .hover\:to-deep-purple:hover{
  --tw-gradient-to: rgb(103, 58, 183);
}

:root .hover\:to-pink-light:hover{
  --tw-gradient-to: rgba(233, 30, 99, 0.1);
}

:root .hover\:to-pink:hover{
  --tw-gradient-to: rgb(233, 30, 99);
}

:root .hover\:to-primary-light:hover{
  --tw-gradient-to: rgba(var(--color-primary), .1);
}

:root .hover\:to-primary:hover{
  --tw-gradient-to: rgb(var(--color-primary));
}

:root .hover\:to-accent-light:hover{
  --tw-gradient-to: rgba(var(--color-accent), .1);
}

:root .hover\:to-accent:hover{
  --tw-gradient-to: rgb(var(--color-accent));
}

:root .hover\:to-warn-light:hover{
  --tw-gradient-to: rgba(var(--color-warn), .1);
}

:root .hover\:to-warn:hover{
  --tw-gradient-to: rgb(var(--color-warn));
}

:root .focus\:from-current:focus{
  --tw-gradient-from: currentColor;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:from-transparent:focus{
  --tw-gradient-from: transparent;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

:root .focus\:from-black:focus{
  --tw-gradient-from: var(--text-color);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:from-white:focus{
  --tw-gradient-from: var(--text-color-light);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:from-contrast-black:focus{
  --tw-gradient-from: black;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

:root .focus\:from-contrast-white:focus{
  --tw-gradient-from: white;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:from-gray-light:focus{
  --tw-gradient-from: rgba(158, 158, 158, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
}

:root .focus\:from-gray:focus{
  --tw-gradient-from: rgb(158, 158, 158);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
}

:root .focus\:from-red-light:focus{
  --tw-gradient-from: rgba(244, 67, 54, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
}

:root .focus\:from-red:focus{
  --tw-gradient-from: rgb(244, 67, 54);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
}

:root .focus\:from-orange-light:focus{
  --tw-gradient-from: rgba(255, 152, 0, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
}

:root .focus\:from-orange:focus{
  --tw-gradient-from: rgb(255, 152, 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
}

:root .focus\:from-deep-orange-light:focus{
  --tw-gradient-from: rgba(255, 87, 34, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
}

:root .focus\:from-deep-orange:focus{
  --tw-gradient-from: rgb(255, 87, 34);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
}

:root .focus\:from-amber-light:focus{
  --tw-gradient-from: rgba(255, 193, 7, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
}

:root .focus\:from-amber:focus{
  --tw-gradient-from: rgb(255, 193, 7);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
}

:root .focus\:from-green-light:focus{
  --tw-gradient-from: rgba(76, 175, 80, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
}

:root .focus\:from-green:focus{
  --tw-gradient-from: rgb(76, 175, 80);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
}

:root .focus\:from-teal-light:focus{
  --tw-gradient-from: rgba(0, 150, 136, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
}

:root .focus\:from-teal:focus{
  --tw-gradient-from: rgb(0, 150, 136);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
}

:root .focus\:from-cyan-light:focus{
  --tw-gradient-from: rgba(0, 188, 212, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
}

:root .focus\:from-cyan:focus{
  --tw-gradient-from: rgb(0, 188, 212);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
}

:root .focus\:from-purple-light:focus{
  --tw-gradient-from: rgba(156, 39, 176, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
}

:root .focus\:from-purple:focus{
  --tw-gradient-from: rgb(156, 39, 176);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
}

:root .focus\:from-deep-purple-light:focus{
  --tw-gradient-from: rgba(103, 58, 183, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
}

:root .focus\:from-deep-purple:focus{
  --tw-gradient-from: rgb(103, 58, 183);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
}

:root .focus\:from-pink-light:focus{
  --tw-gradient-from: rgba(233, 30, 99, 0.1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
}

:root .focus\:from-pink:focus{
  --tw-gradient-from: rgb(233, 30, 99);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
}

:root .focus\:from-primary-light:focus{
  --tw-gradient-from: rgba(var(--color-primary), .1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:from-primary:focus{
  --tw-gradient-from: rgb(var(--color-primary));
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:from-accent-light:focus{
  --tw-gradient-from: rgba(var(--color-accent), .1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:from-accent:focus{
  --tw-gradient-from: rgb(var(--color-accent));
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:from-warn-light:focus{
  --tw-gradient-from: rgba(var(--color-warn), .1);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:from-warn:focus{
  --tw-gradient-from: rgb(var(--color-warn));
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:via-current:focus{
  --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:via-transparent:focus{
  --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

:root .focus\:via-black:focus{
  --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:via-white:focus{
  --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:via-contrast-black:focus{
  --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
}

:root .focus\:via-contrast-white:focus{
  --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:via-gray-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
}

:root .focus\:via-gray:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
}

:root .focus\:via-red-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
}

:root .focus\:via-red:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
}

:root .focus\:via-orange-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
}

:root .focus\:via-orange:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
}

:root .focus\:via-deep-orange-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
}

:root .focus\:via-deep-orange:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
}

:root .focus\:via-amber-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
}

:root .focus\:via-amber:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
}

:root .focus\:via-green-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
}

:root .focus\:via-green:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
}

:root .focus\:via-teal-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
}

:root .focus\:via-teal:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
}

:root .focus\:via-cyan-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
}

:root .focus\:via-cyan:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
}

:root .focus\:via-purple-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
}

:root .focus\:via-purple:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
}

:root .focus\:via-deep-purple-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
}

:root .focus\:via-deep-purple:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
}

:root .focus\:via-pink-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
}

:root .focus\:via-pink:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
}

:root .focus\:via-primary-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:via-primary:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:via-accent-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:via-accent:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:via-warn-light:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:via-warn:focus{
  --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
}

:root .focus\:to-current:focus{
  --tw-gradient-to: currentColor;
}

:root .focus\:to-transparent:focus{
  --tw-gradient-to: transparent;
}

:root .focus\:to-black:focus{
  --tw-gradient-to: var(--text-color);
}

:root .focus\:to-white:focus{
  --tw-gradient-to: var(--text-color-light);
}

:root .focus\:to-contrast-black:focus{
  --tw-gradient-to: black;
}

:root .focus\:to-contrast-white:focus{
  --tw-gradient-to: white;
}

:root .focus\:to-gray-light:focus{
  --tw-gradient-to: rgba(158, 158, 158, 0.1);
}

:root .focus\:to-gray:focus{
  --tw-gradient-to: rgb(158, 158, 158);
}

:root .focus\:to-red-light:focus{
  --tw-gradient-to: rgba(244, 67, 54, 0.1);
}

:root .focus\:to-red:focus{
  --tw-gradient-to: rgb(244, 67, 54);
}

:root .focus\:to-orange-light:focus{
  --tw-gradient-to: rgba(255, 152, 0, 0.1);
}

:root .focus\:to-orange:focus{
  --tw-gradient-to: rgb(255, 152, 0);
}

:root .focus\:to-deep-orange-light:focus{
  --tw-gradient-to: rgba(255, 87, 34, 0.1);
}

:root .focus\:to-deep-orange:focus{
  --tw-gradient-to: rgb(255, 87, 34);
}

:root .focus\:to-amber-light:focus{
  --tw-gradient-to: rgba(255, 193, 7, 0.1);
}

:root .focus\:to-amber:focus{
  --tw-gradient-to: rgb(255, 193, 7);
}

:root .focus\:to-green-light:focus{
  --tw-gradient-to: rgba(76, 175, 80, 0.1);
}

:root .focus\:to-green:focus{
  --tw-gradient-to: rgb(76, 175, 80);
}

:root .focus\:to-teal-light:focus{
  --tw-gradient-to: rgba(0, 150, 136, 0.1);
}

:root .focus\:to-teal:focus{
  --tw-gradient-to: rgb(0, 150, 136);
}

:root .focus\:to-cyan-light:focus{
  --tw-gradient-to: rgba(0, 188, 212, 0.1);
}

:root .focus\:to-cyan:focus{
  --tw-gradient-to: rgb(0, 188, 212);
}

:root .focus\:to-purple-light:focus{
  --tw-gradient-to: rgba(156, 39, 176, 0.1);
}

:root .focus\:to-purple:focus{
  --tw-gradient-to: rgb(156, 39, 176);
}

:root .focus\:to-deep-purple-light:focus{
  --tw-gradient-to: rgba(103, 58, 183, 0.1);
}

:root .focus\:to-deep-purple:focus{
  --tw-gradient-to: rgb(103, 58, 183);
}

:root .focus\:to-pink-light:focus{
  --tw-gradient-to: rgba(233, 30, 99, 0.1);
}

:root .focus\:to-pink:focus{
  --tw-gradient-to: rgb(233, 30, 99);
}

:root .focus\:to-primary-light:focus{
  --tw-gradient-to: rgba(var(--color-primary), .1);
}

:root .focus\:to-primary:focus{
  --tw-gradient-to: rgb(var(--color-primary));
}

:root .focus\:to-accent-light:focus{
  --tw-gradient-to: rgba(var(--color-accent), .1);
}

:root .focus\:to-accent:focus{
  --tw-gradient-to: rgb(var(--color-accent));
}

:root .focus\:to-warn-light:focus{
  --tw-gradient-to: rgba(var(--color-warn), .1);
}

:root .focus\:to-warn:focus{
  --tw-gradient-to: rgb(var(--color-warn));
}

:root .bg-opacity-0{
  --tw-bg-opacity: 0;
}

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

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

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

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

:root .group:hover .group-hover\:bg-opacity-0{
  --tw-bg-opacity: 0;
}

:root .group:hover .group-hover\:bg-opacity-25{
  --tw-bg-opacity: 0.25;
}

:root .group:hover .group-hover\:bg-opacity-50{
  --tw-bg-opacity: 0.5;
}

:root .group:hover .group-hover\:bg-opacity-75{
  --tw-bg-opacity: 0.75;
}

:root .group:hover .group-hover\:bg-opacity-100{
  --tw-bg-opacity: 1;
}

:root .focus-within\:bg-opacity-0:focus-within{
  --tw-bg-opacity: 0;
}

:root .focus-within\:bg-opacity-25:focus-within{
  --tw-bg-opacity: 0.25;
}

:root .focus-within\:bg-opacity-50:focus-within{
  --tw-bg-opacity: 0.5;
}

:root .focus-within\:bg-opacity-75:focus-within{
  --tw-bg-opacity: 0.75;
}

:root .focus-within\:bg-opacity-100:focus-within{
  --tw-bg-opacity: 1;
}

:root .hover\:bg-opacity-0:hover{
  --tw-bg-opacity: 0;
}

:root .hover\:bg-opacity-25:hover{
  --tw-bg-opacity: 0.25;
}

:root .hover\:bg-opacity-50:hover{
  --tw-bg-opacity: 0.5;
}

:root .hover\:bg-opacity-75:hover{
  --tw-bg-opacity: 0.75;
}

:root .hover\:bg-opacity-100:hover{
  --tw-bg-opacity: 1;
}

:root .focus\:bg-opacity-0:focus{
  --tw-bg-opacity: 0;
}

:root .focus\:bg-opacity-25:focus{
  --tw-bg-opacity: 0.25;
}

:root .focus\:bg-opacity-50:focus{
  --tw-bg-opacity: 0.5;
}

:root .focus\:bg-opacity-75:focus{
  --tw-bg-opacity: 0.75;
}

:root .focus\:bg-opacity-100:focus{
  --tw-bg-opacity: 1;
}

:root .bg-bottom{
  background-position: bottom;
}

:root .bg-center{
  background-position: center;
}

:root .bg-left{
  background-position: left;
}

:root .bg-left-bottom{
  background-position: left bottom;
}

:root .bg-left-top{
  background-position: left top;
}

:root .bg-right{
  background-position: right;
}

:root .bg-right-bottom{
  background-position: right bottom;
}

:root .bg-right-top{
  background-position: right top;
}

:root .bg-top{
  background-position: top;
}

:root .bg-repeat{
  background-repeat: repeat;
}

:root .bg-no-repeat{
  background-repeat: no-repeat;
}

:root .bg-repeat-x{
  background-repeat: repeat-x;
}

:root .bg-repeat-y{
  background-repeat: repeat-y;
}

:root .bg-repeat-round{
  background-repeat: round;
}

:root .bg-repeat-space{
  background-repeat: space;
}

:root .bg-auto{
  background-size: auto;
}

:root .bg-cover{
  background-size: cover;
}

:root .bg-contain{
  background-size: contain;
}

:root .border-collapse{
  border-collapse: collapse;
}

:root .border-separate{
  border-collapse: separate;
}

:root .border-current{
  border-color: currentColor;
}

:root .border-transparent{
  border-color: transparent;
}

:root .border-black{
  border-color: var(--text-color);
}

:root .border-white{
  border-color: var(--text-color-light);
}

:root .border-contrast-black{
  --tw-border-opacity: 1;
  border-color: rgba(0, 0, 0, var(--tw-border-opacity));
}

:root .border-contrast-white{
  --tw-border-opacity: 1;
  border-color: rgba(255, 255, 255, var(--tw-border-opacity));
}

:root .border-gray-light{
  border-color: rgba(158, 158, 158, 0.1);
}

:root .border-gray{
  --tw-border-opacity: 1;
  border-color: rgba(158, 158, 158, var(--tw-border-opacity));
}

:root .border-red-light{
  border-color: rgba(244, 67, 54, 0.1);
}

:root .border-red{
  --tw-border-opacity: 1;
  border-color: rgba(244, 67, 54, var(--tw-border-opacity));
}

:root .border-orange-light{
  border-color: rgba(255, 152, 0, 0.1);
}

:root .border-orange{
  --tw-border-opacity: 1;
  border-color: rgba(255, 152, 0, var(--tw-border-opacity));
}

:root .border-deep-orange-light{
  border-color: rgba(255, 87, 34, 0.1);
}

:root .border-deep-orange{
  --tw-border-opacity: 1;
  border-color: rgba(255, 87, 34, var(--tw-border-opacity));
}

:root .border-amber-light{
  border-color: rgba(255, 193, 7, 0.1);
}

:root .border-amber{
  --tw-border-opacity: 1;
  border-color: rgba(255, 193, 7, var(--tw-border-opacity));
}

:root .border-green-light{
  border-color: rgba(76, 175, 80, 0.1);
}

:root .border-green{
  --tw-border-opacity: 1;
  border-color: rgba(76, 175, 80, var(--tw-border-opacity));
}

:root .border-teal-light{
  border-color: rgba(0, 150, 136, 0.1);
}

:root .border-teal{
  --tw-border-opacity: 1;
  border-color: rgba(0, 150, 136, var(--tw-border-opacity));
}

:root .border-cyan-light{
  border-color: rgba(0, 188, 212, 0.1);
}

:root .border-cyan{
  --tw-border-opacity: 1;
  border-color: rgba(0, 188, 212, var(--tw-border-opacity));
}

:root .border-purple-light{
  border-color: rgba(156, 39, 176, 0.1);
}

:root .border-purple{
  --tw-border-opacity: 1;
  border-color: rgba(156, 39, 176, var(--tw-border-opacity));
}

:root .border-deep-purple-light{
  border-color: rgba(103, 58, 183, 0.1);
}

:root .border-deep-purple{
  --tw-border-opacity: 1;
  border-color: rgba(103, 58, 183, var(--tw-border-opacity));
}

:root .border-pink-light{
  border-color: rgba(233, 30, 99, 0.1);
}

:root .border-pink{
  --tw-border-opacity: 1;
  border-color: rgba(233, 30, 99, var(--tw-border-opacity));
}

:root .border-primary-light{
  border-color: rgba(var(--color-primary), .1);
}

:root .border-primary{
  border-color: rgb(var(--color-primary));
}

:root .border-accent-light{
  border-color: rgba(var(--color-accent), .1);
}

:root .border-accent{
  border-color: rgb(var(--color-accent));
}

:root .border-warn-light{
  border-color: rgba(var(--color-warn), .1);
}

:root .border-warn{
  border-color: rgb(var(--color-warn));
}

:root .hover\:border-current:hover{
  border-color: currentColor;
}

:root .hover\:border-transparent:hover{
  border-color: transparent;
}

:root .hover\:border-black:hover{
  border-color: var(--text-color);
}

:root .hover\:border-white:hover{
  border-color: var(--text-color-light);
}

:root .hover\:border-contrast-black:hover{
  --tw-border-opacity: 1;
  border-color: rgba(0, 0, 0, var(--tw-border-opacity));
}

:root .hover\:border-contrast-white:hover{
  --tw-border-opacity: 1;
  border-color: rgba(255, 255, 255, var(--tw-border-opacity));
}

:root .hover\:border-gray-light:hover{
  border-color: rgba(158, 158, 158, 0.1);
}

:root .hover\:border-gray:hover{
  --tw-border-opacity: 1;
  border-color: rgba(158, 158, 158, var(--tw-border-opacity));
}

:root .hover\:border-red-light:hover{
  border-color: rgba(244, 67, 54, 0.1);
}

:root .hover\:border-red:hover{
  --tw-border-opacity: 1;
  border-color: rgba(244, 67, 54, var(--tw-border-opacity));
}

:root .hover\:border-orange-light:hover{
  border-color: rgba(255, 152, 0, 0.1);
}

:root .hover\:border-orange:hover{
  --tw-border-opacity: 1;
  border-color: rgba(255, 152, 0, var(--tw-border-opacity));
}

:root .hover\:border-deep-orange-light:hover{
  border-color: rgba(255, 87, 34, 0.1);
}

:root .hover\:border-deep-orange:hover{
  --tw-border-opacity: 1;
  border-color: rgba(255, 87, 34, var(--tw-border-opacity));
}

:root .hover\:border-amber-light:hover{
  border-color: rgba(255, 193, 7, 0.1);
}

:root .hover\:border-amber:hover{
  --tw-border-opacity: 1;
  border-color: rgba(255, 193, 7, var(--tw-border-opacity));
}

:root .hover\:border-green-light:hover{
  border-color: rgba(76, 175, 80, 0.1);
}

:root .hover\:border-green:hover{
  --tw-border-opacity: 1;
  border-color: rgba(76, 175, 80, var(--tw-border-opacity));
}

:root .hover\:border-teal-light:hover{
  border-color: rgba(0, 150, 136, 0.1);
}

:root .hover\:border-teal:hover{
  --tw-border-opacity: 1;
  border-color: rgba(0, 150, 136, var(--tw-border-opacity));
}

:root .hover\:border-cyan-light:hover{
  border-color: rgba(0, 188, 212, 0.1);
}

:root .hover\:border-cyan:hover{
  --tw-border-opacity: 1;
  border-color: rgba(0, 188, 212, var(--tw-border-opacity));
}

:root .hover\:border-purple-light:hover{
  border-color: rgba(156, 39, 176, 0.1);
}

:root .hover\:border-purple:hover{
  --tw-border-opacity: 1;
  border-color: rgba(156, 39, 176, var(--tw-border-opacity));
}

:root .hover\:border-deep-purple-light:hover{
  border-color: rgba(103, 58, 183, 0.1);
}

:root .hover\:border-deep-purple:hover{
  --tw-border-opacity: 1;
  border-color: rgba(103, 58, 183, var(--tw-border-opacity));
}

:root .hover\:border-pink-light:hover{
  border-color: rgba(233, 30, 99, 0.1);
}

:root .hover\:border-pink:hover{
  --tw-border-opacity: 1;
  border-color: rgba(233, 30, 99, var(--tw-border-opacity));
}

:root .hover\:border-primary-light:hover{
  border-color: rgba(var(--color-primary), .1);
}

:root .hover\:border-primary:hover{
  border-color: rgb(var(--color-primary));
}

:root .hover\:border-accent-light:hover{
  border-color: rgba(var(--color-accent), .1);
}

:root .hover\:border-accent:hover{
  border-color: rgb(var(--color-accent));
}

:root .hover\:border-warn-light:hover{
  border-color: rgba(var(--color-warn), .1);
}

:root .hover\:border-warn:hover{
  border-color: rgb(var(--color-warn));
}

:root .focus\:border-current:focus{
  border-color: currentColor;
}

:root .focus\:border-transparent:focus{
  border-color: transparent;
}

:root .focus\:border-black:focus{
  border-color: var(--text-color);
}

:root .focus\:border-white:focus{
  border-color: var(--text-color-light);
}

:root .focus\:border-contrast-black:focus{
  --tw-border-opacity: 1;
  border-color: rgba(0, 0, 0, var(--tw-border-opacity));
}

:root .focus\:border-contrast-white:focus{
  --tw-border-opacity: 1;
  border-color: rgba(255, 255, 255, var(--tw-border-opacity));
}

:root .focus\:border-gray-light:focus{
  border-color: rgba(158, 158, 158, 0.1);
}

:root .focus\:border-gray:focus{
  --tw-border-opacity: 1;
  border-color: rgba(158, 158, 158, var(--tw-border-opacity));
}

:root .focus\:border-red-light:focus{
  border-color: rgba(244, 67, 54, 0.1);
}

:root .focus\:border-red:focus{
  --tw-border-opacity: 1;
  border-color: rgba(244, 67, 54, var(--tw-border-opacity));
}

:root .focus\:border-orange-light:focus{
  border-color: rgba(255, 152, 0, 0.1);
}

:root .focus\:border-orange:focus{
  --tw-border-opacity: 1;
  border-color: rgba(255, 152, 0, var(--tw-border-opacity));
}

:root .focus\:border-deep-orange-light:focus{
  border-color: rgba(255, 87, 34, 0.1);
}

:root .focus\:border-deep-orange:focus{
  --tw-border-opacity: 1;
  border-color: rgba(255, 87, 34, var(--tw-border-opacity));
}

:root .focus\:border-amber-light:focus{
  border-color: rgba(255, 193, 7, 0.1);
}

:root .focus\:border-amber:focus{
  --tw-border-opacity: 1;
  border-color: rgba(255, 193, 7, var(--tw-border-opacity));
}

:root .focus\:border-green-light:focus{
  border-color: rgba(76, 175, 80, 0.1);
}

:root .focus\:border-green:focus{
  --tw-border-opacity: 1;
  border-color: rgba(76, 175, 80, var(--tw-border-opacity));
}

:root .focus\:border-teal-light:focus{
  border-color: rgba(0, 150, 136, 0.1);
}

:root .focus\:border-teal:focus{
  --tw-border-opacity: 1;
  border-color: rgba(0, 150, 136, var(--tw-border-opacity));
}

:root .focus\:border-cyan-light:focus{
  border-color: rgba(0, 188, 212, 0.1);
}

:root .focus\:border-cyan:focus{
  --tw-border-opacity: 1;
  border-color: rgba(0, 188, 212, var(--tw-border-opacity));
}

:root .focus\:border-purple-light:focus{
  border-color: rgba(156, 39, 176, 0.1);
}

:root .focus\:border-purple:focus{
  --tw-border-opacity: 1;
  border-color: rgba(156, 39, 176, var(--tw-border-opacity));
}

:root .focus\:border-deep-purple-light:focus{
  border-color: rgba(103, 58, 183, 0.1);
}

:root .focus\:border-deep-purple:focus{
  --tw-border-opacity: 1;
  border-color: rgba(103, 58, 183, var(--tw-border-opacity));
}

:root .focus\:border-pink-light:focus{
  border-color: rgba(233, 30, 99, 0.1);
}

:root .focus\:border-pink:focus{
  --tw-border-opacity: 1;
  border-color: rgba(233, 30, 99, var(--tw-border-opacity));
}

:root .focus\:border-primary-light:focus{
  border-color: rgba(var(--color-primary), .1);
}

:root .focus\:border-primary:focus{
  border-color: rgb(var(--color-primary));
}

:root .focus\:border-accent-light:focus{
  border-color: rgba(var(--color-accent), .1);
}

:root .focus\:border-accent:focus{
  border-color: rgb(var(--color-accent));
}

:root .focus\:border-warn-light:focus{
  border-color: rgba(var(--color-warn), .1);
}

:root .focus\:border-warn:focus{
  border-color: rgb(var(--color-warn));
}

:root .border-opacity-0{
  --tw-border-opacity: 0;
}

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

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

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

:root .border-opacity-100{
  --tw-border-opacity: 1;
}

:root .group:hover .group-hover\:border-opacity-0{
  --tw-border-opacity: 0;
}

:root .group:hover .group-hover\:border-opacity-25{
  --tw-border-opacity: 0.25;
}

:root .group:hover .group-hover\:border-opacity-50{
  --tw-border-opacity: 0.5;
}

:root .group:hover .group-hover\:border-opacity-75{
  --tw-border-opacity: 0.75;
}

:root .group:hover .group-hover\:border-opacity-100{
  --tw-border-opacity: 1;
}

:root .focus-within\:border-opacity-0:focus-within{
  --tw-border-opacity: 0;
}

:root .focus-within\:border-opacity-25:focus-within{
  --tw-border-opacity: 0.25;
}

:root .focus-within\:border-opacity-50:focus-within{
  --tw-border-opacity: 0.5;
}

:root .focus-within\:border-opacity-75:focus-within{
  --tw-border-opacity: 0.75;
}

:root .focus-within\:border-opacity-100:focus-within{
  --tw-border-opacity: 1;
}

:root .hover\:border-opacity-0:hover{
  --tw-border-opacity: 0;
}

:root .hover\:border-opacity-25:hover{
  --tw-border-opacity: 0.25;
}

:root .hover\:border-opacity-50:hover{
  --tw-border-opacity: 0.5;
}

:root .hover\:border-opacity-75:hover{
  --tw-border-opacity: 0.75;
}

:root .hover\:border-opacity-100:hover{
  --tw-border-opacity: 1;
}

:root .focus\:border-opacity-0:focus{
  --tw-border-opacity: 0;
}

:root .focus\:border-opacity-25:focus{
  --tw-border-opacity: 0.25;
}

:root .focus\:border-opacity-50:focus{
  --tw-border-opacity: 0.5;
}

:root .focus\:border-opacity-75:focus{
  --tw-border-opacity: 0.75;
}

:root .focus\:border-opacity-100:focus{
  --tw-border-opacity: 1;
}

:root .rounded-none{
  border-radius: 0;
}

:root .rounded-sm{
  border-radius: 0.125rem;
}

:root .rounded{
  border-radius: 0.25rem;
}

:root .rounded-lg{
  border-radius: 0.5rem;
}

:root .rounded-full{
  border-radius: 9999px;
}

:root .rounded-t-none{
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

:root .rounded-r-none{
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

:root .rounded-b-none{
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

:root .rounded-l-none{
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

:root .rounded-t-sm{
  border-top-left-radius: 0.125rem;
  border-top-right-radius: 0.125rem;
}

:root .rounded-r-sm{
  border-top-right-radius: 0.125rem;
  border-bottom-right-radius: 0.125rem;
}

:root .rounded-b-sm{
  border-bottom-right-radius: 0.125rem;
  border-bottom-left-radius: 0.125rem;
}

:root .rounded-l-sm{
  border-top-left-radius: 0.125rem;
  border-bottom-left-radius: 0.125rem;
}

:root .rounded-t{
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

:root .rounded-r{
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

:root .rounded-b{
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

:root .rounded-l{
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

:root .rounded-t-lg{
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

:root .rounded-r-lg{
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

:root .rounded-b-lg{
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

:root .rounded-l-lg{
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

:root .rounded-t-full{
  border-top-left-radius: 9999px;
  border-top-right-radius: 9999px;
}

:root .rounded-r-full{
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}

:root .rounded-b-full{
  border-bottom-right-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

:root .rounded-l-full{
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

:root .rounded-tl-none{
  border-top-left-radius: 0;
}

:root .rounded-tr-none{
  border-top-right-radius: 0;
}

:root .rounded-br-none{
  border-bottom-right-radius: 0;
}

:root .rounded-bl-none{
  border-bottom-left-radius: 0;
}

:root .rounded-tl-sm{
  border-top-left-radius: 0.125rem;
}

:root .rounded-tr-sm{
  border-top-right-radius: 0.125rem;
}

:root .rounded-br-sm{
  border-bottom-right-radius: 0.125rem;
}

:root .rounded-bl-sm{
  border-bottom-left-radius: 0.125rem;
}

:root .rounded-tl{
  border-top-left-radius: 0.25rem;
}

:root .rounded-tr{
  border-top-right-radius: 0.25rem;
}

:root .rounded-br{
  border-bottom-right-radius: 0.25rem;
}

:root .rounded-bl{
  border-bottom-left-radius: 0.25rem;
}

:root .rounded-tl-lg{
  border-top-left-radius: 0.5rem;
}

:root .rounded-tr-lg{
  border-top-right-radius: 0.5rem;
}

:root .rounded-br-lg{
  border-bottom-right-radius: 0.5rem;
}

:root .rounded-bl-lg{
  border-bottom-left-radius: 0.5rem;
}

:root .rounded-tl-full{
  border-top-left-radius: 9999px;
}

:root .rounded-tr-full{
  border-top-right-radius: 9999px;
}

:root .rounded-br-full{
  border-bottom-right-radius: 9999px;
}

:root .rounded-bl-full{
  border-bottom-left-radius: 9999px;
}

:root [dir=ltr] .ltr\:rounded-none{
  border-radius: 0;
}

:root [dir=ltr] .ltr\:rounded-sm{
  border-radius: 0.125rem;
}

:root [dir=ltr] .ltr\:rounded{
  border-radius: 0.25rem;
}

:root [dir=ltr] .ltr\:rounded-lg{
  border-radius: 0.5rem;
}

:root [dir=ltr] .ltr\:rounded-full{
  border-radius: 9999px;
}

:root [dir=ltr] .ltr\:rounded-t-none{
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

:root [dir=ltr] .ltr\:rounded-r-none{
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

:root [dir=ltr] .ltr\:rounded-b-none{
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

:root [dir=ltr] .ltr\:rounded-l-none{
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

:root [dir=ltr] .ltr\:rounded-t-sm{
  border-top-left-radius: 0.125rem;
  border-top-right-radius: 0.125rem;
}

:root [dir=ltr] .ltr\:rounded-r-sm{
  border-top-right-radius: 0.125rem;
  border-bottom-right-radius: 0.125rem;
}

:root [dir=ltr] .ltr\:rounded-b-sm{
  border-bottom-right-radius: 0.125rem;
  border-bottom-left-radius: 0.125rem;
}

:root [dir=ltr] .ltr\:rounded-l-sm{
  border-top-left-radius: 0.125rem;
  border-bottom-left-radius: 0.125rem;
}

:root [dir=ltr] .ltr\:rounded-t{
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

:root [dir=ltr] .ltr\:rounded-r{
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

:root [dir=ltr] .ltr\:rounded-b{
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

:root [dir=ltr] .ltr\:rounded-l{
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

:root [dir=ltr] .ltr\:rounded-t-lg{
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

:root [dir=ltr] .ltr\:rounded-r-lg{
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

:root [dir=ltr] .ltr\:rounded-b-lg{
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

:root [dir=ltr] .ltr\:rounded-l-lg{
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

:root [dir=ltr] .ltr\:rounded-t-full{
  border-top-left-radius: 9999px;
  border-top-right-radius: 9999px;
}

:root [dir=ltr] .ltr\:rounded-r-full{
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}

:root [dir=ltr] .ltr\:rounded-b-full{
  border-bottom-right-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

:root [dir=ltr] .ltr\:rounded-l-full{
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

:root [dir=ltr] .ltr\:rounded-tl-none{
  border-top-left-radius: 0;
}

:root [dir=ltr] .ltr\:rounded-tr-none{
  border-top-right-radius: 0;
}

:root [dir=ltr] .ltr\:rounded-br-none{
  border-bottom-right-radius: 0;
}

:root [dir=ltr] .ltr\:rounded-bl-none{
  border-bottom-left-radius: 0;
}

:root [dir=ltr] .ltr\:rounded-tl-sm{
  border-top-left-radius: 0.125rem;
}

:root [dir=ltr] .ltr\:rounded-tr-sm{
  border-top-right-radius: 0.125rem;
}

:root [dir=ltr] .ltr\:rounded-br-sm{
  border-bottom-right-radius: 0.125rem;
}

:root [dir=ltr] .ltr\:rounded-bl-sm{
  border-bottom-left-radius: 0.125rem;
}

:root [dir=ltr] .ltr\:rounded-tl{
  border-top-left-radius: 0.25rem;
}

:root [dir=ltr] .ltr\:rounded-tr{
  border-top-right-radius: 0.25rem;
}

:root [dir=ltr] .ltr\:rounded-br{
  border-bottom-right-radius: 0.25rem;
}

:root [dir=ltr] .ltr\:rounded-bl{
  border-bottom-left-radius: 0.25rem;
}

:root [dir=ltr] .ltr\:rounded-tl-lg{
  border-top-left-radius: 0.5rem;
}

:root [dir=ltr] .ltr\:rounded-tr-lg{
  border-top-right-radius: 0.5rem;
}

:root [dir=ltr] .ltr\:rounded-br-lg{
  border-bottom-right-radius: 0.5rem;
}

:root [dir=ltr] .ltr\:rounded-bl-lg{
  border-bottom-left-radius: 0.5rem;
}

:root [dir=ltr] .ltr\:rounded-tl-full{
  border-top-left-radius: 9999px;
}

:root [dir=ltr] .ltr\:rounded-tr-full{
  border-top-right-radius: 9999px;
}

:root [dir=ltr] .ltr\:rounded-br-full{
  border-bottom-right-radius: 9999px;
}

:root [dir=ltr] .ltr\:rounded-bl-full{
  border-bottom-left-radius: 9999px;
}

:root [dir=rtl] .rtl\:rounded-none{
  border-radius: 0;
}

:root [dir=rtl] .rtl\:rounded-sm{
  border-radius: 0.125rem;
}

:root [dir=rtl] .rtl\:rounded{
  border-radius: 0.25rem;
}

:root [dir=rtl] .rtl\:rounded-lg{
  border-radius: 0.5rem;
}

:root [dir=rtl] .rtl\:rounded-full{
  border-radius: 9999px;
}

:root [dir=rtl] .rtl\:rounded-t-none{
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

:root [dir=rtl] .rtl\:rounded-r-none{
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

:root [dir=rtl] .rtl\:rounded-b-none{
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

:root [dir=rtl] .rtl\:rounded-l-none{
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

:root [dir=rtl] .rtl\:rounded-t-sm{
  border-top-left-radius: 0.125rem;
  border-top-right-radius: 0.125rem;
}

:root [dir=rtl] .rtl\:rounded-r-sm{
  border-top-right-radius: 0.125rem;
  border-bottom-right-radius: 0.125rem;
}

:root [dir=rtl] .rtl\:rounded-b-sm{
  border-bottom-right-radius: 0.125rem;
  border-bottom-left-radius: 0.125rem;
}

:root [dir=rtl] .rtl\:rounded-l-sm{
  border-top-left-radius: 0.125rem;
  border-bottom-left-radius: 0.125rem;
}

:root [dir=rtl] .rtl\:rounded-t{
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

:root [dir=rtl] .rtl\:rounded-r{
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

:root [dir=rtl] .rtl\:rounded-b{
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

:root [dir=rtl] .rtl\:rounded-l{
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

:root [dir=rtl] .rtl\:rounded-t-lg{
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

:root [dir=rtl] .rtl\:rounded-r-lg{
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

:root [dir=rtl] .rtl\:rounded-b-lg{
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

:root [dir=rtl] .rtl\:rounded-l-lg{
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

:root [dir=rtl] .rtl\:rounded-t-full{
  border-top-left-radius: 9999px;
  border-top-right-radius: 9999px;
}

:root [dir=rtl] .rtl\:rounded-r-full{
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}

:root [dir=rtl] .rtl\:rounded-b-full{
  border-bottom-right-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

:root [dir=rtl] .rtl\:rounded-l-full{
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

:root [dir=rtl] .rtl\:rounded-tl-none{
  border-top-left-radius: 0;
}

:root [dir=rtl] .rtl\:rounded-tr-none{
  border-top-right-radius: 0;
}

:root [dir=rtl] .rtl\:rounded-br-none{
  border-bottom-right-radius: 0;
}

:root [dir=rtl] .rtl\:rounded-bl-none{
  border-bottom-left-radius: 0;
}

:root [dir=rtl] .rtl\:rounded-tl-sm{
  border-top-left-radius: 0.125rem;
}

:root [dir=rtl] .rtl\:rounded-tr-sm{
  border-top-right-radius: 0.125rem;
}

:root [dir=rtl] .rtl\:rounded-br-sm{
  border-bottom-right-radius: 0.125rem;
}

:root [dir=rtl] .rtl\:rounded-bl-sm{
  border-bottom-left-radius: 0.125rem;
}

:root [dir=rtl] .rtl\:rounded-tl{
  border-top-left-radius: 0.25rem;
}

:root [dir=rtl] .rtl\:rounded-tr{
  border-top-right-radius: 0.25rem;
}

:root [dir=rtl] .rtl\:rounded-br{
  border-bottom-right-radius: 0.25rem;
}

:root [dir=rtl] .rtl\:rounded-bl{
  border-bottom-left-radius: 0.25rem;
}

:root [dir=rtl] .rtl\:rounded-tl-lg{
  border-top-left-radius: 0.5rem;
}

:root [dir=rtl] .rtl\:rounded-tr-lg{
  border-top-right-radius: 0.5rem;
}

:root [dir=rtl] .rtl\:rounded-br-lg{
  border-bottom-right-radius: 0.5rem;
}

:root [dir=rtl] .rtl\:rounded-bl-lg{
  border-bottom-left-radius: 0.5rem;
}

:root [dir=rtl] .rtl\:rounded-tl-full{
  border-top-left-radius: 9999px;
}

:root [dir=rtl] .rtl\:rounded-tr-full{
  border-top-right-radius: 9999px;
}

:root [dir=rtl] .rtl\:rounded-br-full{
  border-bottom-right-radius: 9999px;
}

:root [dir=rtl] .rtl\:rounded-bl-full{
  border-bottom-left-radius: 9999px;
}

:root .border-solid{
  border-style: solid;
}

:root .border-dashed{
  border-style: dashed;
}

:root .border-dotted{
  border-style: dotted;
}

:root .border-double{
  border-style: double;
}

:root .border-none{
  border-style: none;
}

:root .border-0{
  border-width: 0;
}

:root .border-2{
  border-width: 2px;
}

:root .border-3{
  border-width: 3px;
}

:root .border-4{
  border-width: 4px;
}

:root .border-8{
  border-width: 8px;
}

:root .border{
  border-width: 1px;
}

:root .border-t-0{
  border-top-width: 0;
}

:root .border-r-0{
  border-right-width: 0;
}

:root .border-b-0{
  border-bottom-width: 0;
}

:root .border-l-0{
  border-left-width: 0;
}

:root .border-t-2{
  border-top-width: 2px;
}

:root .border-r-2{
  border-right-width: 2px;
}

:root .border-b-2{
  border-bottom-width: 2px;
}

:root .border-l-2{
  border-left-width: 2px;
}

:root .border-t-3{
  border-top-width: 3px;
}

:root .border-r-3{
  border-right-width: 3px;
}

:root .border-b-3{
  border-bottom-width: 3px;
}

:root .border-l-3{
  border-left-width: 3px;
}

:root .border-t-4{
  border-top-width: 4px;
}

:root .border-r-4{
  border-right-width: 4px;
}

:root .border-b-4{
  border-bottom-width: 4px;
}

:root .border-l-4{
  border-left-width: 4px;
}

:root .border-t-8{
  border-top-width: 8px;
}

:root .border-r-8{
  border-right-width: 8px;
}

:root .border-b-8{
  border-bottom-width: 8px;
}

:root .border-l-8{
  border-left-width: 8px;
}

:root .border-t{
  border-top-width: 1px;
}

:root .border-r{
  border-right-width: 1px;
}

:root .border-b{
  border-bottom-width: 1px;
}

:root .border-l{
  border-left-width: 1px;
}

:root [dir=ltr] .ltr\:border-0{
  border-width: 0;
}

:root [dir=ltr] .ltr\:border-2{
  border-width: 2px;
}

:root [dir=ltr] .ltr\:border-3{
  border-width: 3px;
}

:root [dir=ltr] .ltr\:border-4{
  border-width: 4px;
}

:root [dir=ltr] .ltr\:border-8{
  border-width: 8px;
}

:root [dir=ltr] .ltr\:border{
  border-width: 1px;
}

:root [dir=ltr] .ltr\:border-t-0{
  border-top-width: 0;
}

:root [dir=ltr] .ltr\:border-r-0{
  border-right-width: 0;
}

:root [dir=ltr] .ltr\:border-b-0{
  border-bottom-width: 0;
}

:root [dir=ltr] .ltr\:border-l-0{
  border-left-width: 0;
}

:root [dir=ltr] .ltr\:border-t-2{
  border-top-width: 2px;
}

:root [dir=ltr] .ltr\:border-r-2{
  border-right-width: 2px;
}

:root [dir=ltr] .ltr\:border-b-2{
  border-bottom-width: 2px;
}

:root [dir=ltr] .ltr\:border-l-2{
  border-left-width: 2px;
}

:root [dir=ltr] .ltr\:border-t-3{
  border-top-width: 3px;
}

:root [dir=ltr] .ltr\:border-r-3{
  border-right-width: 3px;
}

:root [dir=ltr] .ltr\:border-b-3{
  border-bottom-width: 3px;
}

:root [dir=ltr] .ltr\:border-l-3{
  border-left-width: 3px;
}

:root [dir=ltr] .ltr\:border-t-4{
  border-top-width: 4px;
}

:root [dir=ltr] .ltr\:border-r-4{
  border-right-width: 4px;
}

:root [dir=ltr] .ltr\:border-b-4{
  border-bottom-width: 4px;
}

:root [dir=ltr] .ltr\:border-l-4{
  border-left-width: 4px;
}

:root [dir=ltr] .ltr\:border-t-8{
  border-top-width: 8px;
}

:root [dir=ltr] .ltr\:border-r-8{
  border-right-width: 8px;
}

:root [dir=ltr] .ltr\:border-b-8{
  border-bottom-width: 8px;
}

:root [dir=ltr] .ltr\:border-l-8{
  border-left-width: 8px;
}

:root [dir=ltr] .ltr\:border-t{
  border-top-width: 1px;
}

:root [dir=ltr] .ltr\:border-r{
  border-right-width: 1px;
}

:root [dir=ltr] .ltr\:border-b{
  border-bottom-width: 1px;
}

:root [dir=ltr] .ltr\:border-l{
  border-left-width: 1px;
}

:root [dir=rtl] .rtl\:border-0{
  border-width: 0;
}

:root [dir=rtl] .rtl\:border-2{
  border-width: 2px;
}

:root [dir=rtl] .rtl\:border-3{
  border-width: 3px;
}

:root [dir=rtl] .rtl\:border-4{
  border-width: 4px;
}

:root [dir=rtl] .rtl\:border-8{
  border-width: 8px;
}

:root [dir=rtl] .rtl\:border{
  border-width: 1px;
}

:root [dir=rtl] .rtl\:border-t-0{
  border-top-width: 0;
}

:root [dir=rtl] .rtl\:border-r-0{
  border-right-width: 0;
}

:root [dir=rtl] .rtl\:border-b-0{
  border-bottom-width: 0;
}

:root [dir=rtl] .rtl\:border-l-0{
  border-left-width: 0;
}

:root [dir=rtl] .rtl\:border-t-2{
  border-top-width: 2px;
}

:root [dir=rtl] .rtl\:border-r-2{
  border-right-width: 2px;
}

:root [dir=rtl] .rtl\:border-b-2{
  border-bottom-width: 2px;
}

:root [dir=rtl] .rtl\:border-l-2{
  border-left-width: 2px;
}

:root [dir=rtl] .rtl\:border-t-3{
  border-top-width: 3px;
}

:root [dir=rtl] .rtl\:border-r-3{
  border-right-width: 3px;
}

:root [dir=rtl] .rtl\:border-b-3{
  border-bottom-width: 3px;
}

:root [dir=rtl] .rtl\:border-l-3{
  border-left-width: 3px;
}

:root [dir=rtl] .rtl\:border-t-4{
  border-top-width: 4px;
}

:root [dir=rtl] .rtl\:border-r-4{
  border-right-width: 4px;
}

:root [dir=rtl] .rtl\:border-b-4{
  border-bottom-width: 4px;
}

:root [dir=rtl] .rtl\:border-l-4{
  border-left-width: 4px;
}

:root [dir=rtl] .rtl\:border-t-8{
  border-top-width: 8px;
}

:root [dir=rtl] .rtl\:border-r-8{
  border-right-width: 8px;
}

:root [dir=rtl] .rtl\:border-b-8{
  border-bottom-width: 8px;
}

:root [dir=rtl] .rtl\:border-l-8{
  border-left-width: 8px;
}

:root [dir=rtl] .rtl\:border-t{
  border-top-width: 1px;
}

:root [dir=rtl] .rtl\:border-r{
  border-right-width: 1px;
}

:root [dir=rtl] .rtl\:border-b{
  border-bottom-width: 1px;
}

:root [dir=rtl] .rtl\:border-l{
  border-left-width: 1px;
}

:root .box-border{
  box-sizing: border-box;
}

:root .box-content{
  box-sizing: content-box;
}

:root .cursor-auto{
  cursor: auto;
}

:root .cursor{
  cursor: default;
}

:root .cursor-pointer{
  cursor: pointer;
}

:root .cursor-wait{
  cursor: wait;
}

:root .cursor-text{
  cursor: text;
}

:root .cursor-move{
  cursor: move;
}

:root .cursor-not-allowed{
  cursor: not-allowed;
}

:root .block{
  display: block;
}

:root .inline-block{
  display: inline-block;
}

:root .inline{
  display: inline;
}

:root .flex{
  display: flex;
}

:root .inline-flex{
  display: inline-flex;
}

:root .table{
  display: table;
}

:root .table-caption{
  display: table-caption;
}

:root .table-cell{
  display: table-cell;
}

:root .table-column{
  display: table-column;
}

:root .table-column-group{
  display: table-column-group;
}

:root .table-footer-group{
  display: table-footer-group;
}

:root .table-header-group{
  display: table-header-group;
}

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

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

:root .flow-root{
  display: flow-root;
}

:root .grid{
  display: grid;
}

:root .inline-grid{
  display: inline-grid;
}

:root .contents{
  display: contents;
}

:root .hidden{
  display: none;
}

:root .flex-row{
  flex-direction: row;
}

:root .flex-row-reverse{
  flex-direction: row-reverse;
}

:root .flex-col{
  flex-direction: column;
}

:root .flex-col-reverse{
  flex-direction: column-reverse;
}

:root .flex-wrap{
  flex-wrap: wrap;
}

:root .flex-wrap-reverse{
  flex-wrap: wrap-reverse;
}

:root .flex-nowrap{
  flex-wrap: nowrap;
}

:root .place-items-auto{
  place-items: auto;
}

:root .place-items-start{
  place-items: start;
}

:root .place-items-end{
  place-items: end;
}

:root .place-items-center{
  place-items: center;
}

:root .place-items-stretch{
  place-items: stretch;
}

:root .place-content-center{
  place-content: center;
}

:root .place-content-start{
  place-content: start;
}

:root .place-content-end{
  place-content: end;
}

:root .place-content-between{
  place-content: space-between;
}

:root .place-content-around{
  place-content: space-around;
}

:root .place-content-evenly{
  place-content: space-evenly;
}

:root .place-content-stretch{
  place-content: stretch;
}

:root .place-self-auto{
  place-self: auto;
}

:root .place-self-start{
  place-self: start;
}

:root .place-self-end{
  place-self: end;
}

:root .place-self-center{
  place-self: center;
}

:root .place-self-stretch{
  place-self: stretch;
}

:root .items-start{
  align-items: flex-start;
}

:root .items-end{
  align-items: flex-end;
}

:root .items-center{
  align-items: center;
}

:root .items-baseline{
  align-items: baseline;
}

:root .items-stretch{
  align-items: stretch;
}

:root .content-center{
  align-content: center;
}

:root .content-start{
  align-content: flex-start;
}

:root .content-end{
  align-content: flex-end;
}

:root .content-between{
  align-content: space-between;
}

:root .content-around{
  align-content: space-around;
}

:root .content-evenly{
  align-content: space-evenly;
}

:root .self-auto{
  align-self: auto;
}

:root .self-start{
  align-self: flex-start;
}

:root .self-end{
  align-self: flex-end;
}

:root .self-center{
  align-self: center;
}

:root .self-stretch{
  align-self: stretch;
}

:root .justify-items-auto{
  justify-items: auto;
}

:root .justify-items-start{
  justify-items: start;
}

:root .justify-items-end{
  justify-items: end;
}

:root .justify-items-center{
  justify-items: center;
}

:root .justify-items-stretch{
  justify-items: stretch;
}

:root .justify-start{
  justify-content: flex-start;
}

:root .justify-end{
  justify-content: flex-end;
}

:root .justify-center{
  justify-content: center;
}

:root .justify-between{
  justify-content: space-between;
}

:root .justify-around{
  justify-content: space-around;
}

:root .justify-evenly{
  justify-content: space-evenly;
}

:root .justify-self-auto{
  justify-self: auto;
}

:root .justify-self-start{
  justify-self: start;
}

:root .justify-self-end{
  justify-self: end;
}

:root .justify-self-center{
  justify-self: center;
}

:root .justify-self-stretch{
  justify-self: stretch;
}

:root .flex-1{
  flex: 1 1 0%;
}

:root .flex-auto{
  flex: 1 1 auto;
}

:root .flex-initial{
  flex: 0 1 auto;
}

:root .flex-none{
  flex: none;
}

:root .flex-grow-0{
  flex-grow: 0;
}

:root .flex-grow{
  flex-grow: 1;
}

:root .flex-shrink-0{
  flex-shrink: 0;
}

:root .flex-shrink{
  flex-shrink: 1;
}

:root .order-1{
  order: 1;
}

:root .order-2{
  order: 2;
}

:root .order-3{
  order: 3;
}

:root .order-4{
  order: 4;
}

:root .order-5{
  order: 5;
}

:root .order-6{
  order: 6;
}

:root .order-7{
  order: 7;
}

:root .order-8{
  order: 8;
}

:root .order-9{
  order: 9;
}

:root .order-10{
  order: 10;
}

:root .order-11{
  order: 11;
}

:root .order-12{
  order: 12;
}

:root .order-first{
  order: -9999;
}

:root .order-last{
  order: 9999;
}

:root .order-none{
  order: 0;
}

:root .float-right{
  float: right;
}

:root .float-left{
  float: left;
}

:root .float-none{
  float: none;
}

:root .clear-left{
  clear: left;
}

:root .clear-right{
  clear: right;
}

:root .clear-both{
  clear: both;
}

:root .clear-none{
  clear: none;
}

:root .font-sans{
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple ColorDef Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto ColorDef Emoji";
}

:root .font-serif{
  font-family: Georgia, Cambria, "Times New Roman", Times, serif;
}

:root .font-mono{
  font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

:root .font-hairline{
  font-weight: 100;
}

:root .font-thin{
  font-weight: 200;
}

:root .font-light{
  font-weight: 300;
}

:root .font-normal{
  font-weight: 400;
}

:root .font-medium{
  font-weight: 500;
}

:root .font-semibold{
  font-weight: 600;
}

:root .font-bold{
  font-weight: 700;
}

:root .font-extrabold{
  font-weight: 800;
}

:root .font-black{
  font-weight: 900;
}

:root .hover\:font-hairline:hover{
  font-weight: 100;
}

:root .hover\:font-thin:hover{
  font-weight: 200;
}

:root .hover\:font-light:hover{
  font-weight: 300;
}

:root .hover\:font-normal:hover{
  font-weight: 400;
}

:root .hover\:font-medium:hover{
  font-weight: 500;
}

:root .hover\:font-semibold:hover{
  font-weight: 600;
}

:root .hover\:font-bold:hover{
  font-weight: 700;
}

:root .hover\:font-extrabold:hover{
  font-weight: 800;
}

:root .hover\:font-black:hover{
  font-weight: 900;
}

:root .focus\:font-hairline:focus{
  font-weight: 100;
}

:root .focus\:font-thin:focus{
  font-weight: 200;
}

:root .focus\:font-light:focus{
  font-weight: 300;
}

:root .focus\:font-normal:focus{
  font-weight: 400;
}

:root .focus\:font-medium:focus{
  font-weight: 500;
}

:root .focus\:font-semibold:focus{
  font-weight: 600;
}

:root .focus\:font-bold:focus{
  font-weight: 700;
}

:root .focus\:font-extrabold:focus{
  font-weight: 800;
}

:root .focus\:font-black:focus{
  font-weight: 900;
}

:root .h-0{
  height: 0;
}

:root .h-1{
  height: 0.25rem;
}

:root .h-2{
  height: 0.5rem;
}

:root .h-3{
  height: 0.75rem;
}

:root .h-4{
  height: 1rem;
}

:root .h-5{
  height: 1.25rem;
}

:root .h-6{
  height: 1.5rem;
}

:root .h-8{
  height: 2rem;
}

:root .h-9{
  height: 2.25rem;
}

:root .h-10{
  height: 2.5rem;
}

:root .h-12{
  height: 3rem;
}

:root .h-14{
  height: 3.5rem;
}

:root .h-16{
  height: 4rem;
}

:root .h-20{
  height: 5rem;
}

:root .h-24{
  height: 6rem;
}

:root .h-32{
  height: 8rem;
}

:root .h-40{
  height: 10rem;
}

:root .h-48{
  height: 12rem;
}

:root .h-56{
  height: 14rem;
}

:root .h-64{
  height: 16rem;
}

:root .h-auto{
  height: auto;
}

:root .h-px{
  height: 1px;
}

:root .h-gutter{
  height: var(--padding-gutter);
}

:root .h-full{
  height: 100%;
}

:root .h-screen{
  height: 100vh;
}

:root .text-xxs{
  font-size: 0.625rem;
}

:root .text-xs{
  font-size: 0.75rem;
}

:root .text-sm{
  font-size: 0.875rem;
}

:root .text-base{
  font-size: 1rem;
}

:root .text-lg{
  font-size: 1.125rem;
}

:root .text-xl{
  font-size: 1.25rem;
}

:root .text-2xl{
  font-size: 1.5rem;
}

:root .text-3xl{
  font-size: 1.875rem;
}

:root .text-4xl{
  font-size: 2.25rem;
}

:root .text-5xl{
  font-size: 3rem;
}

:root .text-6xl{
  font-size: 4rem;
}

:root .leading-none{
  line-height: 1;
}

:root .leading-tight{
  line-height: 1.25;
}

:root .leading-snug{
  line-height: 1.375;
}

:root .leading-normal{
  line-height: 1.5;
}

:root .leading-relaxed{
  line-height: 1.625;
}

:root .leading-loose{
  line-height: 2;
}

:root .list-inside{
  list-style-position: inside;
}

:root .list-outside{
  list-style-position: outside;
}

:root .list-none{
  list-style-type: none;
}

:root .list-disc{
  list-style-type: disc;
}

:root .list-decimal{
  list-style-type: decimal;
}

:root .m-0{
  margin: 0;
}

:root .m-1{
  margin: 0.25rem;
}

:root .m-2{
  margin: 0.5rem;
}

:root .m-3{
  margin: 0.75rem;
}

:root .m-4{
  margin: 1rem;
}

:root .m-5{
  margin: 1.25rem;
}

:root .m-6{
  margin: 1.5rem;
}

:root .m-8{
  margin: 2rem;
}

:root .m-9{
  margin: 2.25rem;
}

:root .m-10{
  margin: 2.5rem;
}

:root .m-12{
  margin: 3rem;
}

:root .m-14{
  margin: 3.5rem;
}

:root .m-16{
  margin: 4rem;
}

:root .m-20{
  margin: 5rem;
}

:root .m-24{
  margin: 6rem;
}

:root .m-32{
  margin: 8rem;
}

:root .m-40{
  margin: 10rem;
}

:root .m-48{
  margin: 12rem;
}

:root .m-56{
  margin: 14rem;
}

:root .m-64{
  margin: 16rem;
}

:root .m-auto{
  margin: auto;
}

:root .m-px{
  margin: 1px;
}

:root .m-gutter{
  margin: var(--padding-gutter);
}

:root .-m-1{
  margin: -0.25rem;
}

:root .-m-2{
  margin: -0.5rem;
}

:root .-m-3{
  margin: -0.75rem;
}

:root .-m-4{
  margin: -1rem;
}

:root .-m-5{
  margin: -1.25rem;
}

:root .-m-6{
  margin: -1.5rem;
}

:root .-m-8{
  margin: -2rem;
}

:root .-m-9{
  margin: -2.25rem;
}

:root .-m-10{
  margin: -2.5rem;
}

:root .-m-12{
  margin: -3rem;
}

:root .-m-14{
  margin: -3.5rem;
}

:root .-m-16{
  margin: -4rem;
}

:root .-m-20{
  margin: -5rem;
}

:root .-m-24{
  margin: -6rem;
}

:root .-m-32{
  margin: -8rem;
}

:root .-m-40{
  margin: -10rem;
}

:root .-m-48{
  margin: -12rem;
}

:root .-m-56{
  margin: -14rem;
}

:root .-m-64{
  margin: -16rem;
}

:root .-m-px{
  margin: -1px;
}

:root .-m-gutter{
  margin: calc(var(--padding-gutter) * -1);
}

:root .my-0{
  margin-top: 0;
  margin-bottom: 0;
}

:root .mx-0{
  margin-left: 0;
  margin-right: 0;
}

:root .my-1{
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

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

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

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

:root .my-3{
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

:root .mx-3{
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}

:root .my-4{
  margin-top: 1rem;
  margin-bottom: 1rem;
}

:root .mx-4{
  margin-left: 1rem;
  margin-right: 1rem;
}

:root .my-5{
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

:root .mx-5{
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}

:root .my-6{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

:root .mx-6{
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

:root .my-8{
  margin-top: 2rem;
  margin-bottom: 2rem;
}

:root .mx-8{
  margin-left: 2rem;
  margin-right: 2rem;
}

:root .my-9{
  margin-top: 2.25rem;
  margin-bottom: 2.25rem;
}

:root .mx-9{
  margin-left: 2.25rem;
  margin-right: 2.25rem;
}

:root .my-10{
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

:root .mx-10{
  margin-left: 2.5rem;
  margin-right: 2.5rem;
}

:root .my-12{
  margin-top: 3rem;
  margin-bottom: 3rem;
}

:root .mx-12{
  margin-left: 3rem;
  margin-right: 3rem;
}

:root .my-14{
  margin-top: 3.5rem;
  margin-bottom: 3.5rem;
}

:root .mx-14{
  margin-left: 3.5rem;
  margin-right: 3.5rem;
}

:root .my-16{
  margin-top: 4rem;
  margin-bottom: 4rem;
}

:root .mx-16{
  margin-left: 4rem;
  margin-right: 4rem;
}

:root .my-20{
  margin-top: 5rem;
  margin-bottom: 5rem;
}

:root .mx-20{
  margin-left: 5rem;
  margin-right: 5rem;
}

:root .my-24{
  margin-top: 6rem;
  margin-bottom: 6rem;
}

:root .mx-24{
  margin-left: 6rem;
  margin-right: 6rem;
}

:root .my-32{
  margin-top: 8rem;
  margin-bottom: 8rem;
}

:root .mx-32{
  margin-left: 8rem;
  margin-right: 8rem;
}

:root .my-40{
  margin-top: 10rem;
  margin-bottom: 10rem;
}

:root .mx-40{
  margin-left: 10rem;
  margin-right: 10rem;
}

:root .my-48{
  margin-top: 12rem;
  margin-bottom: 12rem;
}

:root .mx-48{
  margin-left: 12rem;
  margin-right: 12rem;
}

:root .my-56{
  margin-top: 14rem;
  margin-bottom: 14rem;
}

:root .mx-56{
  margin-left: 14rem;
  margin-right: 14rem;
}

:root .my-64{
  margin-top: 16rem;
  margin-bottom: 16rem;
}

:root .mx-64{
  margin-left: 16rem;
  margin-right: 16rem;
}

:root .my-auto{
  margin-top: auto;
  margin-bottom: auto;
}

:root .mx-auto{
  margin-left: auto;
  margin-right: auto;
}

:root .my-px{
  margin-top: 1px;
  margin-bottom: 1px;
}

:root .mx-px{
  margin-left: 1px;
  margin-right: 1px;
}

:root .my-gutter{
  margin-top: var(--padding-gutter);
  margin-bottom: var(--padding-gutter);
}

:root .mx-gutter{
  margin-left: var(--padding-gutter);
  margin-right: var(--padding-gutter);
}

:root .-my-1{
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
}

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

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

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

:root .-my-3{
  margin-top: -0.75rem;
  margin-bottom: -0.75rem;
}

:root .-mx-3{
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

:root .-my-4{
  margin-top: -1rem;
  margin-bottom: -1rem;
}

:root .-mx-4{
  margin-left: -1rem;
  margin-right: -1rem;
}

:root .-my-5{
  margin-top: -1.25rem;
  margin-bottom: -1.25rem;
}

:root .-mx-5{
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}

:root .-my-6{
  margin-top: -1.5rem;
  margin-bottom: -1.5rem;
}

:root .-mx-6{
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}

:root .-my-8{
  margin-top: -2rem;
  margin-bottom: -2rem;
}

:root .-mx-8{
  margin-left: -2rem;
  margin-right: -2rem;
}

:root .-my-9{
  margin-top: -2.25rem;
  margin-bottom: -2.25rem;
}

:root .-mx-9{
  margin-left: -2.25rem;
  margin-right: -2.25rem;
}

:root .-my-10{
  margin-top: -2.5rem;
  margin-bottom: -2.5rem;
}

:root .-mx-10{
  margin-left: -2.5rem;
  margin-right: -2.5rem;
}

:root .-my-12{
  margin-top: -3rem;
  margin-bottom: -3rem;
}

:root .-mx-12{
  margin-left: -3rem;
  margin-right: -3rem;
}

:root .-my-14{
  margin-top: -3.5rem;
  margin-bottom: -3.5rem;
}

:root .-mx-14{
  margin-left: -3.5rem;
  margin-right: -3.5rem;
}

:root .-my-16{
  margin-top: -4rem;
  margin-bottom: -4rem;
}

:root .-mx-16{
  margin-left: -4rem;
  margin-right: -4rem;
}

:root .-my-20{
  margin-top: -5rem;
  margin-bottom: -5rem;
}

:root .-mx-20{
  margin-left: -5rem;
  margin-right: -5rem;
}

:root .-my-24{
  margin-top: -6rem;
  margin-bottom: -6rem;
}

:root .-mx-24{
  margin-left: -6rem;
  margin-right: -6rem;
}

:root .-my-32{
  margin-top: -8rem;
  margin-bottom: -8rem;
}

:root .-mx-32{
  margin-left: -8rem;
  margin-right: -8rem;
}

:root .-my-40{
  margin-top: -10rem;
  margin-bottom: -10rem;
}

:root .-mx-40{
  margin-left: -10rem;
  margin-right: -10rem;
}

:root .-my-48{
  margin-top: -12rem;
  margin-bottom: -12rem;
}

:root .-mx-48{
  margin-left: -12rem;
  margin-right: -12rem;
}

:root .-my-56{
  margin-top: -14rem;
  margin-bottom: -14rem;
}

:root .-mx-56{
  margin-left: -14rem;
  margin-right: -14rem;
}

:root .-my-64{
  margin-top: -16rem;
  margin-bottom: -16rem;
}

:root .-mx-64{
  margin-left: -16rem;
  margin-right: -16rem;
}

:root .-my-px{
  margin-top: -1px;
  margin-bottom: -1px;
}

:root .-mx-px{
  margin-left: -1px;
  margin-right: -1px;
}

:root .-my-gutter{
  margin-top: calc(var(--padding-gutter) * -1);
  margin-bottom: calc(var(--padding-gutter) * -1);
}

:root .-mx-gutter{
  margin-left: calc(var(--padding-gutter) * -1);
  margin-right: calc(var(--padding-gutter) * -1);
}

:root .mt-0{
  margin-top: 0;
}

:root .mr-0{
  margin-right: 0;
}

:root .mb-0{
  margin-bottom: 0;
}

:root .ml-0{
  margin-left: 0;
}

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

:root .mr-1{
  margin-right: 0.25rem;
}

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

:root .ml-1{
  margin-left: 0.25rem;
}

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

:root .mr-2{
  margin-right: 0.5rem;
}

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

:root .ml-2{
  margin-left: 0.5rem;
}

:root .mt-3{
  margin-top: 0.75rem;
}

:root .mr-3{
  margin-right: 0.75rem;
}

:root .mb-3{
  margin-bottom: 0.75rem;
}

:root .ml-3{
  margin-left: 0.75rem;
}

:root .mt-4{
  margin-top: 1rem;
}

:root .mr-4{
  margin-right: 1rem;
}

:root .mb-4{
  margin-bottom: 1rem;
}

:root .ml-4{
  margin-left: 1rem;
}

:root .mt-5{
  margin-top: 1.25rem;
}

:root .mr-5{
  margin-right: 1.25rem;
}

:root .mb-5{
  margin-bottom: 1.25rem;
}

:root .ml-5{
  margin-left: 1.25rem;
}

:root .mt-6{
  margin-top: 1.5rem;
}

:root .mr-6{
  margin-right: 1.5rem;
}

:root .mb-6{
  margin-bottom: 1.5rem;
}

:root .ml-6{
  margin-left: 1.5rem;
}

:root .mt-8{
  margin-top: 2rem;
}

:root .mr-8{
  margin-right: 2rem;
}

:root .mb-8{
  margin-bottom: 2rem;
}

:root .ml-8{
  margin-left: 2rem;
}

:root .mt-9{
  margin-top: 2.25rem;
}

:root .mr-9{
  margin-right: 2.25rem;
}

:root .mb-9{
  margin-bottom: 2.25rem;
}

:root .ml-9{
  margin-left: 2.25rem;
}

:root .mt-10{
  margin-top: 2.5rem;
}

:root .mr-10{
  margin-right: 2.5rem;
}

:root .mb-10{
  margin-bottom: 2.5rem;
}

:root .ml-10{
  margin-left: 2.5rem;
}

:root .mt-12{
  margin-top: 3rem;
}

:root .mr-12{
  margin-right: 3rem;
}

:root .mb-12{
  margin-bottom: 3rem;
}

:root .ml-12{
  margin-left: 3rem;
}

:root .mt-14{
  margin-top: 3.5rem;
}

:root .mr-14{
  margin-right: 3.5rem;
}

:root .mb-14{
  margin-bottom: 3.5rem;
}

:root .ml-14{
  margin-left: 3.5rem;
}

:root .mt-16{
  margin-top: 4rem;
}

:root .mr-16{
  margin-right: 4rem;
}

:root .mb-16{
  margin-bottom: 4rem;
}

:root .ml-16{
  margin-left: 4rem;
}

:root .mt-20{
  margin-top: 5rem;
}

:root .mr-20{
  margin-right: 5rem;
}

:root .mb-20{
  margin-bottom: 5rem;
}

:root .ml-20{
  margin-left: 5rem;
}

:root .mt-24{
  margin-top: 6rem;
}

:root .mr-24{
  margin-right: 6rem;
}

:root .mb-24{
  margin-bottom: 6rem;
}

:root .ml-24{
  margin-left: 6rem;
}

:root .mt-32{
  margin-top: 8rem;
}

:root .mr-32{
  margin-right: 8rem;
}

:root .mb-32{
  margin-bottom: 8rem;
}

:root .ml-32{
  margin-left: 8rem;
}

:root .mt-40{
  margin-top: 10rem;
}

:root .mr-40{
  margin-right: 10rem;
}

:root .mb-40{
  margin-bottom: 10rem;
}

:root .ml-40{
  margin-left: 10rem;
}

:root .mt-48{
  margin-top: 12rem;
}

:root .mr-48{
  margin-right: 12rem;
}

:root .mb-48{
  margin-bottom: 12rem;
}

:root .ml-48{
  margin-left: 12rem;
}

:root .mt-56{
  margin-top: 14rem;
}

:root .mr-56{
  margin-right: 14rem;
}

:root .mb-56{
  margin-bottom: 14rem;
}

:root .ml-56{
  margin-left: 14rem;
}

:root .mt-64{
  margin-top: 16rem;
}

:root .mr-64{
  margin-right: 16rem;
}

:root .mb-64{
  margin-bottom: 16rem;
}

:root .ml-64{
  margin-left: 16rem;
}

:root .mt-auto{
  margin-top: auto;
}

:root .mr-auto{
  margin-right: auto;
}

:root .mb-auto{
  margin-bottom: auto;
}

:root .ml-auto{
  margin-left: auto;
}

:root .mt-px{
  margin-top: 1px;
}

:root .mr-px{
  margin-right: 1px;
}

:root .mb-px{
  margin-bottom: 1px;
}

:root .ml-px{
  margin-left: 1px;
}

:root .mt-gutter{
  margin-top: var(--padding-gutter);
}

:root .mr-gutter{
  margin-right: var(--padding-gutter);
}

:root .mb-gutter{
  margin-bottom: var(--padding-gutter);
}

:root .ml-gutter{
  margin-left: var(--padding-gutter);
}

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

:root .-mr-1{
  margin-right: -0.25rem;
}

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

:root .-ml-1{
  margin-left: -0.25rem;
}

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

:root .-mr-2{
  margin-right: -0.5rem;
}

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

:root .-ml-2{
  margin-left: -0.5rem;
}

:root .-mt-3{
  margin-top: -0.75rem;
}

:root .-mr-3{
  margin-right: -0.75rem;
}

:root .-mb-3{
  margin-bottom: -0.75rem;
}

:root .-ml-3{
  margin-left: -0.75rem;
}

:root .-mt-4{
  margin-top: -1rem;
}

:root .-mr-4{
  margin-right: -1rem;
}

:root .-mb-4{
  margin-bottom: -1rem;
}

:root .-ml-4{
  margin-left: -1rem;
}

:root .-mt-5{
  margin-top: -1.25rem;
}

:root .-mr-5{
  margin-right: -1.25rem;
}

:root .-mb-5{
  margin-bottom: -1.25rem;
}

:root .-ml-5{
  margin-left: -1.25rem;
}

:root .-mt-6{
  margin-top: -1.5rem;
}

:root .-mr-6{
  margin-right: -1.5rem;
}

:root .-mb-6{
  margin-bottom: -1.5rem;
}

:root .-ml-6{
  margin-left: -1.5rem;
}

:root .-mt-8{
  margin-top: -2rem;
}

:root .-mr-8{
  margin-right: -2rem;
}

:root .-mb-8{
  margin-bottom: -2rem;
}

:root .-ml-8{
  margin-left: -2rem;
}

:root .-mt-9{
  margin-top: -2.25rem;
}

:root .-mr-9{
  margin-right: -2.25rem;
}

:root .-mb-9{
  margin-bottom: -2.25rem;
}

:root .-ml-9{
  margin-left: -2.25rem;
}

:root .-mt-10{
  margin-top: -2.5rem;
}

:root .-mr-10{
  margin-right: -2.5rem;
}

:root .-mb-10{
  margin-bottom: -2.5rem;
}

:root .-ml-10{
  margin-left: -2.5rem;
}

:root .-mt-12{
  margin-top: -3rem;
}

:root .-mr-12{
  margin-right: -3rem;
}

:root .-mb-12{
  margin-bottom: -3rem;
}

:root .-ml-12{
  margin-left: -3rem;
}

:root .-mt-14{
  margin-top: -3.5rem;
}

:root .-mr-14{
  margin-right: -3.5rem;
}

:root .-mb-14{
  margin-bottom: -3.5rem;
}

:root .-ml-14{
  margin-left: -3.5rem;
}

:root .-mt-16{
  margin-top: -4rem;
}

:root .-mr-16{
  margin-right: -4rem;
}

:root .-mb-16{
  margin-bottom: -4rem;
}

:root .-ml-16{
  margin-left: -4rem;
}

:root .-mt-20{
  margin-top: -5rem;
}

:root .-mr-20{
  margin-right: -5rem;
}

:root .-mb-20{
  margin-bottom: -5rem;
}

:root .-ml-20{
  margin-left: -5rem;
}

:root .-mt-24{
  margin-top: -6rem;
}

:root .-mr-24{
  margin-right: -6rem;
}

:root .-mb-24{
  margin-bottom: -6rem;
}

:root .-ml-24{
  margin-left: -6rem;
}

:root .-mt-32{
  margin-top: -8rem;
}

:root .-mr-32{
  margin-right: -8rem;
}

:root .-mb-32{
  margin-bottom: -8rem;
}

:root .-ml-32{
  margin-left: -8rem;
}

:root .-mt-40{
  margin-top: -10rem;
}

:root .-mr-40{
  margin-right: -10rem;
}

:root .-mb-40{
  margin-bottom: -10rem;
}

:root .-ml-40{
  margin-left: -10rem;
}

:root .-mt-48{
  margin-top: -12rem;
}

:root .-mr-48{
  margin-right: -12rem;
}

:root .-mb-48{
  margin-bottom: -12rem;
}

:root .-ml-48{
  margin-left: -12rem;
}

:root .-mt-56{
  margin-top: -14rem;
}

:root .-mr-56{
  margin-right: -14rem;
}

:root .-mb-56{
  margin-bottom: -14rem;
}

:root .-ml-56{
  margin-left: -14rem;
}

:root .-mt-64{
  margin-top: -16rem;
}

:root .-mr-64{
  margin-right: -16rem;
}

:root .-mb-64{
  margin-bottom: -16rem;
}

:root .-ml-64{
  margin-left: -16rem;
}

:root .-mt-px{
  margin-top: -1px;
}

:root .-mr-px{
  margin-right: -1px;
}

:root .-mb-px{
  margin-bottom: -1px;
}

:root .-ml-px{
  margin-left: -1px;
}

:root .-mt-gutter{
  margin-top: calc(var(--padding-gutter) * -1);
}

:root .-mr-gutter{
  margin-right: calc(var(--padding-gutter) * -1);
}

:root .-mb-gutter{
  margin-bottom: calc(var(--padding-gutter) * -1);
}

:root .-ml-gutter{
  margin-left: calc(var(--padding-gutter) * -1);
}

:root [dir=ltr] .ltr\:m-0{
  margin: 0;
}

:root [dir=ltr] .ltr\:m-1{
  margin: 0.25rem;
}

:root [dir=ltr] .ltr\:m-2{
  margin: 0.5rem;
}

:root [dir=ltr] .ltr\:m-3{
  margin: 0.75rem;
}

:root [dir=ltr] .ltr\:m-4{
  margin: 1rem;
}

:root [dir=ltr] .ltr\:m-5{
  margin: 1.25rem;
}

:root [dir=ltr] .ltr\:m-6{
  margin: 1.5rem;
}

:root [dir=ltr] .ltr\:m-8{
  margin: 2rem;
}

:root [dir=ltr] .ltr\:m-9{
  margin: 2.25rem;
}

:root [dir=ltr] .ltr\:m-10{
  margin: 2.5rem;
}

:root [dir=ltr] .ltr\:m-12{
  margin: 3rem;
}

:root [dir=ltr] .ltr\:m-14{
  margin: 3.5rem;
}

:root [dir=ltr] .ltr\:m-16{
  margin: 4rem;
}

:root [dir=ltr] .ltr\:m-20{
  margin: 5rem;
}

:root [dir=ltr] .ltr\:m-24{
  margin: 6rem;
}

:root [dir=ltr] .ltr\:m-32{
  margin: 8rem;
}

:root [dir=ltr] .ltr\:m-40{
  margin: 10rem;
}

:root [dir=ltr] .ltr\:m-48{
  margin: 12rem;
}

:root [dir=ltr] .ltr\:m-56{
  margin: 14rem;
}

:root [dir=ltr] .ltr\:m-64{
  margin: 16rem;
}

:root [dir=ltr] .ltr\:m-auto{
  margin: auto;
}

:root [dir=ltr] .ltr\:m-px{
  margin: 1px;
}

:root [dir=ltr] .ltr\:m-gutter{
  margin: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:-m-1{
  margin: -0.25rem;
}

:root [dir=ltr] .ltr\:-m-2{
  margin: -0.5rem;
}

:root [dir=ltr] .ltr\:-m-3{
  margin: -0.75rem;
}

:root [dir=ltr] .ltr\:-m-4{
  margin: -1rem;
}

:root [dir=ltr] .ltr\:-m-5{
  margin: -1.25rem;
}

:root [dir=ltr] .ltr\:-m-6{
  margin: -1.5rem;
}

:root [dir=ltr] .ltr\:-m-8{
  margin: -2rem;
}

:root [dir=ltr] .ltr\:-m-9{
  margin: -2.25rem;
}

:root [dir=ltr] .ltr\:-m-10{
  margin: -2.5rem;
}

:root [dir=ltr] .ltr\:-m-12{
  margin: -3rem;
}

:root [dir=ltr] .ltr\:-m-14{
  margin: -3.5rem;
}

:root [dir=ltr] .ltr\:-m-16{
  margin: -4rem;
}

:root [dir=ltr] .ltr\:-m-20{
  margin: -5rem;
}

:root [dir=ltr] .ltr\:-m-24{
  margin: -6rem;
}

:root [dir=ltr] .ltr\:-m-32{
  margin: -8rem;
}

:root [dir=ltr] .ltr\:-m-40{
  margin: -10rem;
}

:root [dir=ltr] .ltr\:-m-48{
  margin: -12rem;
}

:root [dir=ltr] .ltr\:-m-56{
  margin: -14rem;
}

:root [dir=ltr] .ltr\:-m-64{
  margin: -16rem;
}

:root [dir=ltr] .ltr\:-m-px{
  margin: -1px;
}

:root [dir=ltr] .ltr\:-m-gutter{
  margin: calc(var(--padding-gutter) * -1);
}

:root [dir=ltr] .ltr\:my-0{
  margin-top: 0;
  margin-bottom: 0;
}

:root [dir=ltr] .ltr\:mx-0{
  margin-left: 0;
  margin-right: 0;
}

:root [dir=ltr] .ltr\:my-1{
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

:root [dir=ltr] .ltr\:mx-1{
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

:root [dir=ltr] .ltr\:my-2{
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

:root [dir=ltr] .ltr\:mx-2{
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

:root [dir=ltr] .ltr\:my-3{
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

:root [dir=ltr] .ltr\:mx-3{
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}

:root [dir=ltr] .ltr\:my-4{
  margin-top: 1rem;
  margin-bottom: 1rem;
}

:root [dir=ltr] .ltr\:mx-4{
  margin-left: 1rem;
  margin-right: 1rem;
}

:root [dir=ltr] .ltr\:my-5{
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

:root [dir=ltr] .ltr\:mx-5{
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}

:root [dir=ltr] .ltr\:my-6{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

:root [dir=ltr] .ltr\:mx-6{
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

:root [dir=ltr] .ltr\:my-8{
  margin-top: 2rem;
  margin-bottom: 2rem;
}

:root [dir=ltr] .ltr\:mx-8{
  margin-left: 2rem;
  margin-right: 2rem;
}

:root [dir=ltr] .ltr\:my-9{
  margin-top: 2.25rem;
  margin-bottom: 2.25rem;
}

:root [dir=ltr] .ltr\:mx-9{
  margin-left: 2.25rem;
  margin-right: 2.25rem;
}

:root [dir=ltr] .ltr\:my-10{
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

:root [dir=ltr] .ltr\:mx-10{
  margin-left: 2.5rem;
  margin-right: 2.5rem;
}

:root [dir=ltr] .ltr\:my-12{
  margin-top: 3rem;
  margin-bottom: 3rem;
}

:root [dir=ltr] .ltr\:mx-12{
  margin-left: 3rem;
  margin-right: 3rem;
}

:root [dir=ltr] .ltr\:my-14{
  margin-top: 3.5rem;
  margin-bottom: 3.5rem;
}

:root [dir=ltr] .ltr\:mx-14{
  margin-left: 3.5rem;
  margin-right: 3.5rem;
}

:root [dir=ltr] .ltr\:my-16{
  margin-top: 4rem;
  margin-bottom: 4rem;
}

:root [dir=ltr] .ltr\:mx-16{
  margin-left: 4rem;
  margin-right: 4rem;
}

:root [dir=ltr] .ltr\:my-20{
  margin-top: 5rem;
  margin-bottom: 5rem;
}

:root [dir=ltr] .ltr\:mx-20{
  margin-left: 5rem;
  margin-right: 5rem;
}

:root [dir=ltr] .ltr\:my-24{
  margin-top: 6rem;
  margin-bottom: 6rem;
}

:root [dir=ltr] .ltr\:mx-24{
  margin-left: 6rem;
  margin-right: 6rem;
}

:root [dir=ltr] .ltr\:my-32{
  margin-top: 8rem;
  margin-bottom: 8rem;
}

:root [dir=ltr] .ltr\:mx-32{
  margin-left: 8rem;
  margin-right: 8rem;
}

:root [dir=ltr] .ltr\:my-40{
  margin-top: 10rem;
  margin-bottom: 10rem;
}

:root [dir=ltr] .ltr\:mx-40{
  margin-left: 10rem;
  margin-right: 10rem;
}

:root [dir=ltr] .ltr\:my-48{
  margin-top: 12rem;
  margin-bottom: 12rem;
}

:root [dir=ltr] .ltr\:mx-48{
  margin-left: 12rem;
  margin-right: 12rem;
}

:root [dir=ltr] .ltr\:my-56{
  margin-top: 14rem;
  margin-bottom: 14rem;
}

:root [dir=ltr] .ltr\:mx-56{
  margin-left: 14rem;
  margin-right: 14rem;
}

:root [dir=ltr] .ltr\:my-64{
  margin-top: 16rem;
  margin-bottom: 16rem;
}

:root [dir=ltr] .ltr\:mx-64{
  margin-left: 16rem;
  margin-right: 16rem;
}

:root [dir=ltr] .ltr\:my-auto{
  margin-top: auto;
  margin-bottom: auto;
}

:root [dir=ltr] .ltr\:mx-auto{
  margin-left: auto;
  margin-right: auto;
}

:root [dir=ltr] .ltr\:my-px{
  margin-top: 1px;
  margin-bottom: 1px;
}

:root [dir=ltr] .ltr\:mx-px{
  margin-left: 1px;
  margin-right: 1px;
}

:root [dir=ltr] .ltr\:my-gutter{
  margin-top: var(--padding-gutter);
  margin-bottom: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:mx-gutter{
  margin-left: var(--padding-gutter);
  margin-right: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:-my-1{
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
}

:root [dir=ltr] .ltr\:-mx-1{
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

:root [dir=ltr] .ltr\:-my-2{
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}

:root [dir=ltr] .ltr\:-mx-2{
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

:root [dir=ltr] .ltr\:-my-3{
  margin-top: -0.75rem;
  margin-bottom: -0.75rem;
}

:root [dir=ltr] .ltr\:-mx-3{
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

:root [dir=ltr] .ltr\:-my-4{
  margin-top: -1rem;
  margin-bottom: -1rem;
}

:root [dir=ltr] .ltr\:-mx-4{
  margin-left: -1rem;
  margin-right: -1rem;
}

:root [dir=ltr] .ltr\:-my-5{
  margin-top: -1.25rem;
  margin-bottom: -1.25rem;
}

:root [dir=ltr] .ltr\:-mx-5{
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}

:root [dir=ltr] .ltr\:-my-6{
  margin-top: -1.5rem;
  margin-bottom: -1.5rem;
}

:root [dir=ltr] .ltr\:-mx-6{
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}

:root [dir=ltr] .ltr\:-my-8{
  margin-top: -2rem;
  margin-bottom: -2rem;
}

:root [dir=ltr] .ltr\:-mx-8{
  margin-left: -2rem;
  margin-right: -2rem;
}

:root [dir=ltr] .ltr\:-my-9{
  margin-top: -2.25rem;
  margin-bottom: -2.25rem;
}

:root [dir=ltr] .ltr\:-mx-9{
  margin-left: -2.25rem;
  margin-right: -2.25rem;
}

:root [dir=ltr] .ltr\:-my-10{
  margin-top: -2.5rem;
  margin-bottom: -2.5rem;
}

:root [dir=ltr] .ltr\:-mx-10{
  margin-left: -2.5rem;
  margin-right: -2.5rem;
}

:root [dir=ltr] .ltr\:-my-12{
  margin-top: -3rem;
  margin-bottom: -3rem;
}

:root [dir=ltr] .ltr\:-mx-12{
  margin-left: -3rem;
  margin-right: -3rem;
}

:root [dir=ltr] .ltr\:-my-14{
  margin-top: -3.5rem;
  margin-bottom: -3.5rem;
}

:root [dir=ltr] .ltr\:-mx-14{
  margin-left: -3.5rem;
  margin-right: -3.5rem;
}

:root [dir=ltr] .ltr\:-my-16{
  margin-top: -4rem;
  margin-bottom: -4rem;
}

:root [dir=ltr] .ltr\:-mx-16{
  margin-left: -4rem;
  margin-right: -4rem;
}

:root [dir=ltr] .ltr\:-my-20{
  margin-top: -5rem;
  margin-bottom: -5rem;
}

:root [dir=ltr] .ltr\:-mx-20{
  margin-left: -5rem;
  margin-right: -5rem;
}

:root [dir=ltr] .ltr\:-my-24{
  margin-top: -6rem;
  margin-bottom: -6rem;
}

:root [dir=ltr] .ltr\:-mx-24{
  margin-left: -6rem;
  margin-right: -6rem;
}

:root [dir=ltr] .ltr\:-my-32{
  margin-top: -8rem;
  margin-bottom: -8rem;
}

:root [dir=ltr] .ltr\:-mx-32{
  margin-left: -8rem;
  margin-right: -8rem;
}

:root [dir=ltr] .ltr\:-my-40{
  margin-top: -10rem;
  margin-bottom: -10rem;
}

:root [dir=ltr] .ltr\:-mx-40{
  margin-left: -10rem;
  margin-right: -10rem;
}

:root [dir=ltr] .ltr\:-my-48{
  margin-top: -12rem;
  margin-bottom: -12rem;
}

:root [dir=ltr] .ltr\:-mx-48{
  margin-left: -12rem;
  margin-right: -12rem;
}

:root [dir=ltr] .ltr\:-my-56{
  margin-top: -14rem;
  margin-bottom: -14rem;
}

:root [dir=ltr] .ltr\:-mx-56{
  margin-left: -14rem;
  margin-right: -14rem;
}

:root [dir=ltr] .ltr\:-my-64{
  margin-top: -16rem;
  margin-bottom: -16rem;
}

:root [dir=ltr] .ltr\:-mx-64{
  margin-left: -16rem;
  margin-right: -16rem;
}

:root [dir=ltr] .ltr\:-my-px{
  margin-top: -1px;
  margin-bottom: -1px;
}

:root [dir=ltr] .ltr\:-mx-px{
  margin-left: -1px;
  margin-right: -1px;
}

:root [dir=ltr] .ltr\:-my-gutter{
  margin-top: calc(var(--padding-gutter) * -1);
  margin-bottom: calc(var(--padding-gutter) * -1);
}

:root [dir=ltr] .ltr\:-mx-gutter{
  margin-left: calc(var(--padding-gutter) * -1);
  margin-right: calc(var(--padding-gutter) * -1);
}

:root [dir=ltr] .ltr\:mt-0{
  margin-top: 0;
}

:root [dir=ltr] .ltr\:mr-0{
  margin-right: 0;
}

:root [dir=ltr] .ltr\:mb-0{
  margin-bottom: 0;
}

:root [dir=ltr] .ltr\:ml-0{
  margin-left: 0;
}

:root [dir=ltr] .ltr\:mt-1{
  margin-top: 0.25rem;
}

:root [dir=ltr] .ltr\:mr-1{
  margin-right: 0.25rem;
}

:root [dir=ltr] .ltr\:mb-1{
  margin-bottom: 0.25rem;
}

:root [dir=ltr] .ltr\:ml-1{
  margin-left: 0.25rem;
}

:root [dir=ltr] .ltr\:mt-2{
  margin-top: 0.5rem;
}

:root [dir=ltr] .ltr\:mr-2{
  margin-right: 0.5rem;
}

:root [dir=ltr] .ltr\:mb-2{
  margin-bottom: 0.5rem;
}

:root [dir=ltr] .ltr\:ml-2{
  margin-left: 0.5rem;
}

:root [dir=ltr] .ltr\:mt-3{
  margin-top: 0.75rem;
}

:root [dir=ltr] .ltr\:mr-3{
  margin-right: 0.75rem;
}

:root [dir=ltr] .ltr\:mb-3{
  margin-bottom: 0.75rem;
}

:root [dir=ltr] .ltr\:ml-3{
  margin-left: 0.75rem;
}

:root [dir=ltr] .ltr\:mt-4{
  margin-top: 1rem;
}

:root [dir=ltr] .ltr\:mr-4{
  margin-right: 1rem;
}

:root [dir=ltr] .ltr\:mb-4{
  margin-bottom: 1rem;
}

:root [dir=ltr] .ltr\:ml-4{
  margin-left: 1rem;
}

:root [dir=ltr] .ltr\:mt-5{
  margin-top: 1.25rem;
}

:root [dir=ltr] .ltr\:mr-5{
  margin-right: 1.25rem;
}

:root [dir=ltr] .ltr\:mb-5{
  margin-bottom: 1.25rem;
}

:root [dir=ltr] .ltr\:ml-5{
  margin-left: 1.25rem;
}

:root [dir=ltr] .ltr\:mt-6{
  margin-top: 1.5rem;
}

:root [dir=ltr] .ltr\:mr-6{
  margin-right: 1.5rem;
}

:root [dir=ltr] .ltr\:mb-6{
  margin-bottom: 1.5rem;
}

:root [dir=ltr] .ltr\:ml-6{
  margin-left: 1.5rem;
}

:root [dir=ltr] .ltr\:mt-8{
  margin-top: 2rem;
}

:root [dir=ltr] .ltr\:mr-8{
  margin-right: 2rem;
}

:root [dir=ltr] .ltr\:mb-8{
  margin-bottom: 2rem;
}

:root [dir=ltr] .ltr\:ml-8{
  margin-left: 2rem;
}

:root [dir=ltr] .ltr\:mt-9{
  margin-top: 2.25rem;
}

:root [dir=ltr] .ltr\:mr-9{
  margin-right: 2.25rem;
}

:root [dir=ltr] .ltr\:mb-9{
  margin-bottom: 2.25rem;
}

:root [dir=ltr] .ltr\:ml-9{
  margin-left: 2.25rem;
}

:root [dir=ltr] .ltr\:mt-10{
  margin-top: 2.5rem;
}

:root [dir=ltr] .ltr\:mr-10{
  margin-right: 2.5rem;
}

:root [dir=ltr] .ltr\:mb-10{
  margin-bottom: 2.5rem;
}

:root [dir=ltr] .ltr\:ml-10{
  margin-left: 2.5rem;
}

:root [dir=ltr] .ltr\:mt-12{
  margin-top: 3rem;
}

:root [dir=ltr] .ltr\:mr-12{
  margin-right: 3rem;
}

:root [dir=ltr] .ltr\:mb-12{
  margin-bottom: 3rem;
}

:root [dir=ltr] .ltr\:ml-12{
  margin-left: 3rem;
}

:root [dir=ltr] .ltr\:mt-14{
  margin-top: 3.5rem;
}

:root [dir=ltr] .ltr\:mr-14{
  margin-right: 3.5rem;
}

:root [dir=ltr] .ltr\:mb-14{
  margin-bottom: 3.5rem;
}

:root [dir=ltr] .ltr\:ml-14{
  margin-left: 3.5rem;
}

:root [dir=ltr] .ltr\:mt-16{
  margin-top: 4rem;
}

:root [dir=ltr] .ltr\:mr-16{
  margin-right: 4rem;
}

:root [dir=ltr] .ltr\:mb-16{
  margin-bottom: 4rem;
}

:root [dir=ltr] .ltr\:ml-16{
  margin-left: 4rem;
}

:root [dir=ltr] .ltr\:mt-20{
  margin-top: 5rem;
}

:root [dir=ltr] .ltr\:mr-20{
  margin-right: 5rem;
}

:root [dir=ltr] .ltr\:mb-20{
  margin-bottom: 5rem;
}

:root [dir=ltr] .ltr\:ml-20{
  margin-left: 5rem;
}

:root [dir=ltr] .ltr\:mt-24{
  margin-top: 6rem;
}

:root [dir=ltr] .ltr\:mr-24{
  margin-right: 6rem;
}

:root [dir=ltr] .ltr\:mb-24{
  margin-bottom: 6rem;
}

:root [dir=ltr] .ltr\:ml-24{
  margin-left: 6rem;
}

:root [dir=ltr] .ltr\:mt-32{
  margin-top: 8rem;
}

:root [dir=ltr] .ltr\:mr-32{
  margin-right: 8rem;
}

:root [dir=ltr] .ltr\:mb-32{
  margin-bottom: 8rem;
}

:root [dir=ltr] .ltr\:ml-32{
  margin-left: 8rem;
}

:root [dir=ltr] .ltr\:mt-40{
  margin-top: 10rem;
}

:root [dir=ltr] .ltr\:mr-40{
  margin-right: 10rem;
}

:root [dir=ltr] .ltr\:mb-40{
  margin-bottom: 10rem;
}

:root [dir=ltr] .ltr\:ml-40{
  margin-left: 10rem;
}

:root [dir=ltr] .ltr\:mt-48{
  margin-top: 12rem;
}

:root [dir=ltr] .ltr\:mr-48{
  margin-right: 12rem;
}

:root [dir=ltr] .ltr\:mb-48{
  margin-bottom: 12rem;
}

:root [dir=ltr] .ltr\:ml-48{
  margin-left: 12rem;
}

:root [dir=ltr] .ltr\:mt-56{
  margin-top: 14rem;
}

:root [dir=ltr] .ltr\:mr-56{
  margin-right: 14rem;
}

:root [dir=ltr] .ltr\:mb-56{
  margin-bottom: 14rem;
}

:root [dir=ltr] .ltr\:ml-56{
  margin-left: 14rem;
}

:root [dir=ltr] .ltr\:mt-64{
  margin-top: 16rem;
}

:root [dir=ltr] .ltr\:mr-64{
  margin-right: 16rem;
}

:root [dir=ltr] .ltr\:mb-64{
  margin-bottom: 16rem;
}

:root [dir=ltr] .ltr\:ml-64{
  margin-left: 16rem;
}

:root [dir=ltr] .ltr\:mt-auto{
  margin-top: auto;
}

:root [dir=ltr] .ltr\:mr-auto{
  margin-right: auto;
}

:root [dir=ltr] .ltr\:mb-auto{
  margin-bottom: auto;
}

:root [dir=ltr] .ltr\:ml-auto{
  margin-left: auto;
}

:root [dir=ltr] .ltr\:mt-px{
  margin-top: 1px;
}

:root [dir=ltr] .ltr\:mr-px{
  margin-right: 1px;
}

:root [dir=ltr] .ltr\:mb-px{
  margin-bottom: 1px;
}

:root [dir=ltr] .ltr\:ml-px{
  margin-left: 1px;
}

:root [dir=ltr] .ltr\:mt-gutter{
  margin-top: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:mr-gutter{
  margin-right: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:mb-gutter{
  margin-bottom: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:ml-gutter{
  margin-left: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:-mt-1{
  margin-top: -0.25rem;
}

:root [dir=ltr] .ltr\:-mr-1{
  margin-right: -0.25rem;
}

:root [dir=ltr] .ltr\:-mb-1{
  margin-bottom: -0.25rem;
}

:root [dir=ltr] .ltr\:-ml-1{
  margin-left: -0.25rem;
}

:root [dir=ltr] .ltr\:-mt-2{
  margin-top: -0.5rem;
}

:root [dir=ltr] .ltr\:-mr-2{
  margin-right: -0.5rem;
}

:root [dir=ltr] .ltr\:-mb-2{
  margin-bottom: -0.5rem;
}

:root [dir=ltr] .ltr\:-ml-2{
  margin-left: -0.5rem;
}

:root [dir=ltr] .ltr\:-mt-3{
  margin-top: -0.75rem;
}

:root [dir=ltr] .ltr\:-mr-3{
  margin-right: -0.75rem;
}

:root [dir=ltr] .ltr\:-mb-3{
  margin-bottom: -0.75rem;
}

:root [dir=ltr] .ltr\:-ml-3{
  margin-left: -0.75rem;
}

:root [dir=ltr] .ltr\:-mt-4{
  margin-top: -1rem;
}

:root [dir=ltr] .ltr\:-mr-4{
  margin-right: -1rem;
}

:root [dir=ltr] .ltr\:-mb-4{
  margin-bottom: -1rem;
}

:root [dir=ltr] .ltr\:-ml-4{
  margin-left: -1rem;
}

:root [dir=ltr] .ltr\:-mt-5{
  margin-top: -1.25rem;
}

:root [dir=ltr] .ltr\:-mr-5{
  margin-right: -1.25rem;
}

:root [dir=ltr] .ltr\:-mb-5{
  margin-bottom: -1.25rem;
}

:root [dir=ltr] .ltr\:-ml-5{
  margin-left: -1.25rem;
}

:root [dir=ltr] .ltr\:-mt-6{
  margin-top: -1.5rem;
}

:root [dir=ltr] .ltr\:-mr-6{
  margin-right: -1.5rem;
}

:root [dir=ltr] .ltr\:-mb-6{
  margin-bottom: -1.5rem;
}

:root [dir=ltr] .ltr\:-ml-6{
  margin-left: -1.5rem;
}

:root [dir=ltr] .ltr\:-mt-8{
  margin-top: -2rem;
}

:root [dir=ltr] .ltr\:-mr-8{
  margin-right: -2rem;
}

:root [dir=ltr] .ltr\:-mb-8{
  margin-bottom: -2rem;
}

:root [dir=ltr] .ltr\:-ml-8{
  margin-left: -2rem;
}

:root [dir=ltr] .ltr\:-mt-9{
  margin-top: -2.25rem;
}

:root [dir=ltr] .ltr\:-mr-9{
  margin-right: -2.25rem;
}

:root [dir=ltr] .ltr\:-mb-9{
  margin-bottom: -2.25rem;
}

:root [dir=ltr] .ltr\:-ml-9{
  margin-left: -2.25rem;
}

:root [dir=ltr] .ltr\:-mt-10{
  margin-top: -2.5rem;
}

:root [dir=ltr] .ltr\:-mr-10{
  margin-right: -2.5rem;
}

:root [dir=ltr] .ltr\:-mb-10{
  margin-bottom: -2.5rem;
}

:root [dir=ltr] .ltr\:-ml-10{
  margin-left: -2.5rem;
}

:root [dir=ltr] .ltr\:-mt-12{
  margin-top: -3rem;
}

:root [dir=ltr] .ltr\:-mr-12{
  margin-right: -3rem;
}

:root [dir=ltr] .ltr\:-mb-12{
  margin-bottom: -3rem;
}

:root [dir=ltr] .ltr\:-ml-12{
  margin-left: -3rem;
}

:root [dir=ltr] .ltr\:-mt-14{
  margin-top: -3.5rem;
}

:root [dir=ltr] .ltr\:-mr-14{
  margin-right: -3.5rem;
}

:root [dir=ltr] .ltr\:-mb-14{
  margin-bottom: -3.5rem;
}

:root [dir=ltr] .ltr\:-ml-14{
  margin-left: -3.5rem;
}

:root [dir=ltr] .ltr\:-mt-16{
  margin-top: -4rem;
}

:root [dir=ltr] .ltr\:-mr-16{
  margin-right: -4rem;
}

:root [dir=ltr] .ltr\:-mb-16{
  margin-bottom: -4rem;
}

:root [dir=ltr] .ltr\:-ml-16{
  margin-left: -4rem;
}

:root [dir=ltr] .ltr\:-mt-20{
  margin-top: -5rem;
}

:root [dir=ltr] .ltr\:-mr-20{
  margin-right: -5rem;
}

:root [dir=ltr] .ltr\:-mb-20{
  margin-bottom: -5rem;
}

:root [dir=ltr] .ltr\:-ml-20{
  margin-left: -5rem;
}

:root [dir=ltr] .ltr\:-mt-24{
  margin-top: -6rem;
}

:root [dir=ltr] .ltr\:-mr-24{
  margin-right: -6rem;
}

:root [dir=ltr] .ltr\:-mb-24{
  margin-bottom: -6rem;
}

:root [dir=ltr] .ltr\:-ml-24{
  margin-left: -6rem;
}

:root [dir=ltr] .ltr\:-mt-32{
  margin-top: -8rem;
}

:root [dir=ltr] .ltr\:-mr-32{
  margin-right: -8rem;
}

:root [dir=ltr] .ltr\:-mb-32{
  margin-bottom: -8rem;
}

:root [dir=ltr] .ltr\:-ml-32{
  margin-left: -8rem;
}

:root [dir=ltr] .ltr\:-mt-40{
  margin-top: -10rem;
}

:root [dir=ltr] .ltr\:-mr-40{
  margin-right: -10rem;
}

:root [dir=ltr] .ltr\:-mb-40{
  margin-bottom: -10rem;
}

:root [dir=ltr] .ltr\:-ml-40{
  margin-left: -10rem;
}

:root [dir=ltr] .ltr\:-mt-48{
  margin-top: -12rem;
}

:root [dir=ltr] .ltr\:-mr-48{
  margin-right: -12rem;
}

:root [dir=ltr] .ltr\:-mb-48{
  margin-bottom: -12rem;
}

:root [dir=ltr] .ltr\:-ml-48{
  margin-left: -12rem;
}

:root [dir=ltr] .ltr\:-mt-56{
  margin-top: -14rem;
}

:root [dir=ltr] .ltr\:-mr-56{
  margin-right: -14rem;
}

:root [dir=ltr] .ltr\:-mb-56{
  margin-bottom: -14rem;
}

:root [dir=ltr] .ltr\:-ml-56{
  margin-left: -14rem;
}

:root [dir=ltr] .ltr\:-mt-64{
  margin-top: -16rem;
}

:root [dir=ltr] .ltr\:-mr-64{
  margin-right: -16rem;
}

:root [dir=ltr] .ltr\:-mb-64{
  margin-bottom: -16rem;
}

:root [dir=ltr] .ltr\:-ml-64{
  margin-left: -16rem;
}

:root [dir=ltr] .ltr\:-mt-px{
  margin-top: -1px;
}

:root [dir=ltr] .ltr\:-mr-px{
  margin-right: -1px;
}

:root [dir=ltr] .ltr\:-mb-px{
  margin-bottom: -1px;
}

:root [dir=ltr] .ltr\:-ml-px{
  margin-left: -1px;
}

:root [dir=ltr] .ltr\:-mt-gutter{
  margin-top: calc(var(--padding-gutter) * -1);
}

:root [dir=ltr] .ltr\:-mr-gutter{
  margin-right: calc(var(--padding-gutter) * -1);
}

:root [dir=ltr] .ltr\:-mb-gutter{
  margin-bottom: calc(var(--padding-gutter) * -1);
}

:root [dir=ltr] .ltr\:-ml-gutter{
  margin-left: calc(var(--padding-gutter) * -1);
}

:root [dir=rtl] .rtl\:m-0{
  margin: 0;
}

:root [dir=rtl] .rtl\:m-1{
  margin: 0.25rem;
}

:root [dir=rtl] .rtl\:m-2{
  margin: 0.5rem;
}

:root [dir=rtl] .rtl\:m-3{
  margin: 0.75rem;
}

:root [dir=rtl] .rtl\:m-4{
  margin: 1rem;
}

:root [dir=rtl] .rtl\:m-5{
  margin: 1.25rem;
}

:root [dir=rtl] .rtl\:m-6{
  margin: 1.5rem;
}

:root [dir=rtl] .rtl\:m-8{
  margin: 2rem;
}

:root [dir=rtl] .rtl\:m-9{
  margin: 2.25rem;
}

:root [dir=rtl] .rtl\:m-10{
  margin: 2.5rem;
}

:root [dir=rtl] .rtl\:m-12{
  margin: 3rem;
}

:root [dir=rtl] .rtl\:m-14{
  margin: 3.5rem;
}

:root [dir=rtl] .rtl\:m-16{
  margin: 4rem;
}

:root [dir=rtl] .rtl\:m-20{
  margin: 5rem;
}

:root [dir=rtl] .rtl\:m-24{
  margin: 6rem;
}

:root [dir=rtl] .rtl\:m-32{
  margin: 8rem;
}

:root [dir=rtl] .rtl\:m-40{
  margin: 10rem;
}

:root [dir=rtl] .rtl\:m-48{
  margin: 12rem;
}

:root [dir=rtl] .rtl\:m-56{
  margin: 14rem;
}

:root [dir=rtl] .rtl\:m-64{
  margin: 16rem;
}

:root [dir=rtl] .rtl\:m-auto{
  margin: auto;
}

:root [dir=rtl] .rtl\:m-px{
  margin: 1px;
}

:root [dir=rtl] .rtl\:m-gutter{
  margin: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:-m-1{
  margin: -0.25rem;
}

:root [dir=rtl] .rtl\:-m-2{
  margin: -0.5rem;
}

:root [dir=rtl] .rtl\:-m-3{
  margin: -0.75rem;
}

:root [dir=rtl] .rtl\:-m-4{
  margin: -1rem;
}

:root [dir=rtl] .rtl\:-m-5{
  margin: -1.25rem;
}

:root [dir=rtl] .rtl\:-m-6{
  margin: -1.5rem;
}

:root [dir=rtl] .rtl\:-m-8{
  margin: -2rem;
}

:root [dir=rtl] .rtl\:-m-9{
  margin: -2.25rem;
}

:root [dir=rtl] .rtl\:-m-10{
  margin: -2.5rem;
}

:root [dir=rtl] .rtl\:-m-12{
  margin: -3rem;
}

:root [dir=rtl] .rtl\:-m-14{
  margin: -3.5rem;
}

:root [dir=rtl] .rtl\:-m-16{
  margin: -4rem;
}

:root [dir=rtl] .rtl\:-m-20{
  margin: -5rem;
}

:root [dir=rtl] .rtl\:-m-24{
  margin: -6rem;
}

:root [dir=rtl] .rtl\:-m-32{
  margin: -8rem;
}

:root [dir=rtl] .rtl\:-m-40{
  margin: -10rem;
}

:root [dir=rtl] .rtl\:-m-48{
  margin: -12rem;
}

:root [dir=rtl] .rtl\:-m-56{
  margin: -14rem;
}

:root [dir=rtl] .rtl\:-m-64{
  margin: -16rem;
}

:root [dir=rtl] .rtl\:-m-px{
  margin: -1px;
}

:root [dir=rtl] .rtl\:-m-gutter{
  margin: calc(var(--padding-gutter) * -1);
}

:root [dir=rtl] .rtl\:my-0{
  margin-top: 0;
  margin-bottom: 0;
}

:root [dir=rtl] .rtl\:mx-0{
  margin-left: 0;
  margin-right: 0;
}

:root [dir=rtl] .rtl\:my-1{
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

:root [dir=rtl] .rtl\:mx-1{
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

:root [dir=rtl] .rtl\:my-2{
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

:root [dir=rtl] .rtl\:mx-2{
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

:root [dir=rtl] .rtl\:my-3{
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

:root [dir=rtl] .rtl\:mx-3{
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}

:root [dir=rtl] .rtl\:my-4{
  margin-top: 1rem;
  margin-bottom: 1rem;
}

:root [dir=rtl] .rtl\:mx-4{
  margin-left: 1rem;
  margin-right: 1rem;
}

:root [dir=rtl] .rtl\:my-5{
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

:root [dir=rtl] .rtl\:mx-5{
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}

:root [dir=rtl] .rtl\:my-6{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

:root [dir=rtl] .rtl\:mx-6{
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

:root [dir=rtl] .rtl\:my-8{
  margin-top: 2rem;
  margin-bottom: 2rem;
}

:root [dir=rtl] .rtl\:mx-8{
  margin-left: 2rem;
  margin-right: 2rem;
}

:root [dir=rtl] .rtl\:my-9{
  margin-top: 2.25rem;
  margin-bottom: 2.25rem;
}

:root [dir=rtl] .rtl\:mx-9{
  margin-left: 2.25rem;
  margin-right: 2.25rem;
}

:root [dir=rtl] .rtl\:my-10{
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

:root [dir=rtl] .rtl\:mx-10{
  margin-left: 2.5rem;
  margin-right: 2.5rem;
}

:root [dir=rtl] .rtl\:my-12{
  margin-top: 3rem;
  margin-bottom: 3rem;
}

:root [dir=rtl] .rtl\:mx-12{
  margin-left: 3rem;
  margin-right: 3rem;
}

:root [dir=rtl] .rtl\:my-14{
  margin-top: 3.5rem;
  margin-bottom: 3.5rem;
}

:root [dir=rtl] .rtl\:mx-14{
  margin-left: 3.5rem;
  margin-right: 3.5rem;
}

:root [dir=rtl] .rtl\:my-16{
  margin-top: 4rem;
  margin-bottom: 4rem;
}

:root [dir=rtl] .rtl\:mx-16{
  margin-left: 4rem;
  margin-right: 4rem;
}

:root [dir=rtl] .rtl\:my-20{
  margin-top: 5rem;
  margin-bottom: 5rem;
}

:root [dir=rtl] .rtl\:mx-20{
  margin-left: 5rem;
  margin-right: 5rem;
}

:root [dir=rtl] .rtl\:my-24{
  margin-top: 6rem;
  margin-bottom: 6rem;
}

:root [dir=rtl] .rtl\:mx-24{
  margin-left: 6rem;
  margin-right: 6rem;
}

:root [dir=rtl] .rtl\:my-32{
  margin-top: 8rem;
  margin-bottom: 8rem;
}

:root [dir=rtl] .rtl\:mx-32{
  margin-left: 8rem;
  margin-right: 8rem;
}

:root [dir=rtl] .rtl\:my-40{
  margin-top: 10rem;
  margin-bottom: 10rem;
}

:root [dir=rtl] .rtl\:mx-40{
  margin-left: 10rem;
  margin-right: 10rem;
}

:root [dir=rtl] .rtl\:my-48{
  margin-top: 12rem;
  margin-bottom: 12rem;
}

:root [dir=rtl] .rtl\:mx-48{
  margin-left: 12rem;
  margin-right: 12rem;
}

:root [dir=rtl] .rtl\:my-56{
  margin-top: 14rem;
  margin-bottom: 14rem;
}

:root [dir=rtl] .rtl\:mx-56{
  margin-left: 14rem;
  margin-right: 14rem;
}

:root [dir=rtl] .rtl\:my-64{
  margin-top: 16rem;
  margin-bottom: 16rem;
}

:root [dir=rtl] .rtl\:mx-64{
  margin-left: 16rem;
  margin-right: 16rem;
}

:root [dir=rtl] .rtl\:my-auto{
  margin-top: auto;
  margin-bottom: auto;
}

:root [dir=rtl] .rtl\:mx-auto{
  margin-left: auto;
  margin-right: auto;
}

:root [dir=rtl] .rtl\:my-px{
  margin-top: 1px;
  margin-bottom: 1px;
}

:root [dir=rtl] .rtl\:mx-px{
  margin-left: 1px;
  margin-right: 1px;
}

:root [dir=rtl] .rtl\:my-gutter{
  margin-top: var(--padding-gutter);
  margin-bottom: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:mx-gutter{
  margin-left: var(--padding-gutter);
  margin-right: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:-my-1{
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
}

:root [dir=rtl] .rtl\:-mx-1{
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

:root [dir=rtl] .rtl\:-my-2{
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}

:root [dir=rtl] .rtl\:-mx-2{
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

:root [dir=rtl] .rtl\:-my-3{
  margin-top: -0.75rem;
  margin-bottom: -0.75rem;
}

:root [dir=rtl] .rtl\:-mx-3{
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

:root [dir=rtl] .rtl\:-my-4{
  margin-top: -1rem;
  margin-bottom: -1rem;
}

:root [dir=rtl] .rtl\:-mx-4{
  margin-left: -1rem;
  margin-right: -1rem;
}

:root [dir=rtl] .rtl\:-my-5{
  margin-top: -1.25rem;
  margin-bottom: -1.25rem;
}

:root [dir=rtl] .rtl\:-mx-5{
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}

:root [dir=rtl] .rtl\:-my-6{
  margin-top: -1.5rem;
  margin-bottom: -1.5rem;
}

:root [dir=rtl] .rtl\:-mx-6{
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}

:root [dir=rtl] .rtl\:-my-8{
  margin-top: -2rem;
  margin-bottom: -2rem;
}

:root [dir=rtl] .rtl\:-mx-8{
  margin-left: -2rem;
  margin-right: -2rem;
}

:root [dir=rtl] .rtl\:-my-9{
  margin-top: -2.25rem;
  margin-bottom: -2.25rem;
}

:root [dir=rtl] .rtl\:-mx-9{
  margin-left: -2.25rem;
  margin-right: -2.25rem;
}

:root [dir=rtl] .rtl\:-my-10{
  margin-top: -2.5rem;
  margin-bottom: -2.5rem;
}

:root [dir=rtl] .rtl\:-mx-10{
  margin-left: -2.5rem;
  margin-right: -2.5rem;
}

:root [dir=rtl] .rtl\:-my-12{
  margin-top: -3rem;
  margin-bottom: -3rem;
}

:root [dir=rtl] .rtl\:-mx-12{
  margin-left: -3rem;
  margin-right: -3rem;
}

:root [dir=rtl] .rtl\:-my-14{
  margin-top: -3.5rem;
  margin-bottom: -3.5rem;
}

:root [dir=rtl] .rtl\:-mx-14{
  margin-left: -3.5rem;
  margin-right: -3.5rem;
}

:root [dir=rtl] .rtl\:-my-16{
  margin-top: -4rem;
  margin-bottom: -4rem;
}

:root [dir=rtl] .rtl\:-mx-16{
  margin-left: -4rem;
  margin-right: -4rem;
}

:root [dir=rtl] .rtl\:-my-20{
  margin-top: -5rem;
  margin-bottom: -5rem;
}

:root [dir=rtl] .rtl\:-mx-20{
  margin-left: -5rem;
  margin-right: -5rem;
}

:root [dir=rtl] .rtl\:-my-24{
  margin-top: -6rem;
  margin-bottom: -6rem;
}

:root [dir=rtl] .rtl\:-mx-24{
  margin-left: -6rem;
  margin-right: -6rem;
}

:root [dir=rtl] .rtl\:-my-32{
  margin-top: -8rem;
  margin-bottom: -8rem;
}

:root [dir=rtl] .rtl\:-mx-32{
  margin-left: -8rem;
  margin-right: -8rem;
}

:root [dir=rtl] .rtl\:-my-40{
  margin-top: -10rem;
  margin-bottom: -10rem;
}

:root [dir=rtl] .rtl\:-mx-40{
  margin-left: -10rem;
  margin-right: -10rem;
}

:root [dir=rtl] .rtl\:-my-48{
  margin-top: -12rem;
  margin-bottom: -12rem;
}

:root [dir=rtl] .rtl\:-mx-48{
  margin-left: -12rem;
  margin-right: -12rem;
}

:root [dir=rtl] .rtl\:-my-56{
  margin-top: -14rem;
  margin-bottom: -14rem;
}

:root [dir=rtl] .rtl\:-mx-56{
  margin-left: -14rem;
  margin-right: -14rem;
}

:root [dir=rtl] .rtl\:-my-64{
  margin-top: -16rem;
  margin-bottom: -16rem;
}

:root [dir=rtl] .rtl\:-mx-64{
  margin-left: -16rem;
  margin-right: -16rem;
}

:root [dir=rtl] .rtl\:-my-px{
  margin-top: -1px;
  margin-bottom: -1px;
}

:root [dir=rtl] .rtl\:-mx-px{
  margin-left: -1px;
  margin-right: -1px;
}

:root [dir=rtl] .rtl\:-my-gutter{
  margin-top: calc(var(--padding-gutter) * -1);
  margin-bottom: calc(var(--padding-gutter) * -1);
}

:root [dir=rtl] .rtl\:-mx-gutter{
  margin-left: calc(var(--padding-gutter) * -1);
  margin-right: calc(var(--padding-gutter) * -1);
}

:root [dir=rtl] .rtl\:mt-0{
  margin-top: 0;
}

:root [dir=rtl] .rtl\:mr-0{
  margin-right: 0;
}

:root [dir=rtl] .rtl\:mb-0{
  margin-bottom: 0;
}

:root [dir=rtl] .rtl\:ml-0{
  margin-left: 0;
}

:root [dir=rtl] .rtl\:mt-1{
  margin-top: 0.25rem;
}

:root [dir=rtl] .rtl\:mr-1{
  margin-right: 0.25rem;
}

:root [dir=rtl] .rtl\:mb-1{
  margin-bottom: 0.25rem;
}

:root [dir=rtl] .rtl\:ml-1{
  margin-left: 0.25rem;
}

:root [dir=rtl] .rtl\:mt-2{
  margin-top: 0.5rem;
}

:root [dir=rtl] .rtl\:mr-2{
  margin-right: 0.5rem;
}

:root [dir=rtl] .rtl\:mb-2{
  margin-bottom: 0.5rem;
}

:root [dir=rtl] .rtl\:ml-2{
  margin-left: 0.5rem;
}

:root [dir=rtl] .rtl\:mt-3{
  margin-top: 0.75rem;
}

:root [dir=rtl] .rtl\:mr-3{
  margin-right: 0.75rem;
}

:root [dir=rtl] .rtl\:mb-3{
  margin-bottom: 0.75rem;
}

:root [dir=rtl] .rtl\:ml-3{
  margin-left: 0.75rem;
}

:root [dir=rtl] .rtl\:mt-4{
  margin-top: 1rem;
}

:root [dir=rtl] .rtl\:mr-4{
  margin-right: 1rem;
}

:root [dir=rtl] .rtl\:mb-4{
  margin-bottom: 1rem;
}

:root [dir=rtl] .rtl\:ml-4{
  margin-left: 1rem;
}

:root [dir=rtl] .rtl\:mt-5{
  margin-top: 1.25rem;
}

:root [dir=rtl] .rtl\:mr-5{
  margin-right: 1.25rem;
}

:root [dir=rtl] .rtl\:mb-5{
  margin-bottom: 1.25rem;
}

:root [dir=rtl] .rtl\:ml-5{
  margin-left: 1.25rem;
}

:root [dir=rtl] .rtl\:mt-6{
  margin-top: 1.5rem;
}

:root [dir=rtl] .rtl\:mr-6{
  margin-right: 1.5rem;
}

:root [dir=rtl] .rtl\:mb-6{
  margin-bottom: 1.5rem;
}

:root [dir=rtl] .rtl\:ml-6{
  margin-left: 1.5rem;
}

:root [dir=rtl] .rtl\:mt-8{
  margin-top: 2rem;
}

:root [dir=rtl] .rtl\:mr-8{
  margin-right: 2rem;
}

:root [dir=rtl] .rtl\:mb-8{
  margin-bottom: 2rem;
}

:root [dir=rtl] .rtl\:ml-8{
  margin-left: 2rem;
}

:root [dir=rtl] .rtl\:mt-9{
  margin-top: 2.25rem;
}

:root [dir=rtl] .rtl\:mr-9{
  margin-right: 2.25rem;
}

:root [dir=rtl] .rtl\:mb-9{
  margin-bottom: 2.25rem;
}

:root [dir=rtl] .rtl\:ml-9{
  margin-left: 2.25rem;
}

:root [dir=rtl] .rtl\:mt-10{
  margin-top: 2.5rem;
}

:root [dir=rtl] .rtl\:mr-10{
  margin-right: 2.5rem;
}

:root [dir=rtl] .rtl\:mb-10{
  margin-bottom: 2.5rem;
}

:root [dir=rtl] .rtl\:ml-10{
  margin-left: 2.5rem;
}

:root [dir=rtl] .rtl\:mt-12{
  margin-top: 3rem;
}

:root [dir=rtl] .rtl\:mr-12{
  margin-right: 3rem;
}

:root [dir=rtl] .rtl\:mb-12{
  margin-bottom: 3rem;
}

:root [dir=rtl] .rtl\:ml-12{
  margin-left: 3rem;
}

:root [dir=rtl] .rtl\:mt-14{
  margin-top: 3.5rem;
}

:root [dir=rtl] .rtl\:mr-14{
  margin-right: 3.5rem;
}

:root [dir=rtl] .rtl\:mb-14{
  margin-bottom: 3.5rem;
}

:root [dir=rtl] .rtl\:ml-14{
  margin-left: 3.5rem;
}

:root [dir=rtl] .rtl\:mt-16{
  margin-top: 4rem;
}

:root [dir=rtl] .rtl\:mr-16{
  margin-right: 4rem;
}

:root [dir=rtl] .rtl\:mb-16{
  margin-bottom: 4rem;
}

:root [dir=rtl] .rtl\:ml-16{
  margin-left: 4rem;
}

:root [dir=rtl] .rtl\:mt-20{
  margin-top: 5rem;
}

:root [dir=rtl] .rtl\:mr-20{
  margin-right: 5rem;
}

:root [dir=rtl] .rtl\:mb-20{
  margin-bottom: 5rem;
}

:root [dir=rtl] .rtl\:ml-20{
  margin-left: 5rem;
}

:root [dir=rtl] .rtl\:mt-24{
  margin-top: 6rem;
}

:root [dir=rtl] .rtl\:mr-24{
  margin-right: 6rem;
}

:root [dir=rtl] .rtl\:mb-24{
  margin-bottom: 6rem;
}

:root [dir=rtl] .rtl\:ml-24{
  margin-left: 6rem;
}

:root [dir=rtl] .rtl\:mt-32{
  margin-top: 8rem;
}

:root [dir=rtl] .rtl\:mr-32{
  margin-right: 8rem;
}

:root [dir=rtl] .rtl\:mb-32{
  margin-bottom: 8rem;
}

:root [dir=rtl] .rtl\:ml-32{
  margin-left: 8rem;
}

:root [dir=rtl] .rtl\:mt-40{
  margin-top: 10rem;
}

:root [dir=rtl] .rtl\:mr-40{
  margin-right: 10rem;
}

:root [dir=rtl] .rtl\:mb-40{
  margin-bottom: 10rem;
}

:root [dir=rtl] .rtl\:ml-40{
  margin-left: 10rem;
}

:root [dir=rtl] .rtl\:mt-48{
  margin-top: 12rem;
}

:root [dir=rtl] .rtl\:mr-48{
  margin-right: 12rem;
}

:root [dir=rtl] .rtl\:mb-48{
  margin-bottom: 12rem;
}

:root [dir=rtl] .rtl\:ml-48{
  margin-left: 12rem;
}

:root [dir=rtl] .rtl\:mt-56{
  margin-top: 14rem;
}

:root [dir=rtl] .rtl\:mr-56{
  margin-right: 14rem;
}

:root [dir=rtl] .rtl\:mb-56{
  margin-bottom: 14rem;
}

:root [dir=rtl] .rtl\:ml-56{
  margin-left: 14rem;
}

:root [dir=rtl] .rtl\:mt-64{
  margin-top: 16rem;
}

:root [dir=rtl] .rtl\:mr-64{
  margin-right: 16rem;
}

:root [dir=rtl] .rtl\:mb-64{
  margin-bottom: 16rem;
}

:root [dir=rtl] .rtl\:ml-64{
  margin-left: 16rem;
}

:root [dir=rtl] .rtl\:mt-auto{
  margin-top: auto;
}

:root [dir=rtl] .rtl\:mr-auto{
  margin-right: auto;
}

:root [dir=rtl] .rtl\:mb-auto{
  margin-bottom: auto;
}

:root [dir=rtl] .rtl\:ml-auto{
  margin-left: auto;
}

:root [dir=rtl] .rtl\:mt-px{
  margin-top: 1px;
}

:root [dir=rtl] .rtl\:mr-px{
  margin-right: 1px;
}

:root [dir=rtl] .rtl\:mb-px{
  margin-bottom: 1px;
}

:root [dir=rtl] .rtl\:ml-px{
  margin-left: 1px;
}

:root [dir=rtl] .rtl\:mt-gutter{
  margin-top: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:mr-gutter{
  margin-right: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:mb-gutter{
  margin-bottom: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:ml-gutter{
  margin-left: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:-mt-1{
  margin-top: -0.25rem;
}

:root [dir=rtl] .rtl\:-mr-1{
  margin-right: -0.25rem;
}

:root [dir=rtl] .rtl\:-mb-1{
  margin-bottom: -0.25rem;
}

:root [dir=rtl] .rtl\:-ml-1{
  margin-left: -0.25rem;
}

:root [dir=rtl] .rtl\:-mt-2{
  margin-top: -0.5rem;
}

:root [dir=rtl] .rtl\:-mr-2{
  margin-right: -0.5rem;
}

:root [dir=rtl] .rtl\:-mb-2{
  margin-bottom: -0.5rem;
}

:root [dir=rtl] .rtl\:-ml-2{
  margin-left: -0.5rem;
}

:root [dir=rtl] .rtl\:-mt-3{
  margin-top: -0.75rem;
}

:root [dir=rtl] .rtl\:-mr-3{
  margin-right: -0.75rem;
}

:root [dir=rtl] .rtl\:-mb-3{
  margin-bottom: -0.75rem;
}

:root [dir=rtl] .rtl\:-ml-3{
  margin-left: -0.75rem;
}

:root [dir=rtl] .rtl\:-mt-4{
  margin-top: -1rem;
}

:root [dir=rtl] .rtl\:-mr-4{
  margin-right: -1rem;
}

:root [dir=rtl] .rtl\:-mb-4{
  margin-bottom: -1rem;
}

:root [dir=rtl] .rtl\:-ml-4{
  margin-left: -1rem;
}

:root [dir=rtl] .rtl\:-mt-5{
  margin-top: -1.25rem;
}

:root [dir=rtl] .rtl\:-mr-5{
  margin-right: -1.25rem;
}

:root [dir=rtl] .rtl\:-mb-5{
  margin-bottom: -1.25rem;
}

:root [dir=rtl] .rtl\:-ml-5{
  margin-left: -1.25rem;
}

:root [dir=rtl] .rtl\:-mt-6{
  margin-top: -1.5rem;
}

:root [dir=rtl] .rtl\:-mr-6{
  margin-right: -1.5rem;
}

:root [dir=rtl] .rtl\:-mb-6{
  margin-bottom: -1.5rem;
}

:root [dir=rtl] .rtl\:-ml-6{
  margin-left: -1.5rem;
}

:root [dir=rtl] .rtl\:-mt-8{
  margin-top: -2rem;
}

:root [dir=rtl] .rtl\:-mr-8{
  margin-right: -2rem;
}

:root [dir=rtl] .rtl\:-mb-8{
  margin-bottom: -2rem;
}

:root [dir=rtl] .rtl\:-ml-8{
  margin-left: -2rem;
}

:root [dir=rtl] .rtl\:-mt-9{
  margin-top: -2.25rem;
}

:root [dir=rtl] .rtl\:-mr-9{
  margin-right: -2.25rem;
}

:root [dir=rtl] .rtl\:-mb-9{
  margin-bottom: -2.25rem;
}

:root [dir=rtl] .rtl\:-ml-9{
  margin-left: -2.25rem;
}

:root [dir=rtl] .rtl\:-mt-10{
  margin-top: -2.5rem;
}

:root [dir=rtl] .rtl\:-mr-10{
  margin-right: -2.5rem;
}

:root [dir=rtl] .rtl\:-mb-10{
  margin-bottom: -2.5rem;
}

:root [dir=rtl] .rtl\:-ml-10{
  margin-left: -2.5rem;
}

:root [dir=rtl] .rtl\:-mt-12{
  margin-top: -3rem;
}

:root [dir=rtl] .rtl\:-mr-12{
  margin-right: -3rem;
}

:root [dir=rtl] .rtl\:-mb-12{
  margin-bottom: -3rem;
}

:root [dir=rtl] .rtl\:-ml-12{
  margin-left: -3rem;
}

:root [dir=rtl] .rtl\:-mt-14{
  margin-top: -3.5rem;
}

:root [dir=rtl] .rtl\:-mr-14{
  margin-right: -3.5rem;
}

:root [dir=rtl] .rtl\:-mb-14{
  margin-bottom: -3.5rem;
}

:root [dir=rtl] .rtl\:-ml-14{
  margin-left: -3.5rem;
}

:root [dir=rtl] .rtl\:-mt-16{
  margin-top: -4rem;
}

:root [dir=rtl] .rtl\:-mr-16{
  margin-right: -4rem;
}

:root [dir=rtl] .rtl\:-mb-16{
  margin-bottom: -4rem;
}

:root [dir=rtl] .rtl\:-ml-16{
  margin-left: -4rem;
}

:root [dir=rtl] .rtl\:-mt-20{
  margin-top: -5rem;
}

:root [dir=rtl] .rtl\:-mr-20{
  margin-right: -5rem;
}

:root [dir=rtl] .rtl\:-mb-20{
  margin-bottom: -5rem;
}

:root [dir=rtl] .rtl\:-ml-20{
  margin-left: -5rem;
}

:root [dir=rtl] .rtl\:-mt-24{
  margin-top: -6rem;
}

:root [dir=rtl] .rtl\:-mr-24{
  margin-right: -6rem;
}

:root [dir=rtl] .rtl\:-mb-24{
  margin-bottom: -6rem;
}

:root [dir=rtl] .rtl\:-ml-24{
  margin-left: -6rem;
}

:root [dir=rtl] .rtl\:-mt-32{
  margin-top: -8rem;
}

:root [dir=rtl] .rtl\:-mr-32{
  margin-right: -8rem;
}

:root [dir=rtl] .rtl\:-mb-32{
  margin-bottom: -8rem;
}

:root [dir=rtl] .rtl\:-ml-32{
  margin-left: -8rem;
}

:root [dir=rtl] .rtl\:-mt-40{
  margin-top: -10rem;
}

:root [dir=rtl] .rtl\:-mr-40{
  margin-right: -10rem;
}

:root [dir=rtl] .rtl\:-mb-40{
  margin-bottom: -10rem;
}

:root [dir=rtl] .rtl\:-ml-40{
  margin-left: -10rem;
}

:root [dir=rtl] .rtl\:-mt-48{
  margin-top: -12rem;
}

:root [dir=rtl] .rtl\:-mr-48{
  margin-right: -12rem;
}

:root [dir=rtl] .rtl\:-mb-48{
  margin-bottom: -12rem;
}

:root [dir=rtl] .rtl\:-ml-48{
  margin-left: -12rem;
}

:root [dir=rtl] .rtl\:-mt-56{
  margin-top: -14rem;
}

:root [dir=rtl] .rtl\:-mr-56{
  margin-right: -14rem;
}

:root [dir=rtl] .rtl\:-mb-56{
  margin-bottom: -14rem;
}

:root [dir=rtl] .rtl\:-ml-56{
  margin-left: -14rem;
}

:root [dir=rtl] .rtl\:-mt-64{
  margin-top: -16rem;
}

:root [dir=rtl] .rtl\:-mr-64{
  margin-right: -16rem;
}

:root [dir=rtl] .rtl\:-mb-64{
  margin-bottom: -16rem;
}

:root [dir=rtl] .rtl\:-ml-64{
  margin-left: -16rem;
}

:root [dir=rtl] .rtl\:-mt-px{
  margin-top: -1px;
}

:root [dir=rtl] .rtl\:-mr-px{
  margin-right: -1px;
}

:root [dir=rtl] .rtl\:-mb-px{
  margin-bottom: -1px;
}

:root [dir=rtl] .rtl\:-ml-px{
  margin-left: -1px;
}

:root [dir=rtl] .rtl\:-mt-gutter{
  margin-top: calc(var(--padding-gutter) * -1);
}

:root [dir=rtl] .rtl\:-mr-gutter{
  margin-right: calc(var(--padding-gutter) * -1);
}

:root [dir=rtl] .rtl\:-mb-gutter{
  margin-bottom: calc(var(--padding-gutter) * -1);
}

:root [dir=rtl] .rtl\:-ml-gutter{
  margin-left: calc(var(--padding-gutter) * -1);
}

:root .max-h-full{
  max-height: 100%;
}

:root .max-h-screen{
  max-height: 100vh;
}

:root .max-w-unset{
  max-width: unset;
}

:root .max-w-xxxs{
  max-width: 16rem;
}

:root .max-w-xxs{
  max-width: 18rem;
}

:root .max-w-xs{
  max-width: 20rem;
}

:root .max-w-sm{
  max-width: 24rem;
}

:root .max-w-md{
  max-width: 28rem;
}

:root .max-w-lg{
  max-width: 32rem;
}

:root .max-w-xl{
  max-width: 36rem;
}

:root .max-w-2xl{
  max-width: 42rem;
}

:root .max-w-3xl{
  max-width: 48rem;
}

:root .max-w-4xl{
  max-width: 56rem;
}

:root .max-w-5xl{
  max-width: 64rem;
}

:root .max-w-6xl{
  max-width: 72rem;
}

:root .max-w-full{
  max-width: 100%;
}

:root .min-h-0{
  min-height: 0;
}

:root .min-h-full{
  min-height: 100%;
}

:root .min-h-screen{
  min-height: 100vh;
}

:root .min-w-0{
  min-width: 0;
}

:root .min-w-1{
  min-width: 0.25rem;
}

:root .min-w-2{
  min-width: 0.5rem;
}

:root .min-w-3{
  min-width: 0.75rem;
}

:root .min-w-4{
  min-width: 1rem;
}

:root .min-w-5{
  min-width: 1.25rem;
}

:root .min-w-6{
  min-width: 1.5rem;
}

:root .min-w-8{
  min-width: 2rem;
}

:root .min-w-9{
  min-width: 2.25rem;
}

:root .min-w-10{
  min-width: 2.5rem;
}

:root .min-w-12{
  min-width: 3rem;
}

:root .min-w-14{
  min-width: 3.5rem;
}

:root .min-w-16{
  min-width: 4rem;
}

:root .min-w-20{
  min-width: 5rem;
}

:root .min-w-24{
  min-width: 6rem;
}

:root .min-w-32{
  min-width: 8rem;
}

:root .min-w-40{
  min-width: 10rem;
}

:root .min-w-48{
  min-width: 12rem;
}

:root .min-w-56{
  min-width: 14rem;
}

:root .min-w-64{
  min-width: 16rem;
}

:root .min-w-full{
  min-width: 100%;
}

:root .min-w-px{
  min-width: 1px;
}

:root .min-w-gutter{
  min-width: var(--padding-gutter);
}

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

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

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

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

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

:root .object-bottom{
  -o-object-position: bottom;
     object-position: bottom;
}

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

:root .object-left{
  -o-object-position: left;
     object-position: left;
}

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

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

:root .object-right{
  -o-object-position: right;
     object-position: right;
}

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

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

:root .object-top{
  -o-object-position: top;
     object-position: top;
}

:root .opacity-0{
  opacity: 0;
}

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

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

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

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

:root .hover\:opacity-0:hover{
  opacity: 0;
}

:root .hover\:opacity-25:hover{
  opacity: 0.25;
}

:root .hover\:opacity-50:hover{
  opacity: 0.5;
}

:root .hover\:opacity-75:hover{
  opacity: 0.75;
}

:root .hover\:opacity-100:hover{
  opacity: 1;
}

:root .focus\:opacity-0:focus{
  opacity: 0;
}

:root .focus\:opacity-25:focus{
  opacity: 0.25;
}

:root .focus\:opacity-50:focus{
  opacity: 0.5;
}

:root .focus\:opacity-75:focus{
  opacity: 0.75;
}

:root .focus\:opacity-100:focus{
  opacity: 1;
}

:root .outline-none{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

:root .outline-white{
  outline: 2px dotted white;
  outline-offset: 2px;
}

:root .outline-black{
  outline: 2px dotted black;
  outline-offset: 2px;
}

:root .focus\:outline-none:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

:root .focus\:outline-white:focus{
  outline: 2px dotted white;
  outline-offset: 2px;
}

:root .focus\:outline-black:focus{
  outline: 2px dotted black;
  outline-offset: 2px;
}

:root .overflow-auto{
  overflow: auto;
}

:root .overflow-hidden{
  overflow: hidden;
}

:root .overflow-visible{
  overflow: visible;
}

:root .overflow-scroll{
  overflow: scroll;
}

:root .overflow-x-auto{
  overflow-x: auto;
}

:root .overflow-y-auto{
  overflow-y: auto;
}

:root .overflow-x-hidden{
  overflow-x: hidden;
}

:root .overflow-y-hidden{
  overflow-y: hidden;
}

:root .overflow-x-visible{
  overflow-x: visible;
}

:root .overflow-y-visible{
  overflow-y: visible;
}

:root .overflow-x-scroll{
  overflow-x: scroll;
}

:root .overflow-y-scroll{
  overflow-y: scroll;
}

:root .overscroll-auto{
  overscroll-behavior: auto;
}

:root .overscroll-contain{
  overscroll-behavior: contain;
}

:root .overscroll-none{
  overscroll-behavior: none;
}

:root .overscroll-y-auto{
  overscroll-behavior-y: auto;
}

:root .overscroll-y-contain{
  overscroll-behavior-y: contain;
}

:root .overscroll-y-none{
  overscroll-behavior-y: none;
}

:root .overscroll-x-auto{
  overscroll-behavior-x: auto;
}

:root .overscroll-x-contain{
  overscroll-behavior-x: contain;
}

:root .overscroll-x-none{
  overscroll-behavior-x: none;
}

:root .p-0{
  padding: 0;
}

:root .p-1{
  padding: 0.25rem;
}

:root .p-2{
  padding: 0.5rem;
}

:root .p-3{
  padding: 0.75rem;
}

:root .p-4{
  padding: 1rem;
}

:root .p-5{
  padding: 1.25rem;
}

:root .p-6{
  padding: 1.5rem;
}

:root .p-8{
  padding: 2rem;
}

:root .p-9{
  padding: 2.25rem;
}

:root .p-10{
  padding: 2.5rem;
}

:root .p-12{
  padding: 3rem;
}

:root .p-14{
  padding: 3.5rem;
}

:root .p-16{
  padding: 4rem;
}

:root .p-20{
  padding: 5rem;
}

:root .p-24{
  padding: 6rem;
}

:root .p-32{
  padding: 8rem;
}

:root .p-40{
  padding: 10rem;
}

:root .p-48{
  padding: 12rem;
}

:root .p-56{
  padding: 14rem;
}

:root .p-64{
  padding: 16rem;
}

:root .p-px{
  padding: 1px;
}

:root .p-gutter{
  padding: var(--padding-gutter);
}

:root .py-0{
  padding-top: 0;
  padding-bottom: 0;
}

:root .px-0{
  padding-left: 0;
  padding-right: 0;
}

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

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

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

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

:root .py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

:root .px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

:root .py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}

:root .px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}

:root .py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

:root .px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

:root .py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

:root .px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

:root .py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}

:root .px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}

:root .py-9{
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
}

:root .px-9{
  padding-left: 2.25rem;
  padding-right: 2.25rem;
}

:root .py-10{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

:root .px-10{
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

:root .py-12{
  padding-top: 3rem;
  padding-bottom: 3rem;
}

:root .px-12{
  padding-left: 3rem;
  padding-right: 3rem;
}

:root .py-14{
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

:root .px-14{
  padding-left: 3.5rem;
  padding-right: 3.5rem;
}

:root .py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}

:root .px-16{
  padding-left: 4rem;
  padding-right: 4rem;
}

:root .py-20{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

:root .px-20{
  padding-left: 5rem;
  padding-right: 5rem;
}

:root .py-24{
  padding-top: 6rem;
  padding-bottom: 6rem;
}

:root .px-24{
  padding-left: 6rem;
  padding-right: 6rem;
}

:root .py-32{
  padding-top: 8rem;
  padding-bottom: 8rem;
}

:root .px-32{
  padding-left: 8rem;
  padding-right: 8rem;
}

:root .py-40{
  padding-top: 10rem;
  padding-bottom: 10rem;
}

:root .px-40{
  padding-left: 10rem;
  padding-right: 10rem;
}

:root .py-48{
  padding-top: 12rem;
  padding-bottom: 12rem;
}

:root .px-48{
  padding-left: 12rem;
  padding-right: 12rem;
}

:root .py-56{
  padding-top: 14rem;
  padding-bottom: 14rem;
}

:root .px-56{
  padding-left: 14rem;
  padding-right: 14rem;
}

:root .py-64{
  padding-top: 16rem;
  padding-bottom: 16rem;
}

:root .px-64{
  padding-left: 16rem;
  padding-right: 16rem;
}

:root .py-px{
  padding-top: 1px;
  padding-bottom: 1px;
}

:root .px-px{
  padding-left: 1px;
  padding-right: 1px;
}

:root .py-gutter{
  padding-top: var(--padding-gutter);
  padding-bottom: var(--padding-gutter);
}

:root .px-gutter{
  padding-left: var(--padding-gutter);
  padding-right: var(--padding-gutter);
}

:root .pt-0{
  padding-top: 0;
}

:root .pr-0{
  padding-right: 0;
}

:root .pb-0{
  padding-bottom: 0;
}

:root .pl-0{
  padding-left: 0;
}

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

:root .pr-1{
  padding-right: 0.25rem;
}

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

:root .pl-1{
  padding-left: 0.25rem;
}

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

:root .pr-2{
  padding-right: 0.5rem;
}

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

:root .pl-2{
  padding-left: 0.5rem;
}

:root .pt-3{
  padding-top: 0.75rem;
}

:root .pr-3{
  padding-right: 0.75rem;
}

:root .pb-3{
  padding-bottom: 0.75rem;
}

:root .pl-3{
  padding-left: 0.75rem;
}

:root .pt-4{
  padding-top: 1rem;
}

:root .pr-4{
  padding-right: 1rem;
}

:root .pb-4{
  padding-bottom: 1rem;
}

:root .pl-4{
  padding-left: 1rem;
}

:root .pt-5{
  padding-top: 1.25rem;
}

:root .pr-5{
  padding-right: 1.25rem;
}

:root .pb-5{
  padding-bottom: 1.25rem;
}

:root .pl-5{
  padding-left: 1.25rem;
}

:root .pt-6{
  padding-top: 1.5rem;
}

:root .pr-6{
  padding-right: 1.5rem;
}

:root .pb-6{
  padding-bottom: 1.5rem;
}

:root .pl-6{
  padding-left: 1.5rem;
}

:root .pt-8{
  padding-top: 2rem;
}

:root .pr-8{
  padding-right: 2rem;
}

:root .pb-8{
  padding-bottom: 2rem;
}

:root .pl-8{
  padding-left: 2rem;
}

:root .pt-9{
  padding-top: 2.25rem;
}

:root .pr-9{
  padding-right: 2.25rem;
}

:root .pb-9{
  padding-bottom: 2.25rem;
}

:root .pl-9{
  padding-left: 2.25rem;
}

:root .pt-10{
  padding-top: 2.5rem;
}

:root .pr-10{
  padding-right: 2.5rem;
}

:root .pb-10{
  padding-bottom: 2.5rem;
}

:root .pl-10{
  padding-left: 2.5rem;
}

:root .pt-12{
  padding-top: 3rem;
}

:root .pr-12{
  padding-right: 3rem;
}

:root .pb-12{
  padding-bottom: 3rem;
}

:root .pl-12{
  padding-left: 3rem;
}

:root .pt-14{
  padding-top: 3.5rem;
}

:root .pr-14{
  padding-right: 3.5rem;
}

:root .pb-14{
  padding-bottom: 3.5rem;
}

:root .pl-14{
  padding-left: 3.5rem;
}

:root .pt-16{
  padding-top: 4rem;
}

:root .pr-16{
  padding-right: 4rem;
}

:root .pb-16{
  padding-bottom: 4rem;
}

:root .pl-16{
  padding-left: 4rem;
}

:root .pt-20{
  padding-top: 5rem;
}

:root .pr-20{
  padding-right: 5rem;
}

:root .pb-20{
  padding-bottom: 5rem;
}

:root .pl-20{
  padding-left: 5rem;
}

:root .pt-24{
  padding-top: 6rem;
}

:root .pr-24{
  padding-right: 6rem;
}

:root .pb-24{
  padding-bottom: 6rem;
}

:root .pl-24{
  padding-left: 6rem;
}

:root .pt-32{
  padding-top: 8rem;
}

:root .pr-32{
  padding-right: 8rem;
}

:root .pb-32{
  padding-bottom: 8rem;
}

:root .pl-32{
  padding-left: 8rem;
}

:root .pt-40{
  padding-top: 10rem;
}

:root .pr-40{
  padding-right: 10rem;
}

:root .pb-40{
  padding-bottom: 10rem;
}

:root .pl-40{
  padding-left: 10rem;
}

:root .pt-48{
  padding-top: 12rem;
}

:root .pr-48{
  padding-right: 12rem;
}

:root .pb-48{
  padding-bottom: 12rem;
}

:root .pl-48{
  padding-left: 12rem;
}

:root .pt-56{
  padding-top: 14rem;
}

:root .pr-56{
  padding-right: 14rem;
}

:root .pb-56{
  padding-bottom: 14rem;
}

:root .pl-56{
  padding-left: 14rem;
}

:root .pt-64{
  padding-top: 16rem;
}

:root .pr-64{
  padding-right: 16rem;
}

:root .pb-64{
  padding-bottom: 16rem;
}

:root .pl-64{
  padding-left: 16rem;
}

:root .pt-px{
  padding-top: 1px;
}

:root .pr-px{
  padding-right: 1px;
}

:root .pb-px{
  padding-bottom: 1px;
}

:root .pl-px{
  padding-left: 1px;
}

:root .pt-gutter{
  padding-top: var(--padding-gutter);
}

:root .pr-gutter{
  padding-right: var(--padding-gutter);
}

:root .pb-gutter{
  padding-bottom: var(--padding-gutter);
}

:root .pl-gutter{
  padding-left: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:p-0{
  padding: 0;
}

:root [dir=ltr] .ltr\:p-1{
  padding: 0.25rem;
}

:root [dir=ltr] .ltr\:p-2{
  padding: 0.5rem;
}

:root [dir=ltr] .ltr\:p-3{
  padding: 0.75rem;
}

:root [dir=ltr] .ltr\:p-4{
  padding: 1rem;
}

:root [dir=ltr] .ltr\:p-5{
  padding: 1.25rem;
}

:root [dir=ltr] .ltr\:p-6{
  padding: 1.5rem;
}

:root [dir=ltr] .ltr\:p-8{
  padding: 2rem;
}

:root [dir=ltr] .ltr\:p-9{
  padding: 2.25rem;
}

:root [dir=ltr] .ltr\:p-10{
  padding: 2.5rem;
}

:root [dir=ltr] .ltr\:p-12{
  padding: 3rem;
}

:root [dir=ltr] .ltr\:p-14{
  padding: 3.5rem;
}

:root [dir=ltr] .ltr\:p-16{
  padding: 4rem;
}

:root [dir=ltr] .ltr\:p-20{
  padding: 5rem;
}

:root [dir=ltr] .ltr\:p-24{
  padding: 6rem;
}

:root [dir=ltr] .ltr\:p-32{
  padding: 8rem;
}

:root [dir=ltr] .ltr\:p-40{
  padding: 10rem;
}

:root [dir=ltr] .ltr\:p-48{
  padding: 12rem;
}

:root [dir=ltr] .ltr\:p-56{
  padding: 14rem;
}

:root [dir=ltr] .ltr\:p-64{
  padding: 16rem;
}

:root [dir=ltr] .ltr\:p-px{
  padding: 1px;
}

:root [dir=ltr] .ltr\:p-gutter{
  padding: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:py-0{
  padding-top: 0;
  padding-bottom: 0;
}

:root [dir=ltr] .ltr\:px-0{
  padding-left: 0;
  padding-right: 0;
}

:root [dir=ltr] .ltr\:py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

:root [dir=ltr] .ltr\:px-1{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

:root [dir=ltr] .ltr\:py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

:root [dir=ltr] .ltr\:px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

:root [dir=ltr] .ltr\:py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

:root [dir=ltr] .ltr\:px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

:root [dir=ltr] .ltr\:py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}

:root [dir=ltr] .ltr\:px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}

:root [dir=ltr] .ltr\:py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

:root [dir=ltr] .ltr\:px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

:root [dir=ltr] .ltr\:py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

:root [dir=ltr] .ltr\:px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

:root [dir=ltr] .ltr\:py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}

:root [dir=ltr] .ltr\:px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}

:root [dir=ltr] .ltr\:py-9{
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
}

:root [dir=ltr] .ltr\:px-9{
  padding-left: 2.25rem;
  padding-right: 2.25rem;
}

:root [dir=ltr] .ltr\:py-10{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

:root [dir=ltr] .ltr\:px-10{
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

:root [dir=ltr] .ltr\:py-12{
  padding-top: 3rem;
  padding-bottom: 3rem;
}

:root [dir=ltr] .ltr\:px-12{
  padding-left: 3rem;
  padding-right: 3rem;
}

:root [dir=ltr] .ltr\:py-14{
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

:root [dir=ltr] .ltr\:px-14{
  padding-left: 3.5rem;
  padding-right: 3.5rem;
}

:root [dir=ltr] .ltr\:py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}

:root [dir=ltr] .ltr\:px-16{
  padding-left: 4rem;
  padding-right: 4rem;
}

:root [dir=ltr] .ltr\:py-20{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

:root [dir=ltr] .ltr\:px-20{
  padding-left: 5rem;
  padding-right: 5rem;
}

:root [dir=ltr] .ltr\:py-24{
  padding-top: 6rem;
  padding-bottom: 6rem;
}

:root [dir=ltr] .ltr\:px-24{
  padding-left: 6rem;
  padding-right: 6rem;
}

:root [dir=ltr] .ltr\:py-32{
  padding-top: 8rem;
  padding-bottom: 8rem;
}

:root [dir=ltr] .ltr\:px-32{
  padding-left: 8rem;
  padding-right: 8rem;
}

:root [dir=ltr] .ltr\:py-40{
  padding-top: 10rem;
  padding-bottom: 10rem;
}

:root [dir=ltr] .ltr\:px-40{
  padding-left: 10rem;
  padding-right: 10rem;
}

:root [dir=ltr] .ltr\:py-48{
  padding-top: 12rem;
  padding-bottom: 12rem;
}

:root [dir=ltr] .ltr\:px-48{
  padding-left: 12rem;
  padding-right: 12rem;
}

:root [dir=ltr] .ltr\:py-56{
  padding-top: 14rem;
  padding-bottom: 14rem;
}

:root [dir=ltr] .ltr\:px-56{
  padding-left: 14rem;
  padding-right: 14rem;
}

:root [dir=ltr] .ltr\:py-64{
  padding-top: 16rem;
  padding-bottom: 16rem;
}

:root [dir=ltr] .ltr\:px-64{
  padding-left: 16rem;
  padding-right: 16rem;
}

:root [dir=ltr] .ltr\:py-px{
  padding-top: 1px;
  padding-bottom: 1px;
}

:root [dir=ltr] .ltr\:px-px{
  padding-left: 1px;
  padding-right: 1px;
}

:root [dir=ltr] .ltr\:py-gutter{
  padding-top: var(--padding-gutter);
  padding-bottom: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:px-gutter{
  padding-left: var(--padding-gutter);
  padding-right: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:pt-0{
  padding-top: 0;
}

:root [dir=ltr] .ltr\:pr-0{
  padding-right: 0;
}

:root [dir=ltr] .ltr\:pb-0{
  padding-bottom: 0;
}

:root [dir=ltr] .ltr\:pl-0{
  padding-left: 0;
}

:root [dir=ltr] .ltr\:pt-1{
  padding-top: 0.25rem;
}

:root [dir=ltr] .ltr\:pr-1{
  padding-right: 0.25rem;
}

:root [dir=ltr] .ltr\:pb-1{
  padding-bottom: 0.25rem;
}

:root [dir=ltr] .ltr\:pl-1{
  padding-left: 0.25rem;
}

:root [dir=ltr] .ltr\:pt-2{
  padding-top: 0.5rem;
}

:root [dir=ltr] .ltr\:pr-2{
  padding-right: 0.5rem;
}

:root [dir=ltr] .ltr\:pb-2{
  padding-bottom: 0.5rem;
}

:root [dir=ltr] .ltr\:pl-2{
  padding-left: 0.5rem;
}

:root [dir=ltr] .ltr\:pt-3{
  padding-top: 0.75rem;
}

:root [dir=ltr] .ltr\:pr-3{
  padding-right: 0.75rem;
}

:root [dir=ltr] .ltr\:pb-3{
  padding-bottom: 0.75rem;
}

:root [dir=ltr] .ltr\:pl-3{
  padding-left: 0.75rem;
}

:root [dir=ltr] .ltr\:pt-4{
  padding-top: 1rem;
}

:root [dir=ltr] .ltr\:pr-4{
  padding-right: 1rem;
}

:root [dir=ltr] .ltr\:pb-4{
  padding-bottom: 1rem;
}

:root [dir=ltr] .ltr\:pl-4{
  padding-left: 1rem;
}

:root [dir=ltr] .ltr\:pt-5{
  padding-top: 1.25rem;
}

:root [dir=ltr] .ltr\:pr-5{
  padding-right: 1.25rem;
}

:root [dir=ltr] .ltr\:pb-5{
  padding-bottom: 1.25rem;
}

:root [dir=ltr] .ltr\:pl-5{
  padding-left: 1.25rem;
}

:root [dir=ltr] .ltr\:pt-6{
  padding-top: 1.5rem;
}

:root [dir=ltr] .ltr\:pr-6{
  padding-right: 1.5rem;
}

:root [dir=ltr] .ltr\:pb-6{
  padding-bottom: 1.5rem;
}

:root [dir=ltr] .ltr\:pl-6{
  padding-left: 1.5rem;
}

:root [dir=ltr] .ltr\:pt-8{
  padding-top: 2rem;
}

:root [dir=ltr] .ltr\:pr-8{
  padding-right: 2rem;
}

:root [dir=ltr] .ltr\:pb-8{
  padding-bottom: 2rem;
}

:root [dir=ltr] .ltr\:pl-8{
  padding-left: 2rem;
}

:root [dir=ltr] .ltr\:pt-9{
  padding-top: 2.25rem;
}

:root [dir=ltr] .ltr\:pr-9{
  padding-right: 2.25rem;
}

:root [dir=ltr] .ltr\:pb-9{
  padding-bottom: 2.25rem;
}

:root [dir=ltr] .ltr\:pl-9{
  padding-left: 2.25rem;
}

:root [dir=ltr] .ltr\:pt-10{
  padding-top: 2.5rem;
}

:root [dir=ltr] .ltr\:pr-10{
  padding-right: 2.5rem;
}

:root [dir=ltr] .ltr\:pb-10{
  padding-bottom: 2.5rem;
}

:root [dir=ltr] .ltr\:pl-10{
  padding-left: 2.5rem;
}

:root [dir=ltr] .ltr\:pt-12{
  padding-top: 3rem;
}

:root [dir=ltr] .ltr\:pr-12{
  padding-right: 3rem;
}

:root [dir=ltr] .ltr\:pb-12{
  padding-bottom: 3rem;
}

:root [dir=ltr] .ltr\:pl-12{
  padding-left: 3rem;
}

:root [dir=ltr] .ltr\:pt-14{
  padding-top: 3.5rem;
}

:root [dir=ltr] .ltr\:pr-14{
  padding-right: 3.5rem;
}

:root [dir=ltr] .ltr\:pb-14{
  padding-bottom: 3.5rem;
}

:root [dir=ltr] .ltr\:pl-14{
  padding-left: 3.5rem;
}

:root [dir=ltr] .ltr\:pt-16{
  padding-top: 4rem;
}

:root [dir=ltr] .ltr\:pr-16{
  padding-right: 4rem;
}

:root [dir=ltr] .ltr\:pb-16{
  padding-bottom: 4rem;
}

:root [dir=ltr] .ltr\:pl-16{
  padding-left: 4rem;
}

:root [dir=ltr] .ltr\:pt-20{
  padding-top: 5rem;
}

:root [dir=ltr] .ltr\:pr-20{
  padding-right: 5rem;
}

:root [dir=ltr] .ltr\:pb-20{
  padding-bottom: 5rem;
}

:root [dir=ltr] .ltr\:pl-20{
  padding-left: 5rem;
}

:root [dir=ltr] .ltr\:pt-24{
  padding-top: 6rem;
}

:root [dir=ltr] .ltr\:pr-24{
  padding-right: 6rem;
}

:root [dir=ltr] .ltr\:pb-24{
  padding-bottom: 6rem;
}

:root [dir=ltr] .ltr\:pl-24{
  padding-left: 6rem;
}

:root [dir=ltr] .ltr\:pt-32{
  padding-top: 8rem;
}

:root [dir=ltr] .ltr\:pr-32{
  padding-right: 8rem;
}

:root [dir=ltr] .ltr\:pb-32{
  padding-bottom: 8rem;
}

:root [dir=ltr] .ltr\:pl-32{
  padding-left: 8rem;
}

:root [dir=ltr] .ltr\:pt-40{
  padding-top: 10rem;
}

:root [dir=ltr] .ltr\:pr-40{
  padding-right: 10rem;
}

:root [dir=ltr] .ltr\:pb-40{
  padding-bottom: 10rem;
}

:root [dir=ltr] .ltr\:pl-40{
  padding-left: 10rem;
}

:root [dir=ltr] .ltr\:pt-48{
  padding-top: 12rem;
}

:root [dir=ltr] .ltr\:pr-48{
  padding-right: 12rem;
}

:root [dir=ltr] .ltr\:pb-48{
  padding-bottom: 12rem;
}

:root [dir=ltr] .ltr\:pl-48{
  padding-left: 12rem;
}

:root [dir=ltr] .ltr\:pt-56{
  padding-top: 14rem;
}

:root [dir=ltr] .ltr\:pr-56{
  padding-right: 14rem;
}

:root [dir=ltr] .ltr\:pb-56{
  padding-bottom: 14rem;
}

:root [dir=ltr] .ltr\:pl-56{
  padding-left: 14rem;
}

:root [dir=ltr] .ltr\:pt-64{
  padding-top: 16rem;
}

:root [dir=ltr] .ltr\:pr-64{
  padding-right: 16rem;
}

:root [dir=ltr] .ltr\:pb-64{
  padding-bottom: 16rem;
}

:root [dir=ltr] .ltr\:pl-64{
  padding-left: 16rem;
}

:root [dir=ltr] .ltr\:pt-px{
  padding-top: 1px;
}

:root [dir=ltr] .ltr\:pr-px{
  padding-right: 1px;
}

:root [dir=ltr] .ltr\:pb-px{
  padding-bottom: 1px;
}

:root [dir=ltr] .ltr\:pl-px{
  padding-left: 1px;
}

:root [dir=ltr] .ltr\:pt-gutter{
  padding-top: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:pr-gutter{
  padding-right: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:pb-gutter{
  padding-bottom: var(--padding-gutter);
}

:root [dir=ltr] .ltr\:pl-gutter{
  padding-left: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:p-0{
  padding: 0;
}

:root [dir=rtl] .rtl\:p-1{
  padding: 0.25rem;
}

:root [dir=rtl] .rtl\:p-2{
  padding: 0.5rem;
}

:root [dir=rtl] .rtl\:p-3{
  padding: 0.75rem;
}

:root [dir=rtl] .rtl\:p-4{
  padding: 1rem;
}

:root [dir=rtl] .rtl\:p-5{
  padding: 1.25rem;
}

:root [dir=rtl] .rtl\:p-6{
  padding: 1.5rem;
}

:root [dir=rtl] .rtl\:p-8{
  padding: 2rem;
}

:root [dir=rtl] .rtl\:p-9{
  padding: 2.25rem;
}

:root [dir=rtl] .rtl\:p-10{
  padding: 2.5rem;
}

:root [dir=rtl] .rtl\:p-12{
  padding: 3rem;
}

:root [dir=rtl] .rtl\:p-14{
  padding: 3.5rem;
}

:root [dir=rtl] .rtl\:p-16{
  padding: 4rem;
}

:root [dir=rtl] .rtl\:p-20{
  padding: 5rem;
}

:root [dir=rtl] .rtl\:p-24{
  padding: 6rem;
}

:root [dir=rtl] .rtl\:p-32{
  padding: 8rem;
}

:root [dir=rtl] .rtl\:p-40{
  padding: 10rem;
}

:root [dir=rtl] .rtl\:p-48{
  padding: 12rem;
}

:root [dir=rtl] .rtl\:p-56{
  padding: 14rem;
}

:root [dir=rtl] .rtl\:p-64{
  padding: 16rem;
}

:root [dir=rtl] .rtl\:p-px{
  padding: 1px;
}

:root [dir=rtl] .rtl\:p-gutter{
  padding: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:py-0{
  padding-top: 0;
  padding-bottom: 0;
}

:root [dir=rtl] .rtl\:px-0{
  padding-left: 0;
  padding-right: 0;
}

:root [dir=rtl] .rtl\:py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

:root [dir=rtl] .rtl\:px-1{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

:root [dir=rtl] .rtl\:py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

:root [dir=rtl] .rtl\:px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

:root [dir=rtl] .rtl\:py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

:root [dir=rtl] .rtl\:px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

:root [dir=rtl] .rtl\:py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}

:root [dir=rtl] .rtl\:px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}

:root [dir=rtl] .rtl\:py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

:root [dir=rtl] .rtl\:px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

:root [dir=rtl] .rtl\:py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

:root [dir=rtl] .rtl\:px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

:root [dir=rtl] .rtl\:py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}

:root [dir=rtl] .rtl\:px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}

:root [dir=rtl] .rtl\:py-9{
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
}

:root [dir=rtl] .rtl\:px-9{
  padding-left: 2.25rem;
  padding-right: 2.25rem;
}

:root [dir=rtl] .rtl\:py-10{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

:root [dir=rtl] .rtl\:px-10{
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

:root [dir=rtl] .rtl\:py-12{
  padding-top: 3rem;
  padding-bottom: 3rem;
}

:root [dir=rtl] .rtl\:px-12{
  padding-left: 3rem;
  padding-right: 3rem;
}

:root [dir=rtl] .rtl\:py-14{
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

:root [dir=rtl] .rtl\:px-14{
  padding-left: 3.5rem;
  padding-right: 3.5rem;
}

:root [dir=rtl] .rtl\:py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}

:root [dir=rtl] .rtl\:px-16{
  padding-left: 4rem;
  padding-right: 4rem;
}

:root [dir=rtl] .rtl\:py-20{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

:root [dir=rtl] .rtl\:px-20{
  padding-left: 5rem;
  padding-right: 5rem;
}

:root [dir=rtl] .rtl\:py-24{
  padding-top: 6rem;
  padding-bottom: 6rem;
}

:root [dir=rtl] .rtl\:px-24{
  padding-left: 6rem;
  padding-right: 6rem;
}

:root [dir=rtl] .rtl\:py-32{
  padding-top: 8rem;
  padding-bottom: 8rem;
}

:root [dir=rtl] .rtl\:px-32{
  padding-left: 8rem;
  padding-right: 8rem;
}

:root [dir=rtl] .rtl\:py-40{
  padding-top: 10rem;
  padding-bottom: 10rem;
}

:root [dir=rtl] .rtl\:px-40{
  padding-left: 10rem;
  padding-right: 10rem;
}

:root [dir=rtl] .rtl\:py-48{
  padding-top: 12rem;
  padding-bottom: 12rem;
}

:root [dir=rtl] .rtl\:px-48{
  padding-left: 12rem;
  padding-right: 12rem;
}

:root [dir=rtl] .rtl\:py-56{
  padding-top: 14rem;
  padding-bottom: 14rem;
}

:root [dir=rtl] .rtl\:px-56{
  padding-left: 14rem;
  padding-right: 14rem;
}

:root [dir=rtl] .rtl\:py-64{
  padding-top: 16rem;
  padding-bottom: 16rem;
}

:root [dir=rtl] .rtl\:px-64{
  padding-left: 16rem;
  padding-right: 16rem;
}

:root [dir=rtl] .rtl\:py-px{
  padding-top: 1px;
  padding-bottom: 1px;
}

:root [dir=rtl] .rtl\:px-px{
  padding-left: 1px;
  padding-right: 1px;
}

:root [dir=rtl] .rtl\:py-gutter{
  padding-top: var(--padding-gutter);
  padding-bottom: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:px-gutter{
  padding-left: var(--padding-gutter);
  padding-right: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:pt-0{
  padding-top: 0;
}

:root [dir=rtl] .rtl\:pr-0{
  padding-right: 0;
}

:root [dir=rtl] .rtl\:pb-0{
  padding-bottom: 0;
}

:root [dir=rtl] .rtl\:pl-0{
  padding-left: 0;
}

:root [dir=rtl] .rtl\:pt-1{
  padding-top: 0.25rem;
}

:root [dir=rtl] .rtl\:pr-1{
  padding-right: 0.25rem;
}

:root [dir=rtl] .rtl\:pb-1{
  padding-bottom: 0.25rem;
}

:root [dir=rtl] .rtl\:pl-1{
  padding-left: 0.25rem;
}

:root [dir=rtl] .rtl\:pt-2{
  padding-top: 0.5rem;
}

:root [dir=rtl] .rtl\:pr-2{
  padding-right: 0.5rem;
}

:root [dir=rtl] .rtl\:pb-2{
  padding-bottom: 0.5rem;
}

:root [dir=rtl] .rtl\:pl-2{
  padding-left: 0.5rem;
}

:root [dir=rtl] .rtl\:pt-3{
  padding-top: 0.75rem;
}

:root [dir=rtl] .rtl\:pr-3{
  padding-right: 0.75rem;
}

:root [dir=rtl] .rtl\:pb-3{
  padding-bottom: 0.75rem;
}

:root [dir=rtl] .rtl\:pl-3{
  padding-left: 0.75rem;
}

:root [dir=rtl] .rtl\:pt-4{
  padding-top: 1rem;
}

:root [dir=rtl] .rtl\:pr-4{
  padding-right: 1rem;
}

:root [dir=rtl] .rtl\:pb-4{
  padding-bottom: 1rem;
}

:root [dir=rtl] .rtl\:pl-4{
  padding-left: 1rem;
}

:root [dir=rtl] .rtl\:pt-5{
  padding-top: 1.25rem;
}

:root [dir=rtl] .rtl\:pr-5{
  padding-right: 1.25rem;
}

:root [dir=rtl] .rtl\:pb-5{
  padding-bottom: 1.25rem;
}

:root [dir=rtl] .rtl\:pl-5{
  padding-left: 1.25rem;
}

:root [dir=rtl] .rtl\:pt-6{
  padding-top: 1.5rem;
}

:root [dir=rtl] .rtl\:pr-6{
  padding-right: 1.5rem;
}

:root [dir=rtl] .rtl\:pb-6{
  padding-bottom: 1.5rem;
}

:root [dir=rtl] .rtl\:pl-6{
  padding-left: 1.5rem;
}

:root [dir=rtl] .rtl\:pt-8{
  padding-top: 2rem;
}

:root [dir=rtl] .rtl\:pr-8{
  padding-right: 2rem;
}

:root [dir=rtl] .rtl\:pb-8{
  padding-bottom: 2rem;
}

:root [dir=rtl] .rtl\:pl-8{
  padding-left: 2rem;
}

:root [dir=rtl] .rtl\:pt-9{
  padding-top: 2.25rem;
}

:root [dir=rtl] .rtl\:pr-9{
  padding-right: 2.25rem;
}

:root [dir=rtl] .rtl\:pb-9{
  padding-bottom: 2.25rem;
}

:root [dir=rtl] .rtl\:pl-9{
  padding-left: 2.25rem;
}

:root [dir=rtl] .rtl\:pt-10{
  padding-top: 2.5rem;
}

:root [dir=rtl] .rtl\:pr-10{
  padding-right: 2.5rem;
}

:root [dir=rtl] .rtl\:pb-10{
  padding-bottom: 2.5rem;
}

:root [dir=rtl] .rtl\:pl-10{
  padding-left: 2.5rem;
}

:root [dir=rtl] .rtl\:pt-12{
  padding-top: 3rem;
}

:root [dir=rtl] .rtl\:pr-12{
  padding-right: 3rem;
}

:root [dir=rtl] .rtl\:pb-12{
  padding-bottom: 3rem;
}

:root [dir=rtl] .rtl\:pl-12{
  padding-left: 3rem;
}

:root [dir=rtl] .rtl\:pt-14{
  padding-top: 3.5rem;
}

:root [dir=rtl] .rtl\:pr-14{
  padding-right: 3.5rem;
}

:root [dir=rtl] .rtl\:pb-14{
  padding-bottom: 3.5rem;
}

:root [dir=rtl] .rtl\:pl-14{
  padding-left: 3.5rem;
}

:root [dir=rtl] .rtl\:pt-16{
  padding-top: 4rem;
}

:root [dir=rtl] .rtl\:pr-16{
  padding-right: 4rem;
}

:root [dir=rtl] .rtl\:pb-16{
  padding-bottom: 4rem;
}

:root [dir=rtl] .rtl\:pl-16{
  padding-left: 4rem;
}

:root [dir=rtl] .rtl\:pt-20{
  padding-top: 5rem;
}

:root [dir=rtl] .rtl\:pr-20{
  padding-right: 5rem;
}

:root [dir=rtl] .rtl\:pb-20{
  padding-bottom: 5rem;
}

:root [dir=rtl] .rtl\:pl-20{
  padding-left: 5rem;
}

:root [dir=rtl] .rtl\:pt-24{
  padding-top: 6rem;
}

:root [dir=rtl] .rtl\:pr-24{
  padding-right: 6rem;
}

:root [dir=rtl] .rtl\:pb-24{
  padding-bottom: 6rem;
}

:root [dir=rtl] .rtl\:pl-24{
  padding-left: 6rem;
}

:root [dir=rtl] .rtl\:pt-32{
  padding-top: 8rem;
}

:root [dir=rtl] .rtl\:pr-32{
  padding-right: 8rem;
}

:root [dir=rtl] .rtl\:pb-32{
  padding-bottom: 8rem;
}

:root [dir=rtl] .rtl\:pl-32{
  padding-left: 8rem;
}

:root [dir=rtl] .rtl\:pt-40{
  padding-top: 10rem;
}

:root [dir=rtl] .rtl\:pr-40{
  padding-right: 10rem;
}

:root [dir=rtl] .rtl\:pb-40{
  padding-bottom: 10rem;
}

:root [dir=rtl] .rtl\:pl-40{
  padding-left: 10rem;
}

:root [dir=rtl] .rtl\:pt-48{
  padding-top: 12rem;
}

:root [dir=rtl] .rtl\:pr-48{
  padding-right: 12rem;
}

:root [dir=rtl] .rtl\:pb-48{
  padding-bottom: 12rem;
}

:root [dir=rtl] .rtl\:pl-48{
  padding-left: 12rem;
}

:root [dir=rtl] .rtl\:pt-56{
  padding-top: 14rem;
}

:root [dir=rtl] .rtl\:pr-56{
  padding-right: 14rem;
}

:root [dir=rtl] .rtl\:pb-56{
  padding-bottom: 14rem;
}

:root [dir=rtl] .rtl\:pl-56{
  padding-left: 14rem;
}

:root [dir=rtl] .rtl\:pt-64{
  padding-top: 16rem;
}

:root [dir=rtl] .rtl\:pr-64{
  padding-right: 16rem;
}

:root [dir=rtl] .rtl\:pb-64{
  padding-bottom: 16rem;
}

:root [dir=rtl] .rtl\:pl-64{
  padding-left: 16rem;
}

:root [dir=rtl] .rtl\:pt-px{
  padding-top: 1px;
}

:root [dir=rtl] .rtl\:pr-px{
  padding-right: 1px;
}

:root [dir=rtl] .rtl\:pb-px{
  padding-bottom: 1px;
}

:root [dir=rtl] .rtl\:pl-px{
  padding-left: 1px;
}

:root [dir=rtl] .rtl\:pt-gutter{
  padding-top: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:pr-gutter{
  padding-right: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:pb-gutter{
  padding-bottom: var(--padding-gutter);
}

:root [dir=rtl] .rtl\:pl-gutter{
  padding-left: var(--padding-gutter);
}

:root .placeholder-current::-moz-placeholder{
  color: currentColor;
}

:root .placeholder-current::placeholder{
  color: currentColor;
}

:root .placeholder-transparent::-moz-placeholder{
  color: transparent;
}

:root .placeholder-transparent::placeholder{
  color: transparent;
}

:root .placeholder-black::-moz-placeholder{
  color: var(--text-color);
}

:root .placeholder-black::placeholder{
  color: var(--text-color);
}

:root .placeholder-white::-moz-placeholder{
  color: var(--text-color-light);
}

:root .placeholder-white::placeholder{
  color: var(--text-color-light);
}

:root .placeholder-contrast-black::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
}

:root .placeholder-contrast-black::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
}

:root .placeholder-contrast-white::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
}

:root .placeholder-contrast-white::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
}

:root .placeholder-gray-light::-moz-placeholder{
  color: rgba(158, 158, 158, 0.1);
}

:root .placeholder-gray-light::placeholder{
  color: rgba(158, 158, 158, 0.1);
}

:root .placeholder-gray::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
}

:root .placeholder-gray::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
}

:root .placeholder-red-light::-moz-placeholder{
  color: rgba(244, 67, 54, 0.1);
}

:root .placeholder-red-light::placeholder{
  color: rgba(244, 67, 54, 0.1);
}

:root .placeholder-red::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
}

:root .placeholder-red::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
}

:root .placeholder-orange-light::-moz-placeholder{
  color: rgba(255, 152, 0, 0.1);
}

:root .placeholder-orange-light::placeholder{
  color: rgba(255, 152, 0, 0.1);
}

:root .placeholder-orange::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
}

:root .placeholder-orange::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
}

:root .placeholder-deep-orange-light::-moz-placeholder{
  color: rgba(255, 87, 34, 0.1);
}

:root .placeholder-deep-orange-light::placeholder{
  color: rgba(255, 87, 34, 0.1);
}

:root .placeholder-deep-orange::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
}

:root .placeholder-deep-orange::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
}

:root .placeholder-amber-light::-moz-placeholder{
  color: rgba(255, 193, 7, 0.1);
}

:root .placeholder-amber-light::placeholder{
  color: rgba(255, 193, 7, 0.1);
}

:root .placeholder-amber::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
}

:root .placeholder-amber::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
}

:root .placeholder-green-light::-moz-placeholder{
  color: rgba(76, 175, 80, 0.1);
}

:root .placeholder-green-light::placeholder{
  color: rgba(76, 175, 80, 0.1);
}

:root .placeholder-green::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
}

:root .placeholder-green::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
}

:root .placeholder-teal-light::-moz-placeholder{
  color: rgba(0, 150, 136, 0.1);
}

:root .placeholder-teal-light::placeholder{
  color: rgba(0, 150, 136, 0.1);
}

:root .placeholder-teal::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
}

:root .placeholder-teal::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
}

:root .placeholder-cyan-light::-moz-placeholder{
  color: rgba(0, 188, 212, 0.1);
}

:root .placeholder-cyan-light::placeholder{
  color: rgba(0, 188, 212, 0.1);
}

:root .placeholder-cyan::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
}

:root .placeholder-cyan::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
}

:root .placeholder-purple-light::-moz-placeholder{
  color: rgba(156, 39, 176, 0.1);
}

:root .placeholder-purple-light::placeholder{
  color: rgba(156, 39, 176, 0.1);
}

:root .placeholder-purple::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
}

:root .placeholder-purple::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
}

:root .placeholder-deep-purple-light::-moz-placeholder{
  color: rgba(103, 58, 183, 0.1);
}

:root .placeholder-deep-purple-light::placeholder{
  color: rgba(103, 58, 183, 0.1);
}

:root .placeholder-deep-purple::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
}

:root .placeholder-deep-purple::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
}

:root .placeholder-pink-light::-moz-placeholder{
  color: rgba(233, 30, 99, 0.1);
}

:root .placeholder-pink-light::placeholder{
  color: rgba(233, 30, 99, 0.1);
}

:root .placeholder-pink::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
}

:root .placeholder-pink::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
}

:root .placeholder-primary-light::-moz-placeholder{
  color: rgba(var(--color-primary), .1);
}

:root .placeholder-primary-light::placeholder{
  color: rgba(var(--color-primary), .1);
}

:root .placeholder-primary::-moz-placeholder{
  color: rgb(var(--color-primary));
}

:root .placeholder-primary::placeholder{
  color: rgb(var(--color-primary));
}

:root .placeholder-accent-light::-moz-placeholder{
  color: rgba(var(--color-accent), .1);
}

:root .placeholder-accent-light::placeholder{
  color: rgba(var(--color-accent), .1);
}

:root .placeholder-accent::-moz-placeholder{
  color: rgb(var(--color-accent));
}

:root .placeholder-accent::placeholder{
  color: rgb(var(--color-accent));
}

:root .placeholder-warn-light::-moz-placeholder{
  color: rgba(var(--color-warn), .1);
}

:root .placeholder-warn-light::placeholder{
  color: rgba(var(--color-warn), .1);
}

:root .placeholder-warn::-moz-placeholder{
  color: rgb(var(--color-warn));
}

:root .placeholder-warn::placeholder{
  color: rgb(var(--color-warn));
}

:root .focus\:placeholder-current:focus::-moz-placeholder{
  color: currentColor;
}

:root .focus\:placeholder-current:focus::placeholder{
  color: currentColor;
}

:root .focus\:placeholder-transparent:focus::-moz-placeholder{
  color: transparent;
}

:root .focus\:placeholder-transparent:focus::placeholder{
  color: transparent;
}

:root .focus\:placeholder-black:focus::-moz-placeholder{
  color: var(--text-color);
}

:root .focus\:placeholder-black:focus::placeholder{
  color: var(--text-color);
}

:root .focus\:placeholder-white:focus::-moz-placeholder{
  color: var(--text-color-light);
}

:root .focus\:placeholder-white:focus::placeholder{
  color: var(--text-color-light);
}

:root .focus\:placeholder-contrast-black:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-contrast-black:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-contrast-white:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-contrast-white:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-gray-light:focus::-moz-placeholder{
  color: rgba(158, 158, 158, 0.1);
}

:root .focus\:placeholder-gray-light:focus::placeholder{
  color: rgba(158, 158, 158, 0.1);
}

:root .focus\:placeholder-gray:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-gray:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-red-light:focus::-moz-placeholder{
  color: rgba(244, 67, 54, 0.1);
}

:root .focus\:placeholder-red-light:focus::placeholder{
  color: rgba(244, 67, 54, 0.1);
}

:root .focus\:placeholder-red:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-red:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-orange-light:focus::-moz-placeholder{
  color: rgba(255, 152, 0, 0.1);
}

:root .focus\:placeholder-orange-light:focus::placeholder{
  color: rgba(255, 152, 0, 0.1);
}

:root .focus\:placeholder-orange:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-orange:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-deep-orange-light:focus::-moz-placeholder{
  color: rgba(255, 87, 34, 0.1);
}

:root .focus\:placeholder-deep-orange-light:focus::placeholder{
  color: rgba(255, 87, 34, 0.1);
}

:root .focus\:placeholder-deep-orange:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-deep-orange:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-amber-light:focus::-moz-placeholder{
  color: rgba(255, 193, 7, 0.1);
}

:root .focus\:placeholder-amber-light:focus::placeholder{
  color: rgba(255, 193, 7, 0.1);
}

:root .focus\:placeholder-amber:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-amber:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-green-light:focus::-moz-placeholder{
  color: rgba(76, 175, 80, 0.1);
}

:root .focus\:placeholder-green-light:focus::placeholder{
  color: rgba(76, 175, 80, 0.1);
}

:root .focus\:placeholder-green:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-green:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-teal-light:focus::-moz-placeholder{
  color: rgba(0, 150, 136, 0.1);
}

:root .focus\:placeholder-teal-light:focus::placeholder{
  color: rgba(0, 150, 136, 0.1);
}

:root .focus\:placeholder-teal:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-teal:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-cyan-light:focus::-moz-placeholder{
  color: rgba(0, 188, 212, 0.1);
}

:root .focus\:placeholder-cyan-light:focus::placeholder{
  color: rgba(0, 188, 212, 0.1);
}

:root .focus\:placeholder-cyan:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-cyan:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-purple-light:focus::-moz-placeholder{
  color: rgba(156, 39, 176, 0.1);
}

:root .focus\:placeholder-purple-light:focus::placeholder{
  color: rgba(156, 39, 176, 0.1);
}

:root .focus\:placeholder-purple:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-purple:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-deep-purple-light:focus::-moz-placeholder{
  color: rgba(103, 58, 183, 0.1);
}

:root .focus\:placeholder-deep-purple-light:focus::placeholder{
  color: rgba(103, 58, 183, 0.1);
}

:root .focus\:placeholder-deep-purple:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-deep-purple:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-pink-light:focus::-moz-placeholder{
  color: rgba(233, 30, 99, 0.1);
}

:root .focus\:placeholder-pink-light:focus::placeholder{
  color: rgba(233, 30, 99, 0.1);
}

:root .focus\:placeholder-pink:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-pink:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
}

:root .focus\:placeholder-primary-light:focus::-moz-placeholder{
  color: rgba(var(--color-primary), .1);
}

:root .focus\:placeholder-primary-light:focus::placeholder{
  color: rgba(var(--color-primary), .1);
}

:root .focus\:placeholder-primary:focus::-moz-placeholder{
  color: rgb(var(--color-primary));
}

:root .focus\:placeholder-primary:focus::placeholder{
  color: rgb(var(--color-primary));
}

:root .focus\:placeholder-accent-light:focus::-moz-placeholder{
  color: rgba(var(--color-accent), .1);
}

:root .focus\:placeholder-accent-light:focus::placeholder{
  color: rgba(var(--color-accent), .1);
}

:root .focus\:placeholder-accent:focus::-moz-placeholder{
  color: rgb(var(--color-accent));
}

:root .focus\:placeholder-accent:focus::placeholder{
  color: rgb(var(--color-accent));
}

:root .focus\:placeholder-warn-light:focus::-moz-placeholder{
  color: rgba(var(--color-warn), .1);
}

:root .focus\:placeholder-warn-light:focus::placeholder{
  color: rgba(var(--color-warn), .1);
}

:root .focus\:placeholder-warn:focus::-moz-placeholder{
  color: rgb(var(--color-warn));
}

:root .focus\:placeholder-warn:focus::placeholder{
  color: rgb(var(--color-warn));
}

:root .placeholder-opacity-0::-moz-placeholder{
  --tw-placeholder-opacity: 0;
}

:root .placeholder-opacity-0::placeholder{
  --tw-placeholder-opacity: 0;
}

:root .placeholder-opacity-25::-moz-placeholder{
  --tw-placeholder-opacity: 0.25;
}

:root .placeholder-opacity-25::placeholder{
  --tw-placeholder-opacity: 0.25;
}

:root .placeholder-opacity-50::-moz-placeholder{
  --tw-placeholder-opacity: 0.5;
}

:root .placeholder-opacity-50::placeholder{
  --tw-placeholder-opacity: 0.5;
}

:root .placeholder-opacity-75::-moz-placeholder{
  --tw-placeholder-opacity: 0.75;
}

:root .placeholder-opacity-75::placeholder{
  --tw-placeholder-opacity: 0.75;
}

:root .placeholder-opacity-100::-moz-placeholder{
  --tw-placeholder-opacity: 1;
}

:root .placeholder-opacity-100::placeholder{
  --tw-placeholder-opacity: 1;
}

:root .focus\:placeholder-opacity-0:focus::-moz-placeholder{
  --tw-placeholder-opacity: 0;
}

:root .focus\:placeholder-opacity-0:focus::placeholder{
  --tw-placeholder-opacity: 0;
}

:root .focus\:placeholder-opacity-25:focus::-moz-placeholder{
  --tw-placeholder-opacity: 0.25;
}

:root .focus\:placeholder-opacity-25:focus::placeholder{
  --tw-placeholder-opacity: 0.25;
}

:root .focus\:placeholder-opacity-50:focus::-moz-placeholder{
  --tw-placeholder-opacity: 0.5;
}

:root .focus\:placeholder-opacity-50:focus::placeholder{
  --tw-placeholder-opacity: 0.5;
}

:root .focus\:placeholder-opacity-75:focus::-moz-placeholder{
  --tw-placeholder-opacity: 0.75;
}

:root .focus\:placeholder-opacity-75:focus::placeholder{
  --tw-placeholder-opacity: 0.75;
}

:root .focus\:placeholder-opacity-100:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
}

:root .focus\:placeholder-opacity-100:focus::placeholder{
  --tw-placeholder-opacity: 1;
}

:root .pointer-events-none{
  pointer-events: none;
}

:root .pointer-events-auto{
  pointer-events: auto;
}

:root .static{
  position: static;
}

:root .fixed{
  position: fixed;
}

:root .absolute{
  position: absolute;
}

:root .relative{
  position: relative;
}

:root .sticky{
  position: sticky;
}

:root .inset-0{
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

:root .inset-1{
  top: 0.25rem;
  right: 0.25rem;
  bottom: 0.25rem;
  left: 0.25rem;
}

:root .inset-2{
  top: 0.5rem;
  right: 0.5rem;
  bottom: 0.5rem;
  left: 0.5rem;
}

:root .inset-3{
  top: 0.75rem;
  right: 0.75rem;
  bottom: 0.75rem;
  left: 0.75rem;
}

:root .inset-4{
  top: 1rem;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
}

:root .inset-5{
  top: 1.25rem;
  right: 1.25rem;
  bottom: 1.25rem;
  left: 1.25rem;
}

:root .inset-6{
  top: 1.5rem;
  right: 1.5rem;
  bottom: 1.5rem;
  left: 1.5rem;
}

:root .inset-8{
  top: 2rem;
  right: 2rem;
  bottom: 2rem;
  left: 2rem;
}

:root .inset-10{
  top: 2.5rem;
  right: 2.5rem;
  bottom: 2.5rem;
  left: 2.5rem;
}

:root .inset-12{
  top: 3rem;
  right: 3rem;
  bottom: 3rem;
  left: 3rem;
}

:root .-inset-1{
  top: -0.25rem;
  right: -0.25rem;
  bottom: -0.25rem;
  left: -0.25rem;
}

:root .-inset-2{
  top: -0.5rem;
  right: -0.5rem;
  bottom: -0.5rem;
  left: -0.5rem;
}

:root .-inset-3{
  top: -0.75rem;
  right: -0.75rem;
  bottom: -0.75rem;
  left: -0.75rem;
}

:root .-inset-4{
  top: -1rem;
  right: -1rem;
  bottom: -1rem;
  left: -1rem;
}

:root .-inset-5{
  top: -1.25rem;
  right: -1.25rem;
  bottom: -1.25rem;
  left: -1.25rem;
}

:root .-inset-6{
  top: -1.5rem;
  right: -1.5rem;
  bottom: -1.5rem;
  left: -1.5rem;
}

:root .-inset-8{
  top: -2rem;
  right: -2rem;
  bottom: -2rem;
  left: -2rem;
}

:root .-inset-10{
  top: -2.5rem;
  right: -2.5rem;
  bottom: -2.5rem;
  left: -2.5rem;
}

:root .-inset-12{
  top: -3rem;
  right: -3rem;
  bottom: -3rem;
  left: -3rem;
}

:root .inset-auto{
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}

:root .inset-y-0{
  top: 0;
  bottom: 0;
}

:root .inset-x-0{
  right: 0;
  left: 0;
}

:root .inset-y-1{
  top: 0.25rem;
  bottom: 0.25rem;
}

:root .inset-x-1{
  right: 0.25rem;
  left: 0.25rem;
}

:root .inset-y-2{
  top: 0.5rem;
  bottom: 0.5rem;
}

:root .inset-x-2{
  right: 0.5rem;
  left: 0.5rem;
}

:root .inset-y-3{
  top: 0.75rem;
  bottom: 0.75rem;
}

:root .inset-x-3{
  right: 0.75rem;
  left: 0.75rem;
}

:root .inset-y-4{
  top: 1rem;
  bottom: 1rem;
}

:root .inset-x-4{
  right: 1rem;
  left: 1rem;
}

:root .inset-y-5{
  top: 1.25rem;
  bottom: 1.25rem;
}

:root .inset-x-5{
  right: 1.25rem;
  left: 1.25rem;
}

:root .inset-y-6{
  top: 1.5rem;
  bottom: 1.5rem;
}

:root .inset-x-6{
  right: 1.5rem;
  left: 1.5rem;
}

:root .inset-y-8{
  top: 2rem;
  bottom: 2rem;
}

:root .inset-x-8{
  right: 2rem;
  left: 2rem;
}

:root .inset-y-10{
  top: 2.5rem;
  bottom: 2.5rem;
}

:root .inset-x-10{
  right: 2.5rem;
  left: 2.5rem;
}

:root .inset-y-12{
  top: 3rem;
  bottom: 3rem;
}

:root .inset-x-12{
  right: 3rem;
  left: 3rem;
}

:root .-inset-y-1{
  top: -0.25rem;
  bottom: -0.25rem;
}

:root .-inset-x-1{
  right: -0.25rem;
  left: -0.25rem;
}

:root .-inset-y-2{
  top: -0.5rem;
  bottom: -0.5rem;
}

:root .-inset-x-2{
  right: -0.5rem;
  left: -0.5rem;
}

:root .-inset-y-3{
  top: -0.75rem;
  bottom: -0.75rem;
}

:root .-inset-x-3{
  right: -0.75rem;
  left: -0.75rem;
}

:root .-inset-y-4{
  top: -1rem;
  bottom: -1rem;
}

:root .-inset-x-4{
  right: -1rem;
  left: -1rem;
}

:root .-inset-y-5{
  top: -1.25rem;
  bottom: -1.25rem;
}

:root .-inset-x-5{
  right: -1.25rem;
  left: -1.25rem;
}

:root .-inset-y-6{
  top: -1.5rem;
  bottom: -1.5rem;
}

:root .-inset-x-6{
  right: -1.5rem;
  left: -1.5rem;
}

:root .-inset-y-8{
  top: -2rem;
  bottom: -2rem;
}

:root .-inset-x-8{
  right: -2rem;
  left: -2rem;
}

:root .-inset-y-10{
  top: -2.5rem;
  bottom: -2.5rem;
}

:root .-inset-x-10{
  right: -2.5rem;
  left: -2.5rem;
}

:root .-inset-y-12{
  top: -3rem;
  bottom: -3rem;
}

:root .-inset-x-12{
  right: -3rem;
  left: -3rem;
}

:root .inset-y-auto{
  top: auto;
  bottom: auto;
}

:root .inset-x-auto{
  right: auto;
  left: auto;
}

:root .top-0{
  top: 0;
}

:root .right-0{
  right: 0;
}

:root .bottom-0{
  bottom: 0;
}

:root .left-0{
  left: 0;
}

:root .top-1{
  top: 0.25rem;
}

:root .right-1{
  right: 0.25rem;
}

:root .bottom-1{
  bottom: 0.25rem;
}

:root .left-1{
  left: 0.25rem;
}

:root .top-2{
  top: 0.5rem;
}

:root .right-2{
  right: 0.5rem;
}

:root .bottom-2{
  bottom: 0.5rem;
}

:root .left-2{
  left: 0.5rem;
}

:root .top-3{
  top: 0.75rem;
}

:root .right-3{
  right: 0.75rem;
}

:root .bottom-3{
  bottom: 0.75rem;
}

:root .left-3{
  left: 0.75rem;
}

:root .top-4{
  top: 1rem;
}

:root .right-4{
  right: 1rem;
}

:root .bottom-4{
  bottom: 1rem;
}

:root .left-4{
  left: 1rem;
}

:root .top-5{
  top: 1.25rem;
}

:root .right-5{
  right: 1.25rem;
}

:root .bottom-5{
  bottom: 1.25rem;
}

:root .left-5{
  left: 1.25rem;
}

:root .top-6{
  top: 1.5rem;
}

:root .right-6{
  right: 1.5rem;
}

:root .bottom-6{
  bottom: 1.5rem;
}

:root .left-6{
  left: 1.5rem;
}

:root .top-8{
  top: 2rem;
}

:root .right-8{
  right: 2rem;
}

:root .bottom-8{
  bottom: 2rem;
}

:root .left-8{
  left: 2rem;
}

:root .top-10{
  top: 2.5rem;
}

:root .right-10{
  right: 2.5rem;
}

:root .bottom-10{
  bottom: 2.5rem;
}

:root .left-10{
  left: 2.5rem;
}

:root .top-12{
  top: 3rem;
}

:root .right-12{
  right: 3rem;
}

:root .bottom-12{
  bottom: 3rem;
}

:root .left-12{
  left: 3rem;
}

:root .-top-1{
  top: -0.25rem;
}

:root .-right-1{
  right: -0.25rem;
}

:root .-bottom-1{
  bottom: -0.25rem;
}

:root .-left-1{
  left: -0.25rem;
}

:root .-top-2{
  top: -0.5rem;
}

:root .-right-2{
  right: -0.5rem;
}

:root .-bottom-2{
  bottom: -0.5rem;
}

:root .-left-2{
  left: -0.5rem;
}

:root .-top-3{
  top: -0.75rem;
}

:root .-right-3{
  right: -0.75rem;
}

:root .-bottom-3{
  bottom: -0.75rem;
}

:root .-left-3{
  left: -0.75rem;
}

:root .-top-4{
  top: -1rem;
}

:root .-right-4{
  right: -1rem;
}

:root .-bottom-4{
  bottom: -1rem;
}

:root .-left-4{
  left: -1rem;
}

:root .-top-5{
  top: -1.25rem;
}

:root .-right-5{
  right: -1.25rem;
}

:root .-bottom-5{
  bottom: -1.25rem;
}

:root .-left-5{
  left: -1.25rem;
}

:root .-top-6{
  top: -1.5rem;
}

:root .-right-6{
  right: -1.5rem;
}

:root .-bottom-6{
  bottom: -1.5rem;
}

:root .-left-6{
  left: -1.5rem;
}

:root .-top-8{
  top: -2rem;
}

:root .-right-8{
  right: -2rem;
}

:root .-bottom-8{
  bottom: -2rem;
}

:root .-left-8{
  left: -2rem;
}

:root .-top-10{
  top: -2.5rem;
}

:root .-right-10{
  right: -2.5rem;
}

:root .-bottom-10{
  bottom: -2.5rem;
}

:root .-left-10{
  left: -2.5rem;
}

:root .-top-12{
  top: -3rem;
}

:root .-right-12{
  right: -3rem;
}

:root .-bottom-12{
  bottom: -3rem;
}

:root .-left-12{
  left: -3rem;
}

:root .top-auto{
  top: auto;
}

:root .right-auto{
  right: auto;
}

:root .bottom-auto{
  bottom: auto;
}

:root .left-auto{
  left: auto;
}

:root [dir=ltr] .ltr\:inset-0{
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

:root [dir=ltr] .ltr\:inset-1{
  top: 0.25rem;
  right: 0.25rem;
  bottom: 0.25rem;
  left: 0.25rem;
}

:root [dir=ltr] .ltr\:inset-2{
  top: 0.5rem;
  right: 0.5rem;
  bottom: 0.5rem;
  left: 0.5rem;
}

:root [dir=ltr] .ltr\:inset-3{
  top: 0.75rem;
  right: 0.75rem;
  bottom: 0.75rem;
  left: 0.75rem;
}

:root [dir=ltr] .ltr\:inset-4{
  top: 1rem;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
}

:root [dir=ltr] .ltr\:inset-5{
  top: 1.25rem;
  right: 1.25rem;
  bottom: 1.25rem;
  left: 1.25rem;
}

:root [dir=ltr] .ltr\:inset-6{
  top: 1.5rem;
  right: 1.5rem;
  bottom: 1.5rem;
  left: 1.5rem;
}

:root [dir=ltr] .ltr\:inset-8{
  top: 2rem;
  right: 2rem;
  bottom: 2rem;
  left: 2rem;
}

:root [dir=ltr] .ltr\:inset-10{
  top: 2.5rem;
  right: 2.5rem;
  bottom: 2.5rem;
  left: 2.5rem;
}

:root [dir=ltr] .ltr\:inset-12{
  top: 3rem;
  right: 3rem;
  bottom: 3rem;
  left: 3rem;
}

:root [dir=ltr] .ltr\:-inset-1{
  top: -0.25rem;
  right: -0.25rem;
  bottom: -0.25rem;
  left: -0.25rem;
}

:root [dir=ltr] .ltr\:-inset-2{
  top: -0.5rem;
  right: -0.5rem;
  bottom: -0.5rem;
  left: -0.5rem;
}

:root [dir=ltr] .ltr\:-inset-3{
  top: -0.75rem;
  right: -0.75rem;
  bottom: -0.75rem;
  left: -0.75rem;
}

:root [dir=ltr] .ltr\:-inset-4{
  top: -1rem;
  right: -1rem;
  bottom: -1rem;
  left: -1rem;
}

:root [dir=ltr] .ltr\:-inset-5{
  top: -1.25rem;
  right: -1.25rem;
  bottom: -1.25rem;
  left: -1.25rem;
}

:root [dir=ltr] .ltr\:-inset-6{
  top: -1.5rem;
  right: -1.5rem;
  bottom: -1.5rem;
  left: -1.5rem;
}

:root [dir=ltr] .ltr\:-inset-8{
  top: -2rem;
  right: -2rem;
  bottom: -2rem;
  left: -2rem;
}

:root [dir=ltr] .ltr\:-inset-10{
  top: -2.5rem;
  right: -2.5rem;
  bottom: -2.5rem;
  left: -2.5rem;
}

:root [dir=ltr] .ltr\:-inset-12{
  top: -3rem;
  right: -3rem;
  bottom: -3rem;
  left: -3rem;
}

:root [dir=ltr] .ltr\:inset-auto{
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}

:root [dir=ltr] .ltr\:inset-y-0{
  top: 0;
  bottom: 0;
}

:root [dir=ltr] .ltr\:inset-x-0{
  right: 0;
  left: 0;
}

:root [dir=ltr] .ltr\:inset-y-1{
  top: 0.25rem;
  bottom: 0.25rem;
}

:root [dir=ltr] .ltr\:inset-x-1{
  right: 0.25rem;
  left: 0.25rem;
}

:root [dir=ltr] .ltr\:inset-y-2{
  top: 0.5rem;
  bottom: 0.5rem;
}

:root [dir=ltr] .ltr\:inset-x-2{
  right: 0.5rem;
  left: 0.5rem;
}

:root [dir=ltr] .ltr\:inset-y-3{
  top: 0.75rem;
  bottom: 0.75rem;
}

:root [dir=ltr] .ltr\:inset-x-3{
  right: 0.75rem;
  left: 0.75rem;
}

:root [dir=ltr] .ltr\:inset-y-4{
  top: 1rem;
  bottom: 1rem;
}

:root [dir=ltr] .ltr\:inset-x-4{
  right: 1rem;
  left: 1rem;
}

:root [dir=ltr] .ltr\:inset-y-5{
  top: 1.25rem;
  bottom: 1.25rem;
}

:root [dir=ltr] .ltr\:inset-x-5{
  right: 1.25rem;
  left: 1.25rem;
}

:root [dir=ltr] .ltr\:inset-y-6{
  top: 1.5rem;
  bottom: 1.5rem;
}

:root [dir=ltr] .ltr\:inset-x-6{
  right: 1.5rem;
  left: 1.5rem;
}

:root [dir=ltr] .ltr\:inset-y-8{
  top: 2rem;
  bottom: 2rem;
}

:root [dir=ltr] .ltr\:inset-x-8{
  right: 2rem;
  left: 2rem;
}

:root [dir=ltr] .ltr\:inset-y-10{
  top: 2.5rem;
  bottom: 2.5rem;
}

:root [dir=ltr] .ltr\:inset-x-10{
  right: 2.5rem;
  left: 2.5rem;
}

:root [dir=ltr] .ltr\:inset-y-12{
  top: 3rem;
  bottom: 3rem;
}

:root [dir=ltr] .ltr\:inset-x-12{
  right: 3rem;
  left: 3rem;
}

:root [dir=ltr] .ltr\:-inset-y-1{
  top: -0.25rem;
  bottom: -0.25rem;
}

:root [dir=ltr] .ltr\:-inset-x-1{
  right: -0.25rem;
  left: -0.25rem;
}

:root [dir=ltr] .ltr\:-inset-y-2{
  top: -0.5rem;
  bottom: -0.5rem;
}

:root [dir=ltr] .ltr\:-inset-x-2{
  right: -0.5rem;
  left: -0.5rem;
}

:root [dir=ltr] .ltr\:-inset-y-3{
  top: -0.75rem;
  bottom: -0.75rem;
}

:root [dir=ltr] .ltr\:-inset-x-3{
  right: -0.75rem;
  left: -0.75rem;
}

:root [dir=ltr] .ltr\:-inset-y-4{
  top: -1rem;
  bottom: -1rem;
}

:root [dir=ltr] .ltr\:-inset-x-4{
  right: -1rem;
  left: -1rem;
}

:root [dir=ltr] .ltr\:-inset-y-5{
  top: -1.25rem;
  bottom: -1.25rem;
}

:root [dir=ltr] .ltr\:-inset-x-5{
  right: -1.25rem;
  left: -1.25rem;
}

:root [dir=ltr] .ltr\:-inset-y-6{
  top: -1.5rem;
  bottom: -1.5rem;
}

:root [dir=ltr] .ltr\:-inset-x-6{
  right: -1.5rem;
  left: -1.5rem;
}

:root [dir=ltr] .ltr\:-inset-y-8{
  top: -2rem;
  bottom: -2rem;
}

:root [dir=ltr] .ltr\:-inset-x-8{
  right: -2rem;
  left: -2rem;
}

:root [dir=ltr] .ltr\:-inset-y-10{
  top: -2.5rem;
  bottom: -2.5rem;
}

:root [dir=ltr] .ltr\:-inset-x-10{
  right: -2.5rem;
  left: -2.5rem;
}

:root [dir=ltr] .ltr\:-inset-y-12{
  top: -3rem;
  bottom: -3rem;
}

:root [dir=ltr] .ltr\:-inset-x-12{
  right: -3rem;
  left: -3rem;
}

:root [dir=ltr] .ltr\:inset-y-auto{
  top: auto;
  bottom: auto;
}

:root [dir=ltr] .ltr\:inset-x-auto{
  right: auto;
  left: auto;
}

:root [dir=ltr] .ltr\:top-0{
  top: 0;
}

:root [dir=ltr] .ltr\:right-0{
  right: 0;
}

:root [dir=ltr] .ltr\:bottom-0{
  bottom: 0;
}

:root [dir=ltr] .ltr\:left-0{
  left: 0;
}

:root [dir=ltr] .ltr\:top-1{
  top: 0.25rem;
}

:root [dir=ltr] .ltr\:right-1{
  right: 0.25rem;
}

:root [dir=ltr] .ltr\:bottom-1{
  bottom: 0.25rem;
}

:root [dir=ltr] .ltr\:left-1{
  left: 0.25rem;
}

:root [dir=ltr] .ltr\:top-2{
  top: 0.5rem;
}

:root [dir=ltr] .ltr\:right-2{
  right: 0.5rem;
}

:root [dir=ltr] .ltr\:bottom-2{
  bottom: 0.5rem;
}

:root [dir=ltr] .ltr\:left-2{
  left: 0.5rem;
}

:root [dir=ltr] .ltr\:top-3{
  top: 0.75rem;
}

:root [dir=ltr] .ltr\:right-3{
  right: 0.75rem;
}

:root [dir=ltr] .ltr\:bottom-3{
  bottom: 0.75rem;
}

:root [dir=ltr] .ltr\:left-3{
  left: 0.75rem;
}

:root [dir=ltr] .ltr\:top-4{
  top: 1rem;
}

:root [dir=ltr] .ltr\:right-4{
  right: 1rem;
}

:root [dir=ltr] .ltr\:bottom-4{
  bottom: 1rem;
}

:root [dir=ltr] .ltr\:left-4{
  left: 1rem;
}

:root [dir=ltr] .ltr\:top-5{
  top: 1.25rem;
}

:root [dir=ltr] .ltr\:right-5{
  right: 1.25rem;
}

:root [dir=ltr] .ltr\:bottom-5{
  bottom: 1.25rem;
}

:root [dir=ltr] .ltr\:left-5{
  left: 1.25rem;
}

:root [dir=ltr] .ltr\:top-6{
  top: 1.5rem;
}

:root [dir=ltr] .ltr\:right-6{
  right: 1.5rem;
}

:root [dir=ltr] .ltr\:bottom-6{
  bottom: 1.5rem;
}

:root [dir=ltr] .ltr\:left-6{
  left: 1.5rem;
}

:root [dir=ltr] .ltr\:top-8{
  top: 2rem;
}

:root [dir=ltr] .ltr\:right-8{
  right: 2rem;
}

:root [dir=ltr] .ltr\:bottom-8{
  bottom: 2rem;
}

:root [dir=ltr] .ltr\:left-8{
  left: 2rem;
}

:root [dir=ltr] .ltr\:top-10{
  top: 2.5rem;
}

:root [dir=ltr] .ltr\:right-10{
  right: 2.5rem;
}

:root [dir=ltr] .ltr\:bottom-10{
  bottom: 2.5rem;
}

:root [dir=ltr] .ltr\:left-10{
  left: 2.5rem;
}

:root [dir=ltr] .ltr\:top-12{
  top: 3rem;
}

:root [dir=ltr] .ltr\:right-12{
  right: 3rem;
}

:root [dir=ltr] .ltr\:bottom-12{
  bottom: 3rem;
}

:root [dir=ltr] .ltr\:left-12{
  left: 3rem;
}

:root [dir=ltr] .ltr\:-top-1{
  top: -0.25rem;
}

:root [dir=ltr] .ltr\:-right-1{
  right: -0.25rem;
}

:root [dir=ltr] .ltr\:-bottom-1{
  bottom: -0.25rem;
}

:root [dir=ltr] .ltr\:-left-1{
  left: -0.25rem;
}

:root [dir=ltr] .ltr\:-top-2{
  top: -0.5rem;
}

:root [dir=ltr] .ltr\:-right-2{
  right: -0.5rem;
}

:root [dir=ltr] .ltr\:-bottom-2{
  bottom: -0.5rem;
}

:root [dir=ltr] .ltr\:-left-2{
  left: -0.5rem;
}

:root [dir=ltr] .ltr\:-top-3{
  top: -0.75rem;
}

:root [dir=ltr] .ltr\:-right-3{
  right: -0.75rem;
}

:root [dir=ltr] .ltr\:-bottom-3{
  bottom: -0.75rem;
}

:root [dir=ltr] .ltr\:-left-3{
  left: -0.75rem;
}

:root [dir=ltr] .ltr\:-top-4{
  top: -1rem;
}

:root [dir=ltr] .ltr\:-right-4{
  right: -1rem;
}

:root [dir=ltr] .ltr\:-bottom-4{
  bottom: -1rem;
}

:root [dir=ltr] .ltr\:-left-4{
  left: -1rem;
}

:root [dir=ltr] .ltr\:-top-5{
  top: -1.25rem;
}

:root [dir=ltr] .ltr\:-right-5{
  right: -1.25rem;
}

:root [dir=ltr] .ltr\:-bottom-5{
  bottom: -1.25rem;
}

:root [dir=ltr] .ltr\:-left-5{
  left: -1.25rem;
}

:root [dir=ltr] .ltr\:-top-6{
  top: -1.5rem;
}

:root [dir=ltr] .ltr\:-right-6{
  right: -1.5rem;
}

:root [dir=ltr] .ltr\:-bottom-6{
  bottom: -1.5rem;
}

:root [dir=ltr] .ltr\:-left-6{
  left: -1.5rem;
}

:root [dir=ltr] .ltr\:-top-8{
  top: -2rem;
}

:root [dir=ltr] .ltr\:-right-8{
  right: -2rem;
}

:root [dir=ltr] .ltr\:-bottom-8{
  bottom: -2rem;
}

:root [dir=ltr] .ltr\:-left-8{
  left: -2rem;
}

:root [dir=ltr] .ltr\:-top-10{
  top: -2.5rem;
}

:root [dir=ltr] .ltr\:-right-10{
  right: -2.5rem;
}

:root [dir=ltr] .ltr\:-bottom-10{
  bottom: -2.5rem;
}

:root [dir=ltr] .ltr\:-left-10{
  left: -2.5rem;
}

:root [dir=ltr] .ltr\:-top-12{
  top: -3rem;
}

:root [dir=ltr] .ltr\:-right-12{
  right: -3rem;
}

:root [dir=ltr] .ltr\:-bottom-12{
  bottom: -3rem;
}

:root [dir=ltr] .ltr\:-left-12{
  left: -3rem;
}

:root [dir=ltr] .ltr\:top-auto{
  top: auto;
}

:root [dir=ltr] .ltr\:right-auto{
  right: auto;
}

:root [dir=ltr] .ltr\:bottom-auto{
  bottom: auto;
}

:root [dir=ltr] .ltr\:left-auto{
  left: auto;
}

:root [dir=rtl] .rtl\:inset-0{
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

:root [dir=rtl] .rtl\:inset-1{
  top: 0.25rem;
  right: 0.25rem;
  bottom: 0.25rem;
  left: 0.25rem;
}

:root [dir=rtl] .rtl\:inset-2{
  top: 0.5rem;
  right: 0.5rem;
  bottom: 0.5rem;
  left: 0.5rem;
}

:root [dir=rtl] .rtl\:inset-3{
  top: 0.75rem;
  right: 0.75rem;
  bottom: 0.75rem;
  left: 0.75rem;
}

:root [dir=rtl] .rtl\:inset-4{
  top: 1rem;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
}

:root [dir=rtl] .rtl\:inset-5{
  top: 1.25rem;
  right: 1.25rem;
  bottom: 1.25rem;
  left: 1.25rem;
}

:root [dir=rtl] .rtl\:inset-6{
  top: 1.5rem;
  right: 1.5rem;
  bottom: 1.5rem;
  left: 1.5rem;
}

:root [dir=rtl] .rtl\:inset-8{
  top: 2rem;
  right: 2rem;
  bottom: 2rem;
  left: 2rem;
}

:root [dir=rtl] .rtl\:inset-10{
  top: 2.5rem;
  right: 2.5rem;
  bottom: 2.5rem;
  left: 2.5rem;
}

:root [dir=rtl] .rtl\:inset-12{
  top: 3rem;
  right: 3rem;
  bottom: 3rem;
  left: 3rem;
}

:root [dir=rtl] .rtl\:-inset-1{
  top: -0.25rem;
  right: -0.25rem;
  bottom: -0.25rem;
  left: -0.25rem;
}

:root [dir=rtl] .rtl\:-inset-2{
  top: -0.5rem;
  right: -0.5rem;
  bottom: -0.5rem;
  left: -0.5rem;
}

:root [dir=rtl] .rtl\:-inset-3{
  top: -0.75rem;
  right: -0.75rem;
  bottom: -0.75rem;
  left: -0.75rem;
}

:root [dir=rtl] .rtl\:-inset-4{
  top: -1rem;
  right: -1rem;
  bottom: -1rem;
  left: -1rem;
}

:root [dir=rtl] .rtl\:-inset-5{
  top: -1.25rem;
  right: -1.25rem;
  bottom: -1.25rem;
  left: -1.25rem;
}

:root [dir=rtl] .rtl\:-inset-6{
  top: -1.5rem;
  right: -1.5rem;
  bottom: -1.5rem;
  left: -1.5rem;
}

:root [dir=rtl] .rtl\:-inset-8{
  top: -2rem;
  right: -2rem;
  bottom: -2rem;
  left: -2rem;
}

:root [dir=rtl] .rtl\:-inset-10{
  top: -2.5rem;
  right: -2.5rem;
  bottom: -2.5rem;
  left: -2.5rem;
}

:root [dir=rtl] .rtl\:-inset-12{
  top: -3rem;
  right: -3rem;
  bottom: -3rem;
  left: -3rem;
}

:root [dir=rtl] .rtl\:inset-auto{
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}

:root [dir=rtl] .rtl\:inset-y-0{
  top: 0;
  bottom: 0;
}

:root [dir=rtl] .rtl\:inset-x-0{
  right: 0;
  left: 0;
}

:root [dir=rtl] .rtl\:inset-y-1{
  top: 0.25rem;
  bottom: 0.25rem;
}

:root [dir=rtl] .rtl\:inset-x-1{
  right: 0.25rem;
  left: 0.25rem;
}

:root [dir=rtl] .rtl\:inset-y-2{
  top: 0.5rem;
  bottom: 0.5rem;
}

:root [dir=rtl] .rtl\:inset-x-2{
  right: 0.5rem;
  left: 0.5rem;
}

:root [dir=rtl] .rtl\:inset-y-3{
  top: 0.75rem;
  bottom: 0.75rem;
}

:root [dir=rtl] .rtl\:inset-x-3{
  right: 0.75rem;
  left: 0.75rem;
}

:root [dir=rtl] .rtl\:inset-y-4{
  top: 1rem;
  bottom: 1rem;
}

:root [dir=rtl] .rtl\:inset-x-4{
  right: 1rem;
  left: 1rem;
}

:root [dir=rtl] .rtl\:inset-y-5{
  top: 1.25rem;
  bottom: 1.25rem;
}

:root [dir=rtl] .rtl\:inset-x-5{
  right: 1.25rem;
  left: 1.25rem;
}

:root [dir=rtl] .rtl\:inset-y-6{
  top: 1.5rem;
  bottom: 1.5rem;
}

:root [dir=rtl] .rtl\:inset-x-6{
  right: 1.5rem;
  left: 1.5rem;
}

:root [dir=rtl] .rtl\:inset-y-8{
  top: 2rem;
  bottom: 2rem;
}

:root [dir=rtl] .rtl\:inset-x-8{
  right: 2rem;
  left: 2rem;
}

:root [dir=rtl] .rtl\:inset-y-10{
  top: 2.5rem;
  bottom: 2.5rem;
}

:root [dir=rtl] .rtl\:inset-x-10{
  right: 2.5rem;
  left: 2.5rem;
}

:root [dir=rtl] .rtl\:inset-y-12{
  top: 3rem;
  bottom: 3rem;
}

:root [dir=rtl] .rtl\:inset-x-12{
  right: 3rem;
  left: 3rem;
}

:root [dir=rtl] .rtl\:-inset-y-1{
  top: -0.25rem;
  bottom: -0.25rem;
}

:root [dir=rtl] .rtl\:-inset-x-1{
  right: -0.25rem;
  left: -0.25rem;
}

:root [dir=rtl] .rtl\:-inset-y-2{
  top: -0.5rem;
  bottom: -0.5rem;
}

:root [dir=rtl] .rtl\:-inset-x-2{
  right: -0.5rem;
  left: -0.5rem;
}

:root [dir=rtl] .rtl\:-inset-y-3{
  top: -0.75rem;
  bottom: -0.75rem;
}

:root [dir=rtl] .rtl\:-inset-x-3{
  right: -0.75rem;
  left: -0.75rem;
}

:root [dir=rtl] .rtl\:-inset-y-4{
  top: -1rem;
  bottom: -1rem;
}

:root [dir=rtl] .rtl\:-inset-x-4{
  right: -1rem;
  left: -1rem;
}

:root [dir=rtl] .rtl\:-inset-y-5{
  top: -1.25rem;
  bottom: -1.25rem;
}

:root [dir=rtl] .rtl\:-inset-x-5{
  right: -1.25rem;
  left: -1.25rem;
}

:root [dir=rtl] .rtl\:-inset-y-6{
  top: -1.5rem;
  bottom: -1.5rem;
}

:root [dir=rtl] .rtl\:-inset-x-6{
  right: -1.5rem;
  left: -1.5rem;
}

:root [dir=rtl] .rtl\:-inset-y-8{
  top: -2rem;
  bottom: -2rem;
}

:root [dir=rtl] .rtl\:-inset-x-8{
  right: -2rem;
  left: -2rem;
}

:root [dir=rtl] .rtl\:-inset-y-10{
  top: -2.5rem;
  bottom: -2.5rem;
}

:root [dir=rtl] .rtl\:-inset-x-10{
  right: -2.5rem;
  left: -2.5rem;
}

:root [dir=rtl] .rtl\:-inset-y-12{
  top: -3rem;
  bottom: -3rem;
}

:root [dir=rtl] .rtl\:-inset-x-12{
  right: -3rem;
  left: -3rem;
}

:root [dir=rtl] .rtl\:inset-y-auto{
  top: auto;
  bottom: auto;
}

:root [dir=rtl] .rtl\:inset-x-auto{
  right: auto;
  left: auto;
}

:root [dir=rtl] .rtl\:top-0{
  top: 0;
}

:root [dir=rtl] .rtl\:right-0{
  right: 0;
}

:root [dir=rtl] .rtl\:bottom-0{
  bottom: 0;
}

:root [dir=rtl] .rtl\:left-0{
  left: 0;
}

:root [dir=rtl] .rtl\:top-1{
  top: 0.25rem;
}

:root [dir=rtl] .rtl\:right-1{
  right: 0.25rem;
}

:root [dir=rtl] .rtl\:bottom-1{
  bottom: 0.25rem;
}

:root [dir=rtl] .rtl\:left-1{
  left: 0.25rem;
}

:root [dir=rtl] .rtl\:top-2{
  top: 0.5rem;
}

:root [dir=rtl] .rtl\:right-2{
  right: 0.5rem;
}

:root [dir=rtl] .rtl\:bottom-2{
  bottom: 0.5rem;
}

:root [dir=rtl] .rtl\:left-2{
  left: 0.5rem;
}

:root [dir=rtl] .rtl\:top-3{
  top: 0.75rem;
}

:root [dir=rtl] .rtl\:right-3{
  right: 0.75rem;
}

:root [dir=rtl] .rtl\:bottom-3{
  bottom: 0.75rem;
}

:root [dir=rtl] .rtl\:left-3{
  left: 0.75rem;
}

:root [dir=rtl] .rtl\:top-4{
  top: 1rem;
}

:root [dir=rtl] .rtl\:right-4{
  right: 1rem;
}

:root [dir=rtl] .rtl\:bottom-4{
  bottom: 1rem;
}

:root [dir=rtl] .rtl\:left-4{
  left: 1rem;
}

:root [dir=rtl] .rtl\:top-5{
  top: 1.25rem;
}

:root [dir=rtl] .rtl\:right-5{
  right: 1.25rem;
}

:root [dir=rtl] .rtl\:bottom-5{
  bottom: 1.25rem;
}

:root [dir=rtl] .rtl\:left-5{
  left: 1.25rem;
}

:root [dir=rtl] .rtl\:top-6{
  top: 1.5rem;
}

:root [dir=rtl] .rtl\:right-6{
  right: 1.5rem;
}

:root [dir=rtl] .rtl\:bottom-6{
  bottom: 1.5rem;
}

:root [dir=rtl] .rtl\:left-6{
  left: 1.5rem;
}

:root [dir=rtl] .rtl\:top-8{
  top: 2rem;
}

:root [dir=rtl] .rtl\:right-8{
  right: 2rem;
}

:root [dir=rtl] .rtl\:bottom-8{
  bottom: 2rem;
}

:root [dir=rtl] .rtl\:left-8{
  left: 2rem;
}

:root [dir=rtl] .rtl\:top-10{
  top: 2.5rem;
}

:root [dir=rtl] .rtl\:right-10{
  right: 2.5rem;
}

:root [dir=rtl] .rtl\:bottom-10{
  bottom: 2.5rem;
}

:root [dir=rtl] .rtl\:left-10{
  left: 2.5rem;
}

:root [dir=rtl] .rtl\:top-12{
  top: 3rem;
}

:root [dir=rtl] .rtl\:right-12{
  right: 3rem;
}

:root [dir=rtl] .rtl\:bottom-12{
  bottom: 3rem;
}

:root [dir=rtl] .rtl\:left-12{
  left: 3rem;
}

:root [dir=rtl] .rtl\:-top-1{
  top: -0.25rem;
}

:root [dir=rtl] .rtl\:-right-1{
  right: -0.25rem;
}

:root [dir=rtl] .rtl\:-bottom-1{
  bottom: -0.25rem;
}

:root [dir=rtl] .rtl\:-left-1{
  left: -0.25rem;
}

:root [dir=rtl] .rtl\:-top-2{
  top: -0.5rem;
}

:root [dir=rtl] .rtl\:-right-2{
  right: -0.5rem;
}

:root [dir=rtl] .rtl\:-bottom-2{
  bottom: -0.5rem;
}

:root [dir=rtl] .rtl\:-left-2{
  left: -0.5rem;
}

:root [dir=rtl] .rtl\:-top-3{
  top: -0.75rem;
}

:root [dir=rtl] .rtl\:-right-3{
  right: -0.75rem;
}

:root [dir=rtl] .rtl\:-bottom-3{
  bottom: -0.75rem;
}

:root [dir=rtl] .rtl\:-left-3{
  left: -0.75rem;
}

:root [dir=rtl] .rtl\:-top-4{
  top: -1rem;
}

:root [dir=rtl] .rtl\:-right-4{
  right: -1rem;
}

:root [dir=rtl] .rtl\:-bottom-4{
  bottom: -1rem;
}

:root [dir=rtl] .rtl\:-left-4{
  left: -1rem;
}

:root [dir=rtl] .rtl\:-top-5{
  top: -1.25rem;
}

:root [dir=rtl] .rtl\:-right-5{
  right: -1.25rem;
}

:root [dir=rtl] .rtl\:-bottom-5{
  bottom: -1.25rem;
}

:root [dir=rtl] .rtl\:-left-5{
  left: -1.25rem;
}

:root [dir=rtl] .rtl\:-top-6{
  top: -1.5rem;
}

:root [dir=rtl] .rtl\:-right-6{
  right: -1.5rem;
}

:root [dir=rtl] .rtl\:-bottom-6{
  bottom: -1.5rem;
}

:root [dir=rtl] .rtl\:-left-6{
  left: -1.5rem;
}

:root [dir=rtl] .rtl\:-top-8{
  top: -2rem;
}

:root [dir=rtl] .rtl\:-right-8{
  right: -2rem;
}

:root [dir=rtl] .rtl\:-bottom-8{
  bottom: -2rem;
}

:root [dir=rtl] .rtl\:-left-8{
  left: -2rem;
}

:root [dir=rtl] .rtl\:-top-10{
  top: -2.5rem;
}

:root [dir=rtl] .rtl\:-right-10{
  right: -2.5rem;
}

:root [dir=rtl] .rtl\:-bottom-10{
  bottom: -2.5rem;
}

:root [dir=rtl] .rtl\:-left-10{
  left: -2.5rem;
}

:root [dir=rtl] .rtl\:-top-12{
  top: -3rem;
}

:root [dir=rtl] .rtl\:-right-12{
  right: -3rem;
}

:root [dir=rtl] .rtl\:-bottom-12{
  bottom: -3rem;
}

:root [dir=rtl] .rtl\:-left-12{
  left: -3rem;
}

:root [dir=rtl] .rtl\:top-auto{
  top: auto;
}

:root [dir=rtl] .rtl\:right-auto{
  right: auto;
}

:root [dir=rtl] .rtl\:bottom-auto{
  bottom: auto;
}

:root [dir=rtl] .rtl\:left-auto{
  left: auto;
}

:root .resize-none{
  resize: none;
}

:root .resize-y{
  resize: vertical;
}

:root .resize-x{
  resize: horizontal;
}

:root .resize{
  resize: both;
}

*{
  --tw-shadow: 0 0 #0000;
}

:root .shadow-1{
  --tw-shadow: var(--elevation-z1);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-2{
  --tw-shadow: var(--elevation-z2);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-3{
  --tw-shadow: var(--elevation-z3);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-4{
  --tw-shadow: var(--elevation-z4);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-5{
  --tw-shadow: var(--elevation-z5);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-6{
  --tw-shadow: var(--elevation-z6);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-7{
  --tw-shadow: var(--elevation-z7);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-9{
  --tw-shadow: var(--elevation-z9);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-10{
  --tw-shadow: var(--elevation-z10);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-11{
  --tw-shadow: var(--elevation-z11);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-12{
  --tw-shadow: var(--elevation-z12);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-13{
  --tw-shadow: var(--elevation-z13);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-14{
  --tw-shadow: var(--elevation-z14);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-15{
  --tw-shadow: var(--elevation-z15);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-16{
  --tw-shadow: var(--elevation-z16);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-17{
  --tw-shadow: var(--elevation-z17);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-18{
  --tw-shadow: var(--elevation-z18);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-19{
  --tw-shadow: var(--elevation-z19);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-20{
  --tw-shadow: var(--elevation-z20);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow{
  --tw-shadow: var(--elevation-z6);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-md{
  --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-lg{
  --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-xl{
  --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-2xl{
  --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-inner{
  --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-outline{
  --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-none{
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .shadow-b{
  --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-1:hover{
  --tw-shadow: var(--elevation-z1);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-2:hover{
  --tw-shadow: var(--elevation-z2);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-3:hover{
  --tw-shadow: var(--elevation-z3);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-4:hover{
  --tw-shadow: var(--elevation-z4);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-5:hover{
  --tw-shadow: var(--elevation-z5);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-6:hover{
  --tw-shadow: var(--elevation-z6);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-7:hover{
  --tw-shadow: var(--elevation-z7);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-9:hover{
  --tw-shadow: var(--elevation-z9);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-10:hover{
  --tw-shadow: var(--elevation-z10);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-11:hover{
  --tw-shadow: var(--elevation-z11);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-12:hover{
  --tw-shadow: var(--elevation-z12);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-13:hover{
  --tw-shadow: var(--elevation-z13);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-14:hover{
  --tw-shadow: var(--elevation-z14);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-15:hover{
  --tw-shadow: var(--elevation-z15);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-16:hover{
  --tw-shadow: var(--elevation-z16);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-17:hover{
  --tw-shadow: var(--elevation-z17);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-18:hover{
  --tw-shadow: var(--elevation-z18);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-19:hover{
  --tw-shadow: var(--elevation-z19);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-20:hover{
  --tw-shadow: var(--elevation-z20);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow:hover{
  --tw-shadow: var(--elevation-z6);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-md:hover{
  --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-lg:hover{
  --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-xl:hover{
  --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-2xl:hover{
  --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-inner:hover{
  --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-outline:hover{
  --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-none:hover{
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .hover\:shadow-b:hover{
  --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-1:focus{
  --tw-shadow: var(--elevation-z1);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-2:focus{
  --tw-shadow: var(--elevation-z2);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-3:focus{
  --tw-shadow: var(--elevation-z3);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-4:focus{
  --tw-shadow: var(--elevation-z4);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-5:focus{
  --tw-shadow: var(--elevation-z5);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-6:focus{
  --tw-shadow: var(--elevation-z6);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-7:focus{
  --tw-shadow: var(--elevation-z7);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-9:focus{
  --tw-shadow: var(--elevation-z9);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-10:focus{
  --tw-shadow: var(--elevation-z10);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-11:focus{
  --tw-shadow: var(--elevation-z11);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-12:focus{
  --tw-shadow: var(--elevation-z12);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-13:focus{
  --tw-shadow: var(--elevation-z13);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-14:focus{
  --tw-shadow: var(--elevation-z14);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-15:focus{
  --tw-shadow: var(--elevation-z15);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-16:focus{
  --tw-shadow: var(--elevation-z16);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-17:focus{
  --tw-shadow: var(--elevation-z17);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-18:focus{
  --tw-shadow: var(--elevation-z18);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-19:focus{
  --tw-shadow: var(--elevation-z19);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-20:focus{
  --tw-shadow: var(--elevation-z20);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow:focus{
  --tw-shadow: var(--elevation-z6);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-md:focus{
  --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-lg:focus{
  --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-xl:focus{
  --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-2xl:focus{
  --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-inner:focus{
  --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-outline:focus{
  --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-none:focus{
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

:root .focus\:shadow-b:focus{
  --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

*{
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgba(59, 130, 246, 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
}

:root .ring-0{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .ring-1{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .ring-2{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .ring-4{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .ring-8{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .ring{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .ring-inset{
  --tw-ring-inset: inset;
}

:root .focus-within\:ring-0:focus-within{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .focus-within\:ring-1:focus-within{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .focus-within\:ring-2:focus-within{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .focus-within\:ring-4:focus-within{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .focus-within\:ring-8:focus-within{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .focus-within\:ring:focus-within{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .focus-within\:ring-inset:focus-within{
  --tw-ring-inset: inset;
}

:root .focus\:ring-0:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .focus\:ring-1:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .focus\:ring-2:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .focus\:ring-4:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .focus\:ring-8:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .focus\:ring:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

:root .focus\:ring-inset:focus{
  --tw-ring-inset: inset;
}

:root .ring-offset-current{
  --tw-ring-offset-color: currentColor;
}

:root .ring-offset-transparent{
  --tw-ring-offset-color: transparent;
}

:root .ring-offset-black{
  --tw-ring-offset-color: var(--text-color);
}

:root .ring-offset-white{
  --tw-ring-offset-color: var(--text-color-light);
}

:root .ring-offset-contrast-black{
  --tw-ring-offset-color: black;
}

:root .ring-offset-contrast-white{
  --tw-ring-offset-color: white;
}

:root .ring-offset-gray-light{
  --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
}

:root .ring-offset-gray{
  --tw-ring-offset-color: rgb(158, 158, 158);
}

:root .ring-offset-red-light{
  --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
}

:root .ring-offset-red{
  --tw-ring-offset-color: rgb(244, 67, 54);
}

:root .ring-offset-orange-light{
  --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
}

:root .ring-offset-orange{
  --tw-ring-offset-color: rgb(255, 152, 0);
}

:root .ring-offset-deep-orange-light{
  --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
}

:root .ring-offset-deep-orange{
  --tw-ring-offset-color: rgb(255, 87, 34);
}

:root .ring-offset-amber-light{
  --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
}

:root .ring-offset-amber{
  --tw-ring-offset-color: rgb(255, 193, 7);
}

:root .ring-offset-green-light{
  --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
}

:root .ring-offset-green{
  --tw-ring-offset-color: rgb(76, 175, 80);
}

:root .ring-offset-teal-light{
  --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
}

:root .ring-offset-teal{
  --tw-ring-offset-color: rgb(0, 150, 136);
}

:root .ring-offset-cyan-light{
  --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
}

:root .ring-offset-cyan{
  --tw-ring-offset-color: rgb(0, 188, 212);
}

:root .ring-offset-purple-light{
  --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
}

:root .ring-offset-purple{
  --tw-ring-offset-color: rgb(156, 39, 176);
}

:root .ring-offset-deep-purple-light{
  --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
}

:root .ring-offset-deep-purple{
  --tw-ring-offset-color: rgb(103, 58, 183);
}

:root .ring-offset-pink-light{
  --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
}

:root .ring-offset-pink{
  --tw-ring-offset-color: rgb(233, 30, 99);
}

:root .ring-offset-primary-light{
  --tw-ring-offset-color: rgba(var(--color-primary), .1);
}

:root .ring-offset-primary{
  --tw-ring-offset-color: rgb(var(--color-primary));
}

:root .ring-offset-accent-light{
  --tw-ring-offset-color: rgba(var(--color-accent), .1);
}

:root .ring-offset-accent{
  --tw-ring-offset-color: rgb(var(--color-accent));
}

:root .ring-offset-warn-light{
  --tw-ring-offset-color: rgba(var(--color-warn), .1);
}

:root .ring-offset-warn{
  --tw-ring-offset-color: rgb(var(--color-warn));
}

:root .focus-within\:ring-offset-current:focus-within{
  --tw-ring-offset-color: currentColor;
}

:root .focus-within\:ring-offset-transparent:focus-within{
  --tw-ring-offset-color: transparent;
}

:root .focus-within\:ring-offset-black:focus-within{
  --tw-ring-offset-color: var(--text-color);
}

:root .focus-within\:ring-offset-white:focus-within{
  --tw-ring-offset-color: var(--text-color-light);
}

:root .focus-within\:ring-offset-contrast-black:focus-within{
  --tw-ring-offset-color: black;
}

:root .focus-within\:ring-offset-contrast-white:focus-within{
  --tw-ring-offset-color: white;
}

:root .focus-within\:ring-offset-gray-light:focus-within{
  --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
}

:root .focus-within\:ring-offset-gray:focus-within{
  --tw-ring-offset-color: rgb(158, 158, 158);
}

:root .focus-within\:ring-offset-red-light:focus-within{
  --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
}

:root .focus-within\:ring-offset-red:focus-within{
  --tw-ring-offset-color: rgb(244, 67, 54);
}

:root .focus-within\:ring-offset-orange-light:focus-within{
  --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
}

:root .focus-within\:ring-offset-orange:focus-within{
  --tw-ring-offset-color: rgb(255, 152, 0);
}

:root .focus-within\:ring-offset-deep-orange-light:focus-within{
  --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
}

:root .focus-within\:ring-offset-deep-orange:focus-within{
  --tw-ring-offset-color: rgb(255, 87, 34);
}

:root .focus-within\:ring-offset-amber-light:focus-within{
  --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
}

:root .focus-within\:ring-offset-amber:focus-within{
  --tw-ring-offset-color: rgb(255, 193, 7);
}

:root .focus-within\:ring-offset-green-light:focus-within{
  --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
}

:root .focus-within\:ring-offset-green:focus-within{
  --tw-ring-offset-color: rgb(76, 175, 80);
}

:root .focus-within\:ring-offset-teal-light:focus-within{
  --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
}

:root .focus-within\:ring-offset-teal:focus-within{
  --tw-ring-offset-color: rgb(0, 150, 136);
}

:root .focus-within\:ring-offset-cyan-light:focus-within{
  --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
}

:root .focus-within\:ring-offset-cyan:focus-within{
  --tw-ring-offset-color: rgb(0, 188, 212);
}

:root .focus-within\:ring-offset-purple-light:focus-within{
  --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
}

:root .focus-within\:ring-offset-purple:focus-within{
  --tw-ring-offset-color: rgb(156, 39, 176);
}

:root .focus-within\:ring-offset-deep-purple-light:focus-within{
  --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
}

:root .focus-within\:ring-offset-deep-purple:focus-within{
  --tw-ring-offset-color: rgb(103, 58, 183);
}

:root .focus-within\:ring-offset-pink-light:focus-within{
  --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
}

:root .focus-within\:ring-offset-pink:focus-within{
  --tw-ring-offset-color: rgb(233, 30, 99);
}

:root .focus-within\:ring-offset-primary-light:focus-within{
  --tw-ring-offset-color: rgba(var(--color-primary), .1);
}

:root .focus-within\:ring-offset-primary:focus-within{
  --tw-ring-offset-color: rgb(var(--color-primary));
}

:root .focus-within\:ring-offset-accent-light:focus-within{
  --tw-ring-offset-color: rgba(var(--color-accent), .1);
}

:root .focus-within\:ring-offset-accent:focus-within{
  --tw-ring-offset-color: rgb(var(--color-accent));
}

:root .focus-within\:ring-offset-warn-light:focus-within{
  --tw-ring-offset-color: rgba(var(--color-warn), .1);
}

:root .focus-within\:ring-offset-warn:focus-within{
  --tw-ring-offset-color: rgb(var(--color-warn));
}

:root .focus\:ring-offset-current:focus{
  --tw-ring-offset-color: currentColor;
}

:root .focus\:ring-offset-transparent:focus{
  --tw-ring-offset-color: transparent;
}

:root .focus\:ring-offset-black:focus{
  --tw-ring-offset-color: var(--text-color);
}

:root .focus\:ring-offset-white:focus{
  --tw-ring-offset-color: var(--text-color-light);
}

:root .focus\:ring-offset-contrast-black:focus{
  --tw-ring-offset-color: black;
}

:root .focus\:ring-offset-contrast-white:focus{
  --tw-ring-offset-color: white;
}

:root .focus\:ring-offset-gray-light:focus{
  --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
}

:root .focus\:ring-offset-gray:focus{
  --tw-ring-offset-color: rgb(158, 158, 158);
}

:root .focus\:ring-offset-red-light:focus{
  --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
}

:root .focus\:ring-offset-red:focus{
  --tw-ring-offset-color: rgb(244, 67, 54);
}

:root .focus\:ring-offset-orange-light:focus{
  --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
}

:root .focus\:ring-offset-orange:focus{
  --tw-ring-offset-color: rgb(255, 152, 0);
}

:root .focus\:ring-offset-deep-orange-light:focus{
  --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
}

:root .focus\:ring-offset-deep-orange:focus{
  --tw-ring-offset-color: rgb(255, 87, 34);
}

:root .focus\:ring-offset-amber-light:focus{
  --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
}

:root .focus\:ring-offset-amber:focus{
  --tw-ring-offset-color: rgb(255, 193, 7);
}

:root .focus\:ring-offset-green-light:focus{
  --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
}

:root .focus\:ring-offset-green:focus{
  --tw-ring-offset-color: rgb(76, 175, 80);
}

:root .focus\:ring-offset-teal-light:focus{
  --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
}

:root .focus\:ring-offset-teal:focus{
  --tw-ring-offset-color: rgb(0, 150, 136);
}

:root .focus\:ring-offset-cyan-light:focus{
  --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
}

:root .focus\:ring-offset-cyan:focus{
  --tw-ring-offset-color: rgb(0, 188, 212);
}

:root .focus\:ring-offset-purple-light:focus{
  --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
}

:root .focus\:ring-offset-purple:focus{
  --tw-ring-offset-color: rgb(156, 39, 176);
}

:root .focus\:ring-offset-deep-purple-light:focus{
  --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
}

:root .focus\:ring-offset-deep-purple:focus{
  --tw-ring-offset-color: rgb(103, 58, 183);
}

:root .focus\:ring-offset-pink-light:focus{
  --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
}

:root .focus\:ring-offset-pink:focus{
  --tw-ring-offset-color: rgb(233, 30, 99);
}

:root .focus\:ring-offset-primary-light:focus{
  --tw-ring-offset-color: rgba(var(--color-primary), .1);
}

:root .focus\:ring-offset-primary:focus{
  --tw-ring-offset-color: rgb(var(--color-primary));
}

:root .focus\:ring-offset-accent-light:focus{
  --tw-ring-offset-color: rgba(var(--color-accent), .1);
}

:root .focus\:ring-offset-accent:focus{
  --tw-ring-offset-color: rgb(var(--color-accent));
}

:root .focus\:ring-offset-warn-light:focus{
  --tw-ring-offset-color: rgba(var(--color-warn), .1);
}

:root .focus\:ring-offset-warn:focus{
  --tw-ring-offset-color: rgb(var(--color-warn));
}

:root .ring-offset-0{
  --tw-ring-offset-width: 0px;
}

:root .ring-offset-1{
  --tw-ring-offset-width: 1px;
}

:root .ring-offset-2{
  --tw-ring-offset-width: 2px;
}

:root .ring-offset-4{
  --tw-ring-offset-width: 4px;
}

:root .ring-offset-8{
  --tw-ring-offset-width: 8px;
}

:root .focus-within\:ring-offset-0:focus-within{
  --tw-ring-offset-width: 0px;
}

:root .focus-within\:ring-offset-1:focus-within{
  --tw-ring-offset-width: 1px;
}

:root .focus-within\:ring-offset-2:focus-within{
  --tw-ring-offset-width: 2px;
}

:root .focus-within\:ring-offset-4:focus-within{
  --tw-ring-offset-width: 4px;
}

:root .focus-within\:ring-offset-8:focus-within{
  --tw-ring-offset-width: 8px;
}

:root .focus\:ring-offset-0:focus{
  --tw-ring-offset-width: 0px;
}

:root .focus\:ring-offset-1:focus{
  --tw-ring-offset-width: 1px;
}

:root .focus\:ring-offset-2:focus{
  --tw-ring-offset-width: 2px;
}

:root .focus\:ring-offset-4:focus{
  --tw-ring-offset-width: 4px;
}

:root .focus\:ring-offset-8:focus{
  --tw-ring-offset-width: 8px;
}

:root .ring-current{
  --tw-ring-color: currentColor;
}

:root .ring-transparent{
  --tw-ring-color: transparent;
}

:root .ring-black{
  --tw-ring-color: var(--text-color);
}

:root .ring-white{
  --tw-ring-color: var(--text-color-light);
}

:root .ring-contrast-black{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
}

:root .ring-contrast-white{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
}

:root .ring-gray-light{
  --tw-ring-color: rgba(158, 158, 158, 0.1);
}

:root .ring-gray{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
}

:root .ring-red-light{
  --tw-ring-color: rgba(244, 67, 54, 0.1);
}

:root .ring-red{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
}

:root .ring-orange-light{
  --tw-ring-color: rgba(255, 152, 0, 0.1);
}

:root .ring-orange{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
}

:root .ring-deep-orange-light{
  --tw-ring-color: rgba(255, 87, 34, 0.1);
}

:root .ring-deep-orange{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
}

:root .ring-amber-light{
  --tw-ring-color: rgba(255, 193, 7, 0.1);
}

:root .ring-amber{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
}

:root .ring-green-light{
  --tw-ring-color: rgba(76, 175, 80, 0.1);
}

:root .ring-green{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
}

:root .ring-teal-light{
  --tw-ring-color: rgba(0, 150, 136, 0.1);
}

:root .ring-teal{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
}

:root .ring-cyan-light{
  --tw-ring-color: rgba(0, 188, 212, 0.1);
}

:root .ring-cyan{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
}

:root .ring-purple-light{
  --tw-ring-color: rgba(156, 39, 176, 0.1);
}

:root .ring-purple{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
}

:root .ring-deep-purple-light{
  --tw-ring-color: rgba(103, 58, 183, 0.1);
}

:root .ring-deep-purple{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
}

:root .ring-pink-light{
  --tw-ring-color: rgba(233, 30, 99, 0.1);
}

:root .ring-pink{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
}

:root .ring-primary-light{
  --tw-ring-color: rgba(var(--color-primary), .1);
}

:root .ring-primary{
  --tw-ring-color: rgb(var(--color-primary));
}

:root .ring-accent-light{
  --tw-ring-color: rgba(var(--color-accent), .1);
}

:root .ring-accent{
  --tw-ring-color: rgb(var(--color-accent));
}

:root .ring-warn-light{
  --tw-ring-color: rgba(var(--color-warn), .1);
}

:root .ring-warn{
  --tw-ring-color: rgb(var(--color-warn));
}

:root .focus-within\:ring-current:focus-within{
  --tw-ring-color: currentColor;
}

:root .focus-within\:ring-transparent:focus-within{
  --tw-ring-color: transparent;
}

:root .focus-within\:ring-black:focus-within{
  --tw-ring-color: var(--text-color);
}

:root .focus-within\:ring-white:focus-within{
  --tw-ring-color: var(--text-color-light);
}

:root .focus-within\:ring-contrast-black:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
}

:root .focus-within\:ring-contrast-white:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
}

:root .focus-within\:ring-gray-light:focus-within{
  --tw-ring-color: rgba(158, 158, 158, 0.1);
}

:root .focus-within\:ring-gray:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
}

:root .focus-within\:ring-red-light:focus-within{
  --tw-ring-color: rgba(244, 67, 54, 0.1);
}

:root .focus-within\:ring-red:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
}

:root .focus-within\:ring-orange-light:focus-within{
  --tw-ring-color: rgba(255, 152, 0, 0.1);
}

:root .focus-within\:ring-orange:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
}

:root .focus-within\:ring-deep-orange-light:focus-within{
  --tw-ring-color: rgba(255, 87, 34, 0.1);
}

:root .focus-within\:ring-deep-orange:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
}

:root .focus-within\:ring-amber-light:focus-within{
  --tw-ring-color: rgba(255, 193, 7, 0.1);
}

:root .focus-within\:ring-amber:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
}

:root .focus-within\:ring-green-light:focus-within{
  --tw-ring-color: rgba(76, 175, 80, 0.1);
}

:root .focus-within\:ring-green:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
}

:root .focus-within\:ring-teal-light:focus-within{
  --tw-ring-color: rgba(0, 150, 136, 0.1);
}

:root .focus-within\:ring-teal:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
}

:root .focus-within\:ring-cyan-light:focus-within{
  --tw-ring-color: rgba(0, 188, 212, 0.1);
}

:root .focus-within\:ring-cyan:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
}

:root .focus-within\:ring-purple-light:focus-within{
  --tw-ring-color: rgba(156, 39, 176, 0.1);
}

:root .focus-within\:ring-purple:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
}

:root .focus-within\:ring-deep-purple-light:focus-within{
  --tw-ring-color: rgba(103, 58, 183, 0.1);
}

:root .focus-within\:ring-deep-purple:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
}

:root .focus-within\:ring-pink-light:focus-within{
  --tw-ring-color: rgba(233, 30, 99, 0.1);
}

:root .focus-within\:ring-pink:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
}

:root .focus-within\:ring-primary-light:focus-within{
  --tw-ring-color: rgba(var(--color-primary), .1);
}

:root .focus-within\:ring-primary:focus-within{
  --tw-ring-color: rgb(var(--color-primary));
}

:root .focus-within\:ring-accent-light:focus-within{
  --tw-ring-color: rgba(var(--color-accent), .1);
}

:root .focus-within\:ring-accent:focus-within{
  --tw-ring-color: rgb(var(--color-accent));
}

:root .focus-within\:ring-warn-light:focus-within{
  --tw-ring-color: rgba(var(--color-warn), .1);
}

:root .focus-within\:ring-warn:focus-within{
  --tw-ring-color: rgb(var(--color-warn));
}

:root .focus\:ring-current:focus{
  --tw-ring-color: currentColor;
}

:root .focus\:ring-transparent:focus{
  --tw-ring-color: transparent;
}

:root .focus\:ring-black:focus{
  --tw-ring-color: var(--text-color);
}

:root .focus\:ring-white:focus{
  --tw-ring-color: var(--text-color-light);
}

:root .focus\:ring-contrast-black:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
}

:root .focus\:ring-contrast-white:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
}

:root .focus\:ring-gray-light:focus{
  --tw-ring-color: rgba(158, 158, 158, 0.1);
}

:root .focus\:ring-gray:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
}

:root .focus\:ring-red-light:focus{
  --tw-ring-color: rgba(244, 67, 54, 0.1);
}

:root .focus\:ring-red:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
}

:root .focus\:ring-orange-light:focus{
  --tw-ring-color: rgba(255, 152, 0, 0.1);
}

:root .focus\:ring-orange:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
}

:root .focus\:ring-deep-orange-light:focus{
  --tw-ring-color: rgba(255, 87, 34, 0.1);
}

:root .focus\:ring-deep-orange:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
}

:root .focus\:ring-amber-light:focus{
  --tw-ring-color: rgba(255, 193, 7, 0.1);
}

:root .focus\:ring-amber:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
}

:root .focus\:ring-green-light:focus{
  --tw-ring-color: rgba(76, 175, 80, 0.1);
}

:root .focus\:ring-green:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
}

:root .focus\:ring-teal-light:focus{
  --tw-ring-color: rgba(0, 150, 136, 0.1);
}

:root .focus\:ring-teal:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
}

:root .focus\:ring-cyan-light:focus{
  --tw-ring-color: rgba(0, 188, 212, 0.1);
}

:root .focus\:ring-cyan:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
}

:root .focus\:ring-purple-light:focus{
  --tw-ring-color: rgba(156, 39, 176, 0.1);
}

:root .focus\:ring-purple:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
}

:root .focus\:ring-deep-purple-light:focus{
  --tw-ring-color: rgba(103, 58, 183, 0.1);
}

:root .focus\:ring-deep-purple:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
}

:root .focus\:ring-pink-light:focus{
  --tw-ring-color: rgba(233, 30, 99, 0.1);
}

:root .focus\:ring-pink:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
}

:root .focus\:ring-primary-light:focus{
  --tw-ring-color: rgba(var(--color-primary), .1);
}

:root .focus\:ring-primary:focus{
  --tw-ring-color: rgb(var(--color-primary));
}

:root .focus\:ring-accent-light:focus{
  --tw-ring-color: rgba(var(--color-accent), .1);
}

:root .focus\:ring-accent:focus{
  --tw-ring-color: rgb(var(--color-accent));
}

:root .focus\:ring-warn-light:focus{
  --tw-ring-color: rgba(var(--color-warn), .1);
}

:root .focus\:ring-warn:focus{
  --tw-ring-color: rgb(var(--color-warn));
}

:root .ring-opacity-0{
  --tw-ring-opacity: 0;
}

:root .ring-opacity-25{
  --tw-ring-opacity: 0.25;
}

:root .ring-opacity-50{
  --tw-ring-opacity: 0.5;
}

:root .ring-opacity-75{
  --tw-ring-opacity: 0.75;
}

:root .ring-opacity-100{
  --tw-ring-opacity: 1;
}

:root .focus-within\:ring-opacity-0:focus-within{
  --tw-ring-opacity: 0;
}

:root .focus-within\:ring-opacity-25:focus-within{
  --tw-ring-opacity: 0.25;
}

:root .focus-within\:ring-opacity-50:focus-within{
  --tw-ring-opacity: 0.5;
}

:root .focus-within\:ring-opacity-75:focus-within{
  --tw-ring-opacity: 0.75;
}

:root .focus-within\:ring-opacity-100:focus-within{
  --tw-ring-opacity: 1;
}

:root .focus\:ring-opacity-0:focus{
  --tw-ring-opacity: 0;
}

:root .focus\:ring-opacity-25:focus{
  --tw-ring-opacity: 0.25;
}

:root .focus\:ring-opacity-50:focus{
  --tw-ring-opacity: 0.5;
}

:root .focus\:ring-opacity-75:focus{
  --tw-ring-opacity: 0.75;
}

:root .focus\:ring-opacity-100:focus{
  --tw-ring-opacity: 1;
}

:root .fill-current{
  fill: currentColor;
}

:root .stroke-current{
  stroke: currentColor;
}

:root .stroke-0{
  stroke-width: 0;
}

:root .stroke-1{
  stroke-width: 1;
}

:root .stroke-2{
  stroke-width: 2;
}

:root .table-auto{
  table-layout: auto;
}

:root .table-fixed{
  table-layout: fixed;
}

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

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

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

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

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

:root .text-hint{
  color: var(--text-hint);
}

:root .text-current{
  color: currentColor;
}

:root .text-transparent{
  color: transparent;
}

:root .text-black{
  color: var(--text-color);
}

:root .text-white{
  color: var(--text-color-light);
}

:root .text-contrast-black{
  --tw-text-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-text-opacity));
}

:root .text-contrast-white{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .text-gray-light{
  color: rgba(158, 158, 158, 0.1);
}

:root .text-gray{
  --tw-text-opacity: 1;
  color: rgba(158, 158, 158, var(--tw-text-opacity));
}

:root .text-red-light{
  color: rgba(244, 67, 54, 0.1);
}

:root .text-red{
  --tw-text-opacity: 1;
  color: rgba(244, 67, 54, var(--tw-text-opacity));
}

:root .text-orange-light{
  color: rgba(255, 152, 0, 0.1);
}

:root .text-orange{
  --tw-text-opacity: 1;
  color: rgba(255, 152, 0, var(--tw-text-opacity));
}

:root .text-deep-orange-light{
  color: rgba(255, 87, 34, 0.1);
}

:root .text-deep-orange{
  --tw-text-opacity: 1;
  color: rgba(255, 87, 34, var(--tw-text-opacity));
}

:root .text-amber-light{
  color: rgba(255, 193, 7, 0.1);
}

:root .text-amber{
  --tw-text-opacity: 1;
  color: rgba(255, 193, 7, var(--tw-text-opacity));
}

:root .text-green-light{
  color: rgba(76, 175, 80, 0.1);
}

:root .text-green{
  --tw-text-opacity: 1;
  color: rgba(76, 175, 80, var(--tw-text-opacity));
}

:root .text-teal-light{
  color: rgba(0, 150, 136, 0.1);
}

:root .text-teal{
  --tw-text-opacity: 1;
  color: rgba(0, 150, 136, var(--tw-text-opacity));
}

:root .text-cyan-light{
  color: rgba(0, 188, 212, 0.1);
}

:root .text-cyan{
  --tw-text-opacity: 1;
  color: rgba(0, 188, 212, var(--tw-text-opacity));
}

:root .text-purple-light{
  color: rgba(156, 39, 176, 0.1);
}

:root .text-purple{
  --tw-text-opacity: 1;
  color: rgba(156, 39, 176, var(--tw-text-opacity));
}

:root .text-deep-purple-light{
  color: rgba(103, 58, 183, 0.1);
}

:root .text-deep-purple{
  --tw-text-opacity: 1;
  color: rgba(103, 58, 183, var(--tw-text-opacity));
}

:root .text-pink-light{
  color: rgba(233, 30, 99, 0.1);
}

:root .text-pink{
  --tw-text-opacity: 1;
  color: rgba(233, 30, 99, var(--tw-text-opacity));
}

:root .text-primary-light{
  color: rgba(var(--color-primary), .1);
}

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

:root .text-accent-light{
  color: rgba(var(--color-accent), .1);
}

:root .text-accent{
  color: rgb(var(--color-accent));
}

:root .text-warn-light{
  color: rgba(var(--color-warn), .1);
}

:root .text-warn{
  color: rgb(var(--color-warn));
}

:root .text-primary-contrast{
  color: rgb(var(--color-primary-contrast));
}

:root .text-accent-contrast{
  color: rgb(var(--color-accent-contrast));
}

:root .text-warn-contrast{
  color: rgb(var(--color-warn-contrast));
}

:root .text-red-contrast{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .text-green-contrast{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .text-amber-contrast{
  --tw-text-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-text-opacity));
}

:root .text-orange-contrast{
  --tw-text-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-text-opacity));
}

:root .text-deep-orange-contrast{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .text-purple-contrast{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .text-deep-purple-contrast{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .text-cyan-contrast{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .text-teal-contrast{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .text-gray-contrast{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .text-light-green-contrast{
  --tw-text-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-text-opacity));
}

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

:root .hover\:text-hint:hover{
  color: var(--text-hint);
}

:root .hover\:text-current:hover{
  color: currentColor;
}

:root .hover\:text-transparent:hover{
  color: transparent;
}

:root .hover\:text-black:hover{
  color: var(--text-color);
}

:root .hover\:text-white:hover{
  color: var(--text-color-light);
}

:root .hover\:text-contrast-black:hover{
  --tw-text-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-text-opacity));
}

:root .hover\:text-contrast-white:hover{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .hover\:text-gray-light:hover{
  color: rgba(158, 158, 158, 0.1);
}

:root .hover\:text-gray:hover{
  --tw-text-opacity: 1;
  color: rgba(158, 158, 158, var(--tw-text-opacity));
}

:root .hover\:text-red-light:hover{
  color: rgba(244, 67, 54, 0.1);
}

:root .hover\:text-red:hover{
  --tw-text-opacity: 1;
  color: rgba(244, 67, 54, var(--tw-text-opacity));
}

:root .hover\:text-orange-light:hover{
  color: rgba(255, 152, 0, 0.1);
}

:root .hover\:text-orange:hover{
  --tw-text-opacity: 1;
  color: rgba(255, 152, 0, var(--tw-text-opacity));
}

:root .hover\:text-deep-orange-light:hover{
  color: rgba(255, 87, 34, 0.1);
}

:root .hover\:text-deep-orange:hover{
  --tw-text-opacity: 1;
  color: rgba(255, 87, 34, var(--tw-text-opacity));
}

:root .hover\:text-amber-light:hover{
  color: rgba(255, 193, 7, 0.1);
}

:root .hover\:text-amber:hover{
  --tw-text-opacity: 1;
  color: rgba(255, 193, 7, var(--tw-text-opacity));
}

:root .hover\:text-green-light:hover{
  color: rgba(76, 175, 80, 0.1);
}

:root .hover\:text-green:hover{
  --tw-text-opacity: 1;
  color: rgba(76, 175, 80, var(--tw-text-opacity));
}

:root .hover\:text-teal-light:hover{
  color: rgba(0, 150, 136, 0.1);
}

:root .hover\:text-teal:hover{
  --tw-text-opacity: 1;
  color: rgba(0, 150, 136, var(--tw-text-opacity));
}

:root .hover\:text-cyan-light:hover{
  color: rgba(0, 188, 212, 0.1);
}

:root .hover\:text-cyan:hover{
  --tw-text-opacity: 1;
  color: rgba(0, 188, 212, var(--tw-text-opacity));
}

:root .hover\:text-purple-light:hover{
  color: rgba(156, 39, 176, 0.1);
}

:root .hover\:text-purple:hover{
  --tw-text-opacity: 1;
  color: rgba(156, 39, 176, var(--tw-text-opacity));
}

:root .hover\:text-deep-purple-light:hover{
  color: rgba(103, 58, 183, 0.1);
}

:root .hover\:text-deep-purple:hover{
  --tw-text-opacity: 1;
  color: rgba(103, 58, 183, var(--tw-text-opacity));
}

:root .hover\:text-pink-light:hover{
  color: rgba(233, 30, 99, 0.1);
}

:root .hover\:text-pink:hover{
  --tw-text-opacity: 1;
  color: rgba(233, 30, 99, var(--tw-text-opacity));
}

:root .hover\:text-primary-light:hover{
  color: rgba(var(--color-primary), .1);
}

:root .hover\:text-primary:hover{
  color: rgb(var(--color-primary));
}

:root .hover\:text-accent-light:hover{
  color: rgba(var(--color-accent), .1);
}

:root .hover\:text-accent:hover{
  color: rgb(var(--color-accent));
}

:root .hover\:text-warn-light:hover{
  color: rgba(var(--color-warn), .1);
}

:root .hover\:text-warn:hover{
  color: rgb(var(--color-warn));
}

:root .hover\:text-primary-contrast:hover{
  color: rgb(var(--color-primary-contrast));
}

:root .hover\:text-accent-contrast:hover{
  color: rgb(var(--color-accent-contrast));
}

:root .hover\:text-warn-contrast:hover{
  color: rgb(var(--color-warn-contrast));
}

:root .hover\:text-red-contrast:hover{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .hover\:text-green-contrast:hover{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .hover\:text-amber-contrast:hover{
  --tw-text-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-text-opacity));
}

:root .hover\:text-orange-contrast:hover{
  --tw-text-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-text-opacity));
}

:root .hover\:text-deep-orange-contrast:hover{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .hover\:text-purple-contrast:hover{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .hover\:text-deep-purple-contrast:hover{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .hover\:text-cyan-contrast:hover{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .hover\:text-teal-contrast:hover{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .hover\:text-gray-contrast:hover{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .hover\:text-light-green-contrast:hover{
  --tw-text-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-text-opacity));
}

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

:root .focus\:text-hint:focus{
  color: var(--text-hint);
}

:root .focus\:text-current:focus{
  color: currentColor;
}

:root .focus\:text-transparent:focus{
  color: transparent;
}

:root .focus\:text-black:focus{
  color: var(--text-color);
}

:root .focus\:text-white:focus{
  color: var(--text-color-light);
}

:root .focus\:text-contrast-black:focus{
  --tw-text-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-text-opacity));
}

:root .focus\:text-contrast-white:focus{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .focus\:text-gray-light:focus{
  color: rgba(158, 158, 158, 0.1);
}

:root .focus\:text-gray:focus{
  --tw-text-opacity: 1;
  color: rgba(158, 158, 158, var(--tw-text-opacity));
}

:root .focus\:text-red-light:focus{
  color: rgba(244, 67, 54, 0.1);
}

:root .focus\:text-red:focus{
  --tw-text-opacity: 1;
  color: rgba(244, 67, 54, var(--tw-text-opacity));
}

:root .focus\:text-orange-light:focus{
  color: rgba(255, 152, 0, 0.1);
}

:root .focus\:text-orange:focus{
  --tw-text-opacity: 1;
  color: rgba(255, 152, 0, var(--tw-text-opacity));
}

:root .focus\:text-deep-orange-light:focus{
  color: rgba(255, 87, 34, 0.1);
}

:root .focus\:text-deep-orange:focus{
  --tw-text-opacity: 1;
  color: rgba(255, 87, 34, var(--tw-text-opacity));
}

:root .focus\:text-amber-light:focus{
  color: rgba(255, 193, 7, 0.1);
}

:root .focus\:text-amber:focus{
  --tw-text-opacity: 1;
  color: rgba(255, 193, 7, var(--tw-text-opacity));
}

:root .focus\:text-green-light:focus{
  color: rgba(76, 175, 80, 0.1);
}

:root .focus\:text-green:focus{
  --tw-text-opacity: 1;
  color: rgba(76, 175, 80, var(--tw-text-opacity));
}

:root .focus\:text-teal-light:focus{
  color: rgba(0, 150, 136, 0.1);
}

:root .focus\:text-teal:focus{
  --tw-text-opacity: 1;
  color: rgba(0, 150, 136, var(--tw-text-opacity));
}

:root .focus\:text-cyan-light:focus{
  color: rgba(0, 188, 212, 0.1);
}

:root .focus\:text-cyan:focus{
  --tw-text-opacity: 1;
  color: rgba(0, 188, 212, var(--tw-text-opacity));
}

:root .focus\:text-purple-light:focus{
  color: rgba(156, 39, 176, 0.1);
}

:root .focus\:text-purple:focus{
  --tw-text-opacity: 1;
  color: rgba(156, 39, 176, var(--tw-text-opacity));
}

:root .focus\:text-deep-purple-light:focus{
  color: rgba(103, 58, 183, 0.1);
}

:root .focus\:text-deep-purple:focus{
  --tw-text-opacity: 1;
  color: rgba(103, 58, 183, var(--tw-text-opacity));
}

:root .focus\:text-pink-light:focus{
  color: rgba(233, 30, 99, 0.1);
}

:root .focus\:text-pink:focus{
  --tw-text-opacity: 1;
  color: rgba(233, 30, 99, var(--tw-text-opacity));
}

:root .focus\:text-primary-light:focus{
  color: rgba(var(--color-primary), .1);
}

:root .focus\:text-primary:focus{
  color: rgb(var(--color-primary));
}

:root .focus\:text-accent-light:focus{
  color: rgba(var(--color-accent), .1);
}

:root .focus\:text-accent:focus{
  color: rgb(var(--color-accent));
}

:root .focus\:text-warn-light:focus{
  color: rgba(var(--color-warn), .1);
}

:root .focus\:text-warn:focus{
  color: rgb(var(--color-warn));
}

:root .focus\:text-primary-contrast:focus{
  color: rgb(var(--color-primary-contrast));
}

:root .focus\:text-accent-contrast:focus{
  color: rgb(var(--color-accent-contrast));
}

:root .focus\:text-warn-contrast:focus{
  color: rgb(var(--color-warn-contrast));
}

:root .focus\:text-red-contrast:focus{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .focus\:text-green-contrast:focus{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .focus\:text-amber-contrast:focus{
  --tw-text-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-text-opacity));
}

:root .focus\:text-orange-contrast:focus{
  --tw-text-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-text-opacity));
}

:root .focus\:text-deep-orange-contrast:focus{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .focus\:text-purple-contrast:focus{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .focus\:text-deep-purple-contrast:focus{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .focus\:text-cyan-contrast:focus{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .focus\:text-teal-contrast:focus{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .focus\:text-gray-contrast:focus{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

:root .focus\:text-light-green-contrast:focus{
  --tw-text-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-text-opacity));
}

:root .text-opacity-0{
  --tw-text-opacity: 0;
}

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

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

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

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

:root .group:hover .group-hover\:text-opacity-0{
  --tw-text-opacity: 0;
}

:root .group:hover .group-hover\:text-opacity-25{
  --tw-text-opacity: 0.25;
}

:root .group:hover .group-hover\:text-opacity-50{
  --tw-text-opacity: 0.5;
}

:root .group:hover .group-hover\:text-opacity-75{
  --tw-text-opacity: 0.75;
}

:root .group:hover .group-hover\:text-opacity-100{
  --tw-text-opacity: 1;
}

:root .focus-within\:text-opacity-0:focus-within{
  --tw-text-opacity: 0;
}

:root .focus-within\:text-opacity-25:focus-within{
  --tw-text-opacity: 0.25;
}

:root .focus-within\:text-opacity-50:focus-within{
  --tw-text-opacity: 0.5;
}

:root .focus-within\:text-opacity-75:focus-within{
  --tw-text-opacity: 0.75;
}

:root .focus-within\:text-opacity-100:focus-within{
  --tw-text-opacity: 1;
}

:root .hover\:text-opacity-0:hover{
  --tw-text-opacity: 0;
}

:root .hover\:text-opacity-25:hover{
  --tw-text-opacity: 0.25;
}

:root .hover\:text-opacity-50:hover{
  --tw-text-opacity: 0.5;
}

:root .hover\:text-opacity-75:hover{
  --tw-text-opacity: 0.75;
}

:root .hover\:text-opacity-100:hover{
  --tw-text-opacity: 1;
}

:root .focus\:text-opacity-0:focus{
  --tw-text-opacity: 0;
}

:root .focus\:text-opacity-25:focus{
  --tw-text-opacity: 0.25;
}

:root .focus\:text-opacity-50:focus{
  --tw-text-opacity: 0.5;
}

:root .focus\:text-opacity-75:focus{
  --tw-text-opacity: 0.75;
}

:root .focus\:text-opacity-100:focus{
  --tw-text-opacity: 1;
}

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

:root .overflow-ellipsis{
  text-overflow: ellipsis;
}

:root .overflow-clip{
  text-overflow: clip;
}

:root .italic{
  font-style: italic;
}

:root .not-italic{
  font-style: normal;
}

:root .uppercase{
  text-transform: uppercase;
}

:root .lowercase{
  text-transform: lowercase;
}

:root .capitalize{
  text-transform: capitalize;
}

:root .normal-case{
  text-transform: none;
}

:root .underline{
  text-decoration: underline;
}

:root .line-through{
  text-decoration: line-through;
}

:root .no-underline{
  text-decoration: none;
}

:root .hover\:underline:hover{
  text-decoration: underline;
}

:root .hover\:line-through:hover{
  text-decoration: line-through;
}

:root .hover\:no-underline:hover{
  text-decoration: none;
}

:root .focus\:underline:focus{
  text-decoration: underline;
}

:root .focus\:line-through:focus{
  text-decoration: line-through;
}

:root .focus\:no-underline:focus{
  text-decoration: none;
}

:root .antialiased{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:root .subpixel-antialiased{
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}

:root .ordinal, :root .slashed-zero, :root .lining-nums, :root .oldstyle-nums, :root .proportional-nums, :root .tabular-nums, :root .diagonal-fractions, :root .stacked-fractions{
  --tw-ordinal: var(--tw-empty,/*!*/ /*!*/);
  --tw-slashed-zero: var(--tw-empty,/*!*/ /*!*/);
  --tw-numeric-figure: var(--tw-empty,/*!*/ /*!*/);
  --tw-numeric-spacing: var(--tw-empty,/*!*/ /*!*/);
  --tw-numeric-fraction: var(--tw-empty,/*!*/ /*!*/);
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

:root .normal-nums{
  font-variant-numeric: normal;
}

:root .ordinal{
  --tw-ordinal: ordinal;
}

:root .slashed-zero{
  --tw-slashed-zero: slashed-zero;
}

:root .lining-nums{
  --tw-numeric-figure: lining-nums;
}

:root .oldstyle-nums{
  --tw-numeric-figure: oldstyle-nums;
}

:root .proportional-nums{
  --tw-numeric-spacing: proportional-nums;
}

:root .tabular-nums{
  --tw-numeric-spacing: tabular-nums;
}

:root .diagonal-fractions{
  --tw-numeric-fraction: diagonal-fractions;
}

:root .stacked-fractions{
  --tw-numeric-fraction: stacked-fractions;
}

:root .tracking-tighter{
  letter-spacing: -0.05em;
}

:root .tracking-tight{
  letter-spacing: -0.025em;
}

:root .tracking-normal{
  letter-spacing: 0;
}

:root .tracking-wide{
  letter-spacing: 0.025em;
}

:root .tracking-wider{
  letter-spacing: 0.05em;
}

:root .tracking-widest{
  letter-spacing: 0.1em;
}

:root .select-none{
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

:root .select-text{
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
}

:root .select-all{
  -webkit-user-select: all;
     -moz-user-select: all;
          user-select: all;
}

:root .select-auto{
  -webkit-user-select: auto;
     -moz-user-select: auto;
          user-select: auto;
}

:root .align-baseline{
  vertical-align: baseline;
}

:root .align-top{
  vertical-align: top;
}

:root .align-middle{
  vertical-align: middle;
}

:root .align-bottom{
  vertical-align: bottom;
}

:root .align-text-top{
  vertical-align: text-top;
}

:root .align-text-bottom{
  vertical-align: text-bottom;
}

:root .visible{
  visibility: visible;
}

:root .invisible{
  visibility: hidden;
}

:root .whitespace-normal{
  white-space: normal;
}

:root .whitespace-nowrap{
  white-space: nowrap;
}

:root .whitespace-pre{
  white-space: pre;
}

:root .whitespace-pre-line{
  white-space: pre-line;
}

:root .whitespace-pre-wrap{
  white-space: pre-wrap;
}

:root .break-normal{
  overflow-wrap: normal;
  word-break: normal;
}

:root .break-words{
  overflow-wrap: break-word;
}

:root .break-all{
  word-break: break-all;
}

:root .w-0{
  width: 0;
}

:root .w-1{
  width: 0.25rem;
}

:root .w-2{
  width: 0.5rem;
}

:root .w-3{
  width: 0.75rem;
}

:root .w-4{
  width: 1rem;
}

:root .w-5{
  width: 1.25rem;
}

:root .w-6{
  width: 1.5rem;
}

:root .w-8{
  width: 2rem;
}

:root .w-9{
  width: 2.25rem;
}

:root .w-10{
  width: 2.5rem;
}

:root .w-12{
  width: 3rem;
}

:root .w-14{
  width: 3.5rem;
}

:root .w-16{
  width: 4rem;
}

:root .w-20{
  width: 5rem;
}

:root .w-24{
  width: 6rem;
}

:root .w-32{
  width: 8rem;
}

:root .w-40{
  width: 10rem;
}

:root .w-48{
  width: 12rem;
}

:root .w-56{
  width: 14rem;
}

:root .w-64{
  width: 16rem;
}

:root .w-auto{
  width: auto;
}

:root .w-px{
  width: 1px;
}

:root .w-gutter{
  width: var(--padding-gutter);
}

:root .w-1\/2{
  width: 50%;
}

:root .w-1\/3{
  width: 33.333333%;
}

:root .w-2\/3{
  width: 66.666667%;
}

:root .w-1\/4{
  width: 25%;
}

:root .w-2\/4{
  width: 50%;
}

:root .w-3\/4{
  width: 75%;
}

:root .w-1\/5{
  width: 20%;
}

:root .w-2\/5{
  width: 40%;
}

:root .w-3\/5{
  width: 60%;
}

:root .w-4\/5{
  width: 80%;
}

:root .w-1\/6{
  width: 16.666667%;
}

:root .w-2\/6{
  width: 33.333333%;
}

:root .w-3\/6{
  width: 50%;
}

:root .w-4\/6{
  width: 66.666667%;
}

:root .w-5\/6{
  width: 83.333333%;
}

:root .w-1\/12{
  width: 8.333333%;
}

:root .w-2\/12{
  width: 16.666667%;
}

:root .w-3\/12{
  width: 25%;
}

:root .w-4\/12{
  width: 33.333333%;
}

:root .w-5\/12{
  width: 41.666667%;
}

:root .w-6\/12{
  width: 50%;
}

:root .w-7\/12{
  width: 58.333333%;
}

:root .w-8\/12{
  width: 66.666667%;
}

:root .w-9\/12{
  width: 75%;
}

:root .w-10\/12{
  width: 83.333333%;
}

:root .w-11\/12{
  width: 91.666667%;
}

:root .w-full{
  width: 100%;
}

:root .w-screen{
  width: 100vw;
}

:root .z-0{
  z-index: 0;
}

:root .z-10{
  z-index: 10;
}

:root .z-20{
  z-index: 20;
}

:root .z-30{
  z-index: 30;
}

:root .z-40{
  z-index: 40;
}

:root .z-50{
  z-index: 50;
}

:root .z-auto{
  z-index: auto;
}

:root .gap-0{
  gap: 0;
}

:root .gap-1{
  gap: 0.25rem;
}

:root .gap-2{
  gap: 0.5rem;
}

:root .gap-3{
  gap: 0.75rem;
}

:root .gap-4{
  gap: 1rem;
}

:root .gap-5{
  gap: 1.25rem;
}

:root .gap-6{
  gap: 1.5rem;
}

:root .gap-8{
  gap: 2rem;
}

:root .gap-9{
  gap: 2.25rem;
}

:root .gap-10{
  gap: 2.5rem;
}

:root .gap-12{
  gap: 3rem;
}

:root .gap-14{
  gap: 3.5rem;
}

:root .gap-16{
  gap: 4rem;
}

:root .gap-20{
  gap: 5rem;
}

:root .gap-24{
  gap: 6rem;
}

:root .gap-32{
  gap: 8rem;
}

:root .gap-40{
  gap: 10rem;
}

:root .gap-48{
  gap: 12rem;
}

:root .gap-56{
  gap: 14rem;
}

:root .gap-64{
  gap: 16rem;
}

:root .gap-px{
  gap: 1px;
}

:root .gap-gutter{
  gap: var(--padding-gutter);
}

:root .gap-x-0{
  -moz-column-gap: 0;
       column-gap: 0;
}

:root .gap-x-1{
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}

:root .gap-x-2{
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

:root .gap-x-3{
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}

:root .gap-x-4{
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

:root .gap-x-5{
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}

:root .gap-x-6{
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

:root .gap-x-8{
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}

:root .gap-x-9{
  -moz-column-gap: 2.25rem;
       column-gap: 2.25rem;
}

:root .gap-x-10{
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}

:root .gap-x-12{
  -moz-column-gap: 3rem;
       column-gap: 3rem;
}

:root .gap-x-14{
  -moz-column-gap: 3.5rem;
       column-gap: 3.5rem;
}

:root .gap-x-16{
  -moz-column-gap: 4rem;
       column-gap: 4rem;
}

:root .gap-x-20{
  -moz-column-gap: 5rem;
       column-gap: 5rem;
}

:root .gap-x-24{
  -moz-column-gap: 6rem;
       column-gap: 6rem;
}

:root .gap-x-32{
  -moz-column-gap: 8rem;
       column-gap: 8rem;
}

:root .gap-x-40{
  -moz-column-gap: 10rem;
       column-gap: 10rem;
}

:root .gap-x-48{
  -moz-column-gap: 12rem;
       column-gap: 12rem;
}

:root .gap-x-56{
  -moz-column-gap: 14rem;
       column-gap: 14rem;
}

:root .gap-x-64{
  -moz-column-gap: 16rem;
       column-gap: 16rem;
}

:root .gap-x-px{
  -moz-column-gap: 1px;
       column-gap: 1px;
}

:root .gap-x-gutter{
  -moz-column-gap: var(--padding-gutter);
       column-gap: var(--padding-gutter);
}

:root .gap-y-0{
  row-gap: 0;
}

:root .gap-y-1{
  row-gap: 0.25rem;
}

:root .gap-y-2{
  row-gap: 0.5rem;
}

:root .gap-y-3{
  row-gap: 0.75rem;
}

:root .gap-y-4{
  row-gap: 1rem;
}

:root .gap-y-5{
  row-gap: 1.25rem;
}

:root .gap-y-6{
  row-gap: 1.5rem;
}

:root .gap-y-8{
  row-gap: 2rem;
}

:root .gap-y-9{
  row-gap: 2.25rem;
}

:root .gap-y-10{
  row-gap: 2.5rem;
}

:root .gap-y-12{
  row-gap: 3rem;
}

:root .gap-y-14{
  row-gap: 3.5rem;
}

:root .gap-y-16{
  row-gap: 4rem;
}

:root .gap-y-20{
  row-gap: 5rem;
}

:root .gap-y-24{
  row-gap: 6rem;
}

:root .gap-y-32{
  row-gap: 8rem;
}

:root .gap-y-40{
  row-gap: 10rem;
}

:root .gap-y-48{
  row-gap: 12rem;
}

:root .gap-y-56{
  row-gap: 14rem;
}

:root .gap-y-64{
  row-gap: 16rem;
}

:root .gap-y-px{
  row-gap: 1px;
}

:root .gap-y-gutter{
  row-gap: var(--padding-gutter);
}

:root .grid-flow-row{
  grid-auto-flow: row;
}

:root .grid-flow-col{
  grid-auto-flow: column;
}

:root .grid-flow-row-dense{
  grid-auto-flow: row dense;
}

:root .grid-flow-col-dense{
  grid-auto-flow: column dense;
}

:root .grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

:root .grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

:root .grid-cols-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

:root .grid-cols-4{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

:root .grid-cols-5{
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

:root .grid-cols-6{
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

:root .grid-cols-7{
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

:root .grid-cols-8{
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

:root .grid-cols-9{
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

:root .grid-cols-10{
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

:root .grid-cols-11{
  grid-template-columns: repeat(11, minmax(0, 1fr));
}

:root .grid-cols-12{
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

:root .grid-cols-none{
  grid-template-columns: none;
}

:root .auto-cols-auto{
  grid-auto-columns: auto;
}

:root .auto-cols-min{
  grid-auto-columns: -webkit-min-content;
  grid-auto-columns: min-content;
}

:root .auto-cols-max{
  grid-auto-columns: -webkit-max-content;
  grid-auto-columns: max-content;
}

:root .auto-cols-fr{
  grid-auto-columns: minmax(0, 1fr);
}

:root .col-auto{
  grid-column: auto;
}

:root .col-span-1{
  grid-column: span 1 / span 1;
}

:root .col-span-2{
  grid-column: span 2 / span 2;
}

:root .col-span-3{
  grid-column: span 3 / span 3;
}

:root .col-span-4{
  grid-column: span 4 / span 4;
}

:root .col-span-5{
  grid-column: span 5 / span 5;
}

:root .col-span-6{
  grid-column: span 6 / span 6;
}

:root .col-span-7{
  grid-column: span 7 / span 7;
}

:root .col-span-8{
  grid-column: span 8 / span 8;
}

:root .col-span-9{
  grid-column: span 9 / span 9;
}

:root .col-span-10{
  grid-column: span 10 / span 10;
}

:root .col-span-11{
  grid-column: span 11 / span 11;
}

:root .col-span-12{
  grid-column: span 12 / span 12;
}

:root .col-span-full{
  grid-column: 1 / -1;
}

:root .col-start-1{
  grid-column-start: 1;
}

:root .col-start-2{
  grid-column-start: 2;
}

:root .col-start-3{
  grid-column-start: 3;
}

:root .col-start-4{
  grid-column-start: 4;
}

:root .col-start-5{
  grid-column-start: 5;
}

:root .col-start-6{
  grid-column-start: 6;
}

:root .col-start-7{
  grid-column-start: 7;
}

:root .col-start-8{
  grid-column-start: 8;
}

:root .col-start-9{
  grid-column-start: 9;
}

:root .col-start-10{
  grid-column-start: 10;
}

:root .col-start-11{
  grid-column-start: 11;
}

:root .col-start-12{
  grid-column-start: 12;
}

:root .col-start-13{
  grid-column-start: 13;
}

:root .col-start-auto{
  grid-column-start: auto;
}

:root .col-end-1{
  grid-column-end: 1;
}

:root .col-end-2{
  grid-column-end: 2;
}

:root .col-end-3{
  grid-column-end: 3;
}

:root .col-end-4{
  grid-column-end: 4;
}

:root .col-end-5{
  grid-column-end: 5;
}

:root .col-end-6{
  grid-column-end: 6;
}

:root .col-end-7{
  grid-column-end: 7;
}

:root .col-end-8{
  grid-column-end: 8;
}

:root .col-end-9{
  grid-column-end: 9;
}

:root .col-end-10{
  grid-column-end: 10;
}

:root .col-end-11{
  grid-column-end: 11;
}

:root .col-end-12{
  grid-column-end: 12;
}

:root .col-end-13{
  grid-column-end: 13;
}

:root .col-end-auto{
  grid-column-end: auto;
}

:root .grid-rows-1{
  grid-template-rows: repeat(1, minmax(0, 1fr));
}

:root .grid-rows-2{
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

:root .grid-rows-3{
  grid-template-rows: repeat(3, minmax(0, 1fr));
}

:root .grid-rows-4{
  grid-template-rows: repeat(4, minmax(0, 1fr));
}

:root .grid-rows-5{
  grid-template-rows: repeat(5, minmax(0, 1fr));
}

:root .grid-rows-6{
  grid-template-rows: repeat(6, minmax(0, 1fr));
}

:root .grid-rows-none{
  grid-template-rows: none;
}

:root .auto-rows-auto{
  grid-auto-rows: auto;
}

:root .auto-rows-min{
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content;
}

:root .auto-rows-max{
  grid-auto-rows: -webkit-max-content;
  grid-auto-rows: max-content;
}

:root .auto-rows-fr{
  grid-auto-rows: minmax(0, 1fr);
}

:root .row-auto{
  grid-row: auto;
}

:root .row-span-1{
  grid-row: span 1 / span 1;
}

:root .row-span-2{
  grid-row: span 2 / span 2;
}

:root .row-span-3{
  grid-row: span 3 / span 3;
}

:root .row-span-4{
  grid-row: span 4 / span 4;
}

:root .row-span-5{
  grid-row: span 5 / span 5;
}

:root .row-span-6{
  grid-row: span 6 / span 6;
}

:root .row-span-full{
  grid-row: 1 / -1;
}

:root .row-start-1{
  grid-row-start: 1;
}

:root .row-start-2{
  grid-row-start: 2;
}

:root .row-start-3{
  grid-row-start: 3;
}

:root .row-start-4{
  grid-row-start: 4;
}

:root .row-start-5{
  grid-row-start: 5;
}

:root .row-start-6{
  grid-row-start: 6;
}

:root .row-start-7{
  grid-row-start: 7;
}

:root .row-start-auto{
  grid-row-start: auto;
}

:root .row-end-1{
  grid-row-end: 1;
}

:root .row-end-2{
  grid-row-end: 2;
}

:root .row-end-3{
  grid-row-end: 3;
}

:root .row-end-4{
  grid-row-end: 4;
}

:root .row-end-5{
  grid-row-end: 5;
}

:root .row-end-6{
  grid-row-end: 6;
}

:root .row-end-7{
  grid-row-end: 7;
}

:root .row-end-auto{
  grid-row-end: auto;
}

:root .transform{
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

:root .transform-gpu{
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

:root .transform-none{
  transform: none;
}

:root .origin-center{
  transform-origin: center;
}

:root .origin-top{
  transform-origin: top;
}

:root .origin-top-right{
  transform-origin: top right;
}

:root .origin-right{
  transform-origin: right;
}

:root .origin-bottom-right{
  transform-origin: bottom right;
}

:root .origin-bottom{
  transform-origin: bottom;
}

:root .origin-bottom-left{
  transform-origin: bottom left;
}

:root .origin-left{
  transform-origin: left;
}

:root .origin-top-left{
  transform-origin: top left;
}

:root .scale-0{
  --tw-scale-x: 0;
  --tw-scale-y: 0;
}

:root .scale-50{
  --tw-scale-x: .5;
  --tw-scale-y: .5;
}

:root .scale-75{
  --tw-scale-x: .75;
  --tw-scale-y: .75;
}

:root .scale-90{
  --tw-scale-x: .9;
  --tw-scale-y: .9;
}

:root .scale-95{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
}

:root .scale-100{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
}

:root .scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
}

:root .scale-110{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
}

:root .scale-125{
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
}

:root .scale-150{
  --tw-scale-x: 1.5;
  --tw-scale-y: 1.5;
}

:root .scale-x-0{
  --tw-scale-x: 0;
}

:root .scale-x-50{
  --tw-scale-x: .5;
}

:root .scale-x-75{
  --tw-scale-x: .75;
}

:root .scale-x-90{
  --tw-scale-x: .9;
}

:root .scale-x-95{
  --tw-scale-x: .95;
}

:root .scale-x-100{
  --tw-scale-x: 1;
}

:root .scale-x-105{
  --tw-scale-x: 1.05;
}

:root .scale-x-110{
  --tw-scale-x: 1.1;
}

:root .scale-x-125{
  --tw-scale-x: 1.25;
}

:root .scale-x-150{
  --tw-scale-x: 1.5;
}

:root .scale-y-0{
  --tw-scale-y: 0;
}

:root .scale-y-50{
  --tw-scale-y: .5;
}

:root .scale-y-75{
  --tw-scale-y: .75;
}

:root .scale-y-90{
  --tw-scale-y: .9;
}

:root .scale-y-95{
  --tw-scale-y: .95;
}

:root .scale-y-100{
  --tw-scale-y: 1;
}

:root .scale-y-105{
  --tw-scale-y: 1.05;
}

:root .scale-y-110{
  --tw-scale-y: 1.1;
}

:root .scale-y-125{
  --tw-scale-y: 1.25;
}

:root .scale-y-150{
  --tw-scale-y: 1.5;
}

:root .hover\:scale-0:hover{
  --tw-scale-x: 0;
  --tw-scale-y: 0;
}

:root .hover\:scale-50:hover{
  --tw-scale-x: .5;
  --tw-scale-y: .5;
}

:root .hover\:scale-75:hover{
  --tw-scale-x: .75;
  --tw-scale-y: .75;
}

:root .hover\:scale-90:hover{
  --tw-scale-x: .9;
  --tw-scale-y: .9;
}

:root .hover\:scale-95:hover{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
}

:root .hover\:scale-100:hover{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
}

:root .hover\:scale-105:hover{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
}

:root .hover\:scale-110:hover{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
}

:root .hover\:scale-125:hover{
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
}

:root .hover\:scale-150:hover{
  --tw-scale-x: 1.5;
  --tw-scale-y: 1.5;
}

:root .hover\:scale-x-0:hover{
  --tw-scale-x: 0;
}

:root .hover\:scale-x-50:hover{
  --tw-scale-x: .5;
}

:root .hover\:scale-x-75:hover{
  --tw-scale-x: .75;
}

:root .hover\:scale-x-90:hover{
  --tw-scale-x: .9;
}

:root .hover\:scale-x-95:hover{
  --tw-scale-x: .95;
}

:root .hover\:scale-x-100:hover{
  --tw-scale-x: 1;
}

:root .hover\:scale-x-105:hover{
  --tw-scale-x: 1.05;
}

:root .hover\:scale-x-110:hover{
  --tw-scale-x: 1.1;
}

:root .hover\:scale-x-125:hover{
  --tw-scale-x: 1.25;
}

:root .hover\:scale-x-150:hover{
  --tw-scale-x: 1.5;
}

:root .hover\:scale-y-0:hover{
  --tw-scale-y: 0;
}

:root .hover\:scale-y-50:hover{
  --tw-scale-y: .5;
}

:root .hover\:scale-y-75:hover{
  --tw-scale-y: .75;
}

:root .hover\:scale-y-90:hover{
  --tw-scale-y: .9;
}

:root .hover\:scale-y-95:hover{
  --tw-scale-y: .95;
}

:root .hover\:scale-y-100:hover{
  --tw-scale-y: 1;
}

:root .hover\:scale-y-105:hover{
  --tw-scale-y: 1.05;
}

:root .hover\:scale-y-110:hover{
  --tw-scale-y: 1.1;
}

:root .hover\:scale-y-125:hover{
  --tw-scale-y: 1.25;
}

:root .hover\:scale-y-150:hover{
  --tw-scale-y: 1.5;
}

:root .focus\:scale-0:focus{
  --tw-scale-x: 0;
  --tw-scale-y: 0;
}

:root .focus\:scale-50:focus{
  --tw-scale-x: .5;
  --tw-scale-y: .5;
}

:root .focus\:scale-75:focus{
  --tw-scale-x: .75;
  --tw-scale-y: .75;
}

:root .focus\:scale-90:focus{
  --tw-scale-x: .9;
  --tw-scale-y: .9;
}

:root .focus\:scale-95:focus{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
}

:root .focus\:scale-100:focus{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
}

:root .focus\:scale-105:focus{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
}

:root .focus\:scale-110:focus{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
}

:root .focus\:scale-125:focus{
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
}

:root .focus\:scale-150:focus{
  --tw-scale-x: 1.5;
  --tw-scale-y: 1.5;
}

:root .focus\:scale-x-0:focus{
  --tw-scale-x: 0;
}

:root .focus\:scale-x-50:focus{
  --tw-scale-x: .5;
}

:root .focus\:scale-x-75:focus{
  --tw-scale-x: .75;
}

:root .focus\:scale-x-90:focus{
  --tw-scale-x: .9;
}

:root .focus\:scale-x-95:focus{
  --tw-scale-x: .95;
}

:root .focus\:scale-x-100:focus{
  --tw-scale-x: 1;
}

:root .focus\:scale-x-105:focus{
  --tw-scale-x: 1.05;
}

:root .focus\:scale-x-110:focus{
  --tw-scale-x: 1.1;
}

:root .focus\:scale-x-125:focus{
  --tw-scale-x: 1.25;
}

:root .focus\:scale-x-150:focus{
  --tw-scale-x: 1.5;
}

:root .focus\:scale-y-0:focus{
  --tw-scale-y: 0;
}

:root .focus\:scale-y-50:focus{
  --tw-scale-y: .5;
}

:root .focus\:scale-y-75:focus{
  --tw-scale-y: .75;
}

:root .focus\:scale-y-90:focus{
  --tw-scale-y: .9;
}

:root .focus\:scale-y-95:focus{
  --tw-scale-y: .95;
}

:root .focus\:scale-y-100:focus{
  --tw-scale-y: 1;
}

:root .focus\:scale-y-105:focus{
  --tw-scale-y: 1.05;
}

:root .focus\:scale-y-110:focus{
  --tw-scale-y: 1.1;
}

:root .focus\:scale-y-125:focus{
  --tw-scale-y: 1.25;
}

:root .focus\:scale-y-150:focus{
  --tw-scale-y: 1.5;
}

:root .rotate-0{
  --tw-rotate: 0deg;
}

:root .rotate-1{
  --tw-rotate: 1deg;
}

:root .rotate-2{
  --tw-rotate: 2deg;
}

:root .rotate-3{
  --tw-rotate: 3deg;
}

:root .rotate-6{
  --tw-rotate: 6deg;
}

:root .rotate-12{
  --tw-rotate: 12deg;
}

:root .rotate-45{
  --tw-rotate: 45deg;
}

:root .rotate-90{
  --tw-rotate: 90deg;
}

:root .rotate-180{
  --tw-rotate: 180deg;
}

:root .-rotate-180{
  --tw-rotate: -180deg;
}

:root .-rotate-90{
  --tw-rotate: -90deg;
}

:root .-rotate-45{
  --tw-rotate: -45deg;
}

:root .-rotate-12{
  --tw-rotate: -12deg;
}

:root .-rotate-6{
  --tw-rotate: -6deg;
}

:root .-rotate-3{
  --tw-rotate: -3deg;
}

:root .-rotate-2{
  --tw-rotate: -2deg;
}

:root .-rotate-1{
  --tw-rotate: -1deg;
}

:root .hover\:rotate-0:hover{
  --tw-rotate: 0deg;
}

:root .hover\:rotate-1:hover{
  --tw-rotate: 1deg;
}

:root .hover\:rotate-2:hover{
  --tw-rotate: 2deg;
}

:root .hover\:rotate-3:hover{
  --tw-rotate: 3deg;
}

:root .hover\:rotate-6:hover{
  --tw-rotate: 6deg;
}

:root .hover\:rotate-12:hover{
  --tw-rotate: 12deg;
}

:root .hover\:rotate-45:hover{
  --tw-rotate: 45deg;
}

:root .hover\:rotate-90:hover{
  --tw-rotate: 90deg;
}

:root .hover\:rotate-180:hover{
  --tw-rotate: 180deg;
}

:root .hover\:-rotate-180:hover{
  --tw-rotate: -180deg;
}

:root .hover\:-rotate-90:hover{
  --tw-rotate: -90deg;
}

:root .hover\:-rotate-45:hover{
  --tw-rotate: -45deg;
}

:root .hover\:-rotate-12:hover{
  --tw-rotate: -12deg;
}

:root .hover\:-rotate-6:hover{
  --tw-rotate: -6deg;
}

:root .hover\:-rotate-3:hover{
  --tw-rotate: -3deg;
}

:root .hover\:-rotate-2:hover{
  --tw-rotate: -2deg;
}

:root .hover\:-rotate-1:hover{
  --tw-rotate: -1deg;
}

:root .focus\:rotate-0:focus{
  --tw-rotate: 0deg;
}

:root .focus\:rotate-1:focus{
  --tw-rotate: 1deg;
}

:root .focus\:rotate-2:focus{
  --tw-rotate: 2deg;
}

:root .focus\:rotate-3:focus{
  --tw-rotate: 3deg;
}

:root .focus\:rotate-6:focus{
  --tw-rotate: 6deg;
}

:root .focus\:rotate-12:focus{
  --tw-rotate: 12deg;
}

:root .focus\:rotate-45:focus{
  --tw-rotate: 45deg;
}

:root .focus\:rotate-90:focus{
  --tw-rotate: 90deg;
}

:root .focus\:rotate-180:focus{
  --tw-rotate: 180deg;
}

:root .focus\:-rotate-180:focus{
  --tw-rotate: -180deg;
}

:root .focus\:-rotate-90:focus{
  --tw-rotate: -90deg;
}

:root .focus\:-rotate-45:focus{
  --tw-rotate: -45deg;
}

:root .focus\:-rotate-12:focus{
  --tw-rotate: -12deg;
}

:root .focus\:-rotate-6:focus{
  --tw-rotate: -6deg;
}

:root .focus\:-rotate-3:focus{
  --tw-rotate: -3deg;
}

:root .focus\:-rotate-2:focus{
  --tw-rotate: -2deg;
}

:root .focus\:-rotate-1:focus{
  --tw-rotate: -1deg;
}

:root .translate-x-0{
  --tw-translate-x: 0;
}

:root .translate-x-1{
  --tw-translate-x: 0.25rem;
}

:root .translate-x-2{
  --tw-translate-x: 0.5rem;
}

:root .translate-x-3{
  --tw-translate-x: 0.75rem;
}

:root .translate-x-4{
  --tw-translate-x: 1rem;
}

:root .translate-x-5{
  --tw-translate-x: 1.25rem;
}

:root .translate-x-6{
  --tw-translate-x: 1.5rem;
}

:root .translate-x-8{
  --tw-translate-x: 2rem;
}

:root .translate-x-9{
  --tw-translate-x: 2.25rem;
}

:root .translate-x-10{
  --tw-translate-x: 2.5rem;
}

:root .translate-x-12{
  --tw-translate-x: 3rem;
}

:root .translate-x-14{
  --tw-translate-x: 3.5rem;
}

:root .translate-x-16{
  --tw-translate-x: 4rem;
}

:root .translate-x-20{
  --tw-translate-x: 5rem;
}

:root .translate-x-24{
  --tw-translate-x: 6rem;
}

:root .translate-x-32{
  --tw-translate-x: 8rem;
}

:root .translate-x-40{
  --tw-translate-x: 10rem;
}

:root .translate-x-48{
  --tw-translate-x: 12rem;
}

:root .translate-x-56{
  --tw-translate-x: 14rem;
}

:root .translate-x-64{
  --tw-translate-x: 16rem;
}

:root .translate-x-px{
  --tw-translate-x: 1px;
}

:root .translate-x-gutter{
  --tw-translate-x: var(--padding-gutter);
}

:root .-translate-x-1{
  --tw-translate-x: -0.25rem;
}

:root .-translate-x-2{
  --tw-translate-x: -0.5rem;
}

:root .-translate-x-3{
  --tw-translate-x: -0.75rem;
}

:root .-translate-x-4{
  --tw-translate-x: -1rem;
}

:root .-translate-x-5{
  --tw-translate-x: -1.25rem;
}

:root .-translate-x-6{
  --tw-translate-x: -1.5rem;
}

:root .-translate-x-8{
  --tw-translate-x: -2rem;
}

:root .-translate-x-9{
  --tw-translate-x: -2.25rem;
}

:root .-translate-x-10{
  --tw-translate-x: -2.5rem;
}

:root .-translate-x-12{
  --tw-translate-x: -3rem;
}

:root .-translate-x-14{
  --tw-translate-x: -3.5rem;
}

:root .-translate-x-16{
  --tw-translate-x: -4rem;
}

:root .-translate-x-20{
  --tw-translate-x: -5rem;
}

:root .-translate-x-24{
  --tw-translate-x: -6rem;
}

:root .-translate-x-32{
  --tw-translate-x: -8rem;
}

:root .-translate-x-40{
  --tw-translate-x: -10rem;
}

:root .-translate-x-48{
  --tw-translate-x: -12rem;
}

:root .-translate-x-56{
  --tw-translate-x: -14rem;
}

:root .-translate-x-64{
  --tw-translate-x: -16rem;
}

:root .-translate-x-px{
  --tw-translate-x: -1px;
}

:root .-translate-x-gutter{
  --tw-translate-x: calc(var(--padding-gutter) * -1);
}

:root .translate-x-1\/2{
  --tw-translate-x: 50%;
}

:root .translate-x-1\/3{
  --tw-translate-x: 33.333333%;
}

:root .translate-x-2\/3{
  --tw-translate-x: 66.666667%;
}

:root .translate-x-1\/4{
  --tw-translate-x: 25%;
}

:root .translate-x-2\/4{
  --tw-translate-x: 50%;
}

:root .translate-x-3\/4{
  --tw-translate-x: 75%;
}

:root .translate-x-full{
  --tw-translate-x: 100%;
}

:root .-translate-x-1\/2{
  --tw-translate-x: -50%;
}

:root .-translate-x-1\/3{
  --tw-translate-x: -33.333333%;
}

:root .-translate-x-2\/3{
  --tw-translate-x: -66.666667%;
}

:root .-translate-x-1\/4{
  --tw-translate-x: -25%;
}

:root .-translate-x-2\/4{
  --tw-translate-x: -50%;
}

:root .-translate-x-3\/4{
  --tw-translate-x: -75%;
}

:root .-translate-x-full{
  --tw-translate-x: -100%;
}

:root .translate-y-0{
  --tw-translate-y: 0;
}

:root .translate-y-1{
  --tw-translate-y: 0.25rem;
}

:root .translate-y-2{
  --tw-translate-y: 0.5rem;
}

:root .translate-y-3{
  --tw-translate-y: 0.75rem;
}

:root .translate-y-4{
  --tw-translate-y: 1rem;
}

:root .translate-y-5{
  --tw-translate-y: 1.25rem;
}

:root .translate-y-6{
  --tw-translate-y: 1.5rem;
}

:root .translate-y-8{
  --tw-translate-y: 2rem;
}

:root .translate-y-9{
  --tw-translate-y: 2.25rem;
}

:root .translate-y-10{
  --tw-translate-y: 2.5rem;
}

:root .translate-y-12{
  --tw-translate-y: 3rem;
}

:root .translate-y-14{
  --tw-translate-y: 3.5rem;
}

:root .translate-y-16{
  --tw-translate-y: 4rem;
}

:root .translate-y-20{
  --tw-translate-y: 5rem;
}

:root .translate-y-24{
  --tw-translate-y: 6rem;
}

:root .translate-y-32{
  --tw-translate-y: 8rem;
}

:root .translate-y-40{
  --tw-translate-y: 10rem;
}

:root .translate-y-48{
  --tw-translate-y: 12rem;
}

:root .translate-y-56{
  --tw-translate-y: 14rem;
}

:root .translate-y-64{
  --tw-translate-y: 16rem;
}

:root .translate-y-px{
  --tw-translate-y: 1px;
}

:root .translate-y-gutter{
  --tw-translate-y: var(--padding-gutter);
}

:root .-translate-y-1{
  --tw-translate-y: -0.25rem;
}

:root .-translate-y-2{
  --tw-translate-y: -0.5rem;
}

:root .-translate-y-3{
  --tw-translate-y: -0.75rem;
}

:root .-translate-y-4{
  --tw-translate-y: -1rem;
}

:root .-translate-y-5{
  --tw-translate-y: -1.25rem;
}

:root .-translate-y-6{
  --tw-translate-y: -1.5rem;
}

:root .-translate-y-8{
  --tw-translate-y: -2rem;
}

:root .-translate-y-9{
  --tw-translate-y: -2.25rem;
}

:root .-translate-y-10{
  --tw-translate-y: -2.5rem;
}

:root .-translate-y-12{
  --tw-translate-y: -3rem;
}

:root .-translate-y-14{
  --tw-translate-y: -3.5rem;
}

:root .-translate-y-16{
  --tw-translate-y: -4rem;
}

:root .-translate-y-20{
  --tw-translate-y: -5rem;
}

:root .-translate-y-24{
  --tw-translate-y: -6rem;
}

:root .-translate-y-32{
  --tw-translate-y: -8rem;
}

:root .-translate-y-40{
  --tw-translate-y: -10rem;
}

:root .-translate-y-48{
  --tw-translate-y: -12rem;
}

:root .-translate-y-56{
  --tw-translate-y: -14rem;
}

:root .-translate-y-64{
  --tw-translate-y: -16rem;
}

:root .-translate-y-px{
  --tw-translate-y: -1px;
}

:root .-translate-y-gutter{
  --tw-translate-y: calc(var(--padding-gutter) * -1);
}

:root .translate-y-1\/2{
  --tw-translate-y: 50%;
}

:root .translate-y-1\/3{
  --tw-translate-y: 33.333333%;
}

:root .translate-y-2\/3{
  --tw-translate-y: 66.666667%;
}

:root .translate-y-1\/4{
  --tw-translate-y: 25%;
}

:root .translate-y-2\/4{
  --tw-translate-y: 50%;
}

:root .translate-y-3\/4{
  --tw-translate-y: 75%;
}

:root .translate-y-full{
  --tw-translate-y: 100%;
}

:root .-translate-y-1\/2{
  --tw-translate-y: -50%;
}

:root .-translate-y-1\/3{
  --tw-translate-y: -33.333333%;
}

:root .-translate-y-2\/3{
  --tw-translate-y: -66.666667%;
}

:root .-translate-y-1\/4{
  --tw-translate-y: -25%;
}

:root .-translate-y-2\/4{
  --tw-translate-y: -50%;
}

:root .-translate-y-3\/4{
  --tw-translate-y: -75%;
}

:root .-translate-y-full{
  --tw-translate-y: -100%;
}

:root .hover\:translate-x-0:hover{
  --tw-translate-x: 0;
}

:root .hover\:translate-x-1:hover{
  --tw-translate-x: 0.25rem;
}

:root .hover\:translate-x-2:hover{
  --tw-translate-x: 0.5rem;
}

:root .hover\:translate-x-3:hover{
  --tw-translate-x: 0.75rem;
}

:root .hover\:translate-x-4:hover{
  --tw-translate-x: 1rem;
}

:root .hover\:translate-x-5:hover{
  --tw-translate-x: 1.25rem;
}

:root .hover\:translate-x-6:hover{
  --tw-translate-x: 1.5rem;
}

:root .hover\:translate-x-8:hover{
  --tw-translate-x: 2rem;
}

:root .hover\:translate-x-9:hover{
  --tw-translate-x: 2.25rem;
}

:root .hover\:translate-x-10:hover{
  --tw-translate-x: 2.5rem;
}

:root .hover\:translate-x-12:hover{
  --tw-translate-x: 3rem;
}

:root .hover\:translate-x-14:hover{
  --tw-translate-x: 3.5rem;
}

:root .hover\:translate-x-16:hover{
  --tw-translate-x: 4rem;
}

:root .hover\:translate-x-20:hover{
  --tw-translate-x: 5rem;
}

:root .hover\:translate-x-24:hover{
  --tw-translate-x: 6rem;
}

:root .hover\:translate-x-32:hover{
  --tw-translate-x: 8rem;
}

:root .hover\:translate-x-40:hover{
  --tw-translate-x: 10rem;
}

:root .hover\:translate-x-48:hover{
  --tw-translate-x: 12rem;
}

:root .hover\:translate-x-56:hover{
  --tw-translate-x: 14rem;
}

:root .hover\:translate-x-64:hover{
  --tw-translate-x: 16rem;
}

:root .hover\:translate-x-px:hover{
  --tw-translate-x: 1px;
}

:root .hover\:translate-x-gutter:hover{
  --tw-translate-x: var(--padding-gutter);
}

:root .hover\:-translate-x-1:hover{
  --tw-translate-x: -0.25rem;
}

:root .hover\:-translate-x-2:hover{
  --tw-translate-x: -0.5rem;
}

:root .hover\:-translate-x-3:hover{
  --tw-translate-x: -0.75rem;
}

:root .hover\:-translate-x-4:hover{
  --tw-translate-x: -1rem;
}

:root .hover\:-translate-x-5:hover{
  --tw-translate-x: -1.25rem;
}

:root .hover\:-translate-x-6:hover{
  --tw-translate-x: -1.5rem;
}

:root .hover\:-translate-x-8:hover{
  --tw-translate-x: -2rem;
}

:root .hover\:-translate-x-9:hover{
  --tw-translate-x: -2.25rem;
}

:root .hover\:-translate-x-10:hover{
  --tw-translate-x: -2.5rem;
}

:root .hover\:-translate-x-12:hover{
  --tw-translate-x: -3rem;
}

:root .hover\:-translate-x-14:hover{
  --tw-translate-x: -3.5rem;
}

:root .hover\:-translate-x-16:hover{
  --tw-translate-x: -4rem;
}

:root .hover\:-translate-x-20:hover{
  --tw-translate-x: -5rem;
}

:root .hover\:-translate-x-24:hover{
  --tw-translate-x: -6rem;
}

:root .hover\:-translate-x-32:hover{
  --tw-translate-x: -8rem;
}

:root .hover\:-translate-x-40:hover{
  --tw-translate-x: -10rem;
}

:root .hover\:-translate-x-48:hover{
  --tw-translate-x: -12rem;
}

:root .hover\:-translate-x-56:hover{
  --tw-translate-x: -14rem;
}

:root .hover\:-translate-x-64:hover{
  --tw-translate-x: -16rem;
}

:root .hover\:-translate-x-px:hover{
  --tw-translate-x: -1px;
}

:root .hover\:-translate-x-gutter:hover{
  --tw-translate-x: calc(var(--padding-gutter) * -1);
}

:root .hover\:translate-x-1\/2:hover{
  --tw-translate-x: 50%;
}

:root .hover\:translate-x-1\/3:hover{
  --tw-translate-x: 33.333333%;
}

:root .hover\:translate-x-2\/3:hover{
  --tw-translate-x: 66.666667%;
}

:root .hover\:translate-x-1\/4:hover{
  --tw-translate-x: 25%;
}

:root .hover\:translate-x-2\/4:hover{
  --tw-translate-x: 50%;
}

:root .hover\:translate-x-3\/4:hover{
  --tw-translate-x: 75%;
}

:root .hover\:translate-x-full:hover{
  --tw-translate-x: 100%;
}

:root .hover\:-translate-x-1\/2:hover{
  --tw-translate-x: -50%;
}

:root .hover\:-translate-x-1\/3:hover{
  --tw-translate-x: -33.333333%;
}

:root .hover\:-translate-x-2\/3:hover{
  --tw-translate-x: -66.666667%;
}

:root .hover\:-translate-x-1\/4:hover{
  --tw-translate-x: -25%;
}

:root .hover\:-translate-x-2\/4:hover{
  --tw-translate-x: -50%;
}

:root .hover\:-translate-x-3\/4:hover{
  --tw-translate-x: -75%;
}

:root .hover\:-translate-x-full:hover{
  --tw-translate-x: -100%;
}

:root .hover\:translate-y-0:hover{
  --tw-translate-y: 0;
}

:root .hover\:translate-y-1:hover{
  --tw-translate-y: 0.25rem;
}

:root .hover\:translate-y-2:hover{
  --tw-translate-y: 0.5rem;
}

:root .hover\:translate-y-3:hover{
  --tw-translate-y: 0.75rem;
}

:root .hover\:translate-y-4:hover{
  --tw-translate-y: 1rem;
}

:root .hover\:translate-y-5:hover{
  --tw-translate-y: 1.25rem;
}

:root .hover\:translate-y-6:hover{
  --tw-translate-y: 1.5rem;
}

:root .hover\:translate-y-8:hover{
  --tw-translate-y: 2rem;
}

:root .hover\:translate-y-9:hover{
  --tw-translate-y: 2.25rem;
}

:root .hover\:translate-y-10:hover{
  --tw-translate-y: 2.5rem;
}

:root .hover\:translate-y-12:hover{
  --tw-translate-y: 3rem;
}

:root .hover\:translate-y-14:hover{
  --tw-translate-y: 3.5rem;
}

:root .hover\:translate-y-16:hover{
  --tw-translate-y: 4rem;
}

:root .hover\:translate-y-20:hover{
  --tw-translate-y: 5rem;
}

:root .hover\:translate-y-24:hover{
  --tw-translate-y: 6rem;
}

:root .hover\:translate-y-32:hover{
  --tw-translate-y: 8rem;
}

:root .hover\:translate-y-40:hover{
  --tw-translate-y: 10rem;
}

:root .hover\:translate-y-48:hover{
  --tw-translate-y: 12rem;
}

:root .hover\:translate-y-56:hover{
  --tw-translate-y: 14rem;
}

:root .hover\:translate-y-64:hover{
  --tw-translate-y: 16rem;
}

:root .hover\:translate-y-px:hover{
  --tw-translate-y: 1px;
}

:root .hover\:translate-y-gutter:hover{
  --tw-translate-y: var(--padding-gutter);
}

:root .hover\:-translate-y-1:hover{
  --tw-translate-y: -0.25rem;
}

:root .hover\:-translate-y-2:hover{
  --tw-translate-y: -0.5rem;
}

:root .hover\:-translate-y-3:hover{
  --tw-translate-y: -0.75rem;
}

:root .hover\:-translate-y-4:hover{
  --tw-translate-y: -1rem;
}

:root .hover\:-translate-y-5:hover{
  --tw-translate-y: -1.25rem;
}

:root .hover\:-translate-y-6:hover{
  --tw-translate-y: -1.5rem;
}

:root .hover\:-translate-y-8:hover{
  --tw-translate-y: -2rem;
}

:root .hover\:-translate-y-9:hover{
  --tw-translate-y: -2.25rem;
}

:root .hover\:-translate-y-10:hover{
  --tw-translate-y: -2.5rem;
}

:root .hover\:-translate-y-12:hover{
  --tw-translate-y: -3rem;
}

:root .hover\:-translate-y-14:hover{
  --tw-translate-y: -3.5rem;
}

:root .hover\:-translate-y-16:hover{
  --tw-translate-y: -4rem;
}

:root .hover\:-translate-y-20:hover{
  --tw-translate-y: -5rem;
}

:root .hover\:-translate-y-24:hover{
  --tw-translate-y: -6rem;
}

:root .hover\:-translate-y-32:hover{
  --tw-translate-y: -8rem;
}

:root .hover\:-translate-y-40:hover{
  --tw-translate-y: -10rem;
}

:root .hover\:-translate-y-48:hover{
  --tw-translate-y: -12rem;
}

:root .hover\:-translate-y-56:hover{
  --tw-translate-y: -14rem;
}

:root .hover\:-translate-y-64:hover{
  --tw-translate-y: -16rem;
}

:root .hover\:-translate-y-px:hover{
  --tw-translate-y: -1px;
}

:root .hover\:-translate-y-gutter:hover{
  --tw-translate-y: calc(var(--padding-gutter) * -1);
}

:root .hover\:translate-y-1\/2:hover{
  --tw-translate-y: 50%;
}

:root .hover\:translate-y-1\/3:hover{
  --tw-translate-y: 33.333333%;
}

:root .hover\:translate-y-2\/3:hover{
  --tw-translate-y: 66.666667%;
}

:root .hover\:translate-y-1\/4:hover{
  --tw-translate-y: 25%;
}

:root .hover\:translate-y-2\/4:hover{
  --tw-translate-y: 50%;
}

:root .hover\:translate-y-3\/4:hover{
  --tw-translate-y: 75%;
}

:root .hover\:translate-y-full:hover{
  --tw-translate-y: 100%;
}

:root .hover\:-translate-y-1\/2:hover{
  --tw-translate-y: -50%;
}

:root .hover\:-translate-y-1\/3:hover{
  --tw-translate-y: -33.333333%;
}

:root .hover\:-translate-y-2\/3:hover{
  --tw-translate-y: -66.666667%;
}

:root .hover\:-translate-y-1\/4:hover{
  --tw-translate-y: -25%;
}

:root .hover\:-translate-y-2\/4:hover{
  --tw-translate-y: -50%;
}

:root .hover\:-translate-y-3\/4:hover{
  --tw-translate-y: -75%;
}

:root .hover\:-translate-y-full:hover{
  --tw-translate-y: -100%;
}

:root .focus\:translate-x-0:focus{
  --tw-translate-x: 0;
}

:root .focus\:translate-x-1:focus{
  --tw-translate-x: 0.25rem;
}

:root .focus\:translate-x-2:focus{
  --tw-translate-x: 0.5rem;
}

:root .focus\:translate-x-3:focus{
  --tw-translate-x: 0.75rem;
}

:root .focus\:translate-x-4:focus{
  --tw-translate-x: 1rem;
}

:root .focus\:translate-x-5:focus{
  --tw-translate-x: 1.25rem;
}

:root .focus\:translate-x-6:focus{
  --tw-translate-x: 1.5rem;
}

:root .focus\:translate-x-8:focus{
  --tw-translate-x: 2rem;
}

:root .focus\:translate-x-9:focus{
  --tw-translate-x: 2.25rem;
}

:root .focus\:translate-x-10:focus{
  --tw-translate-x: 2.5rem;
}

:root .focus\:translate-x-12:focus{
  --tw-translate-x: 3rem;
}

:root .focus\:translate-x-14:focus{
  --tw-translate-x: 3.5rem;
}

:root .focus\:translate-x-16:focus{
  --tw-translate-x: 4rem;
}

:root .focus\:translate-x-20:focus{
  --tw-translate-x: 5rem;
}

:root .focus\:translate-x-24:focus{
  --tw-translate-x: 6rem;
}

:root .focus\:translate-x-32:focus{
  --tw-translate-x: 8rem;
}

:root .focus\:translate-x-40:focus{
  --tw-translate-x: 10rem;
}

:root .focus\:translate-x-48:focus{
  --tw-translate-x: 12rem;
}

:root .focus\:translate-x-56:focus{
  --tw-translate-x: 14rem;
}

:root .focus\:translate-x-64:focus{
  --tw-translate-x: 16rem;
}

:root .focus\:translate-x-px:focus{
  --tw-translate-x: 1px;
}

:root .focus\:translate-x-gutter:focus{
  --tw-translate-x: var(--padding-gutter);
}

:root .focus\:-translate-x-1:focus{
  --tw-translate-x: -0.25rem;
}

:root .focus\:-translate-x-2:focus{
  --tw-translate-x: -0.5rem;
}

:root .focus\:-translate-x-3:focus{
  --tw-translate-x: -0.75rem;
}

:root .focus\:-translate-x-4:focus{
  --tw-translate-x: -1rem;
}

:root .focus\:-translate-x-5:focus{
  --tw-translate-x: -1.25rem;
}

:root .focus\:-translate-x-6:focus{
  --tw-translate-x: -1.5rem;
}

:root .focus\:-translate-x-8:focus{
  --tw-translate-x: -2rem;
}

:root .focus\:-translate-x-9:focus{
  --tw-translate-x: -2.25rem;
}

:root .focus\:-translate-x-10:focus{
  --tw-translate-x: -2.5rem;
}

:root .focus\:-translate-x-12:focus{
  --tw-translate-x: -3rem;
}

:root .focus\:-translate-x-14:focus{
  --tw-translate-x: -3.5rem;
}

:root .focus\:-translate-x-16:focus{
  --tw-translate-x: -4rem;
}

:root .focus\:-translate-x-20:focus{
  --tw-translate-x: -5rem;
}

:root .focus\:-translate-x-24:focus{
  --tw-translate-x: -6rem;
}

:root .focus\:-translate-x-32:focus{
  --tw-translate-x: -8rem;
}

:root .focus\:-translate-x-40:focus{
  --tw-translate-x: -10rem;
}

:root .focus\:-translate-x-48:focus{
  --tw-translate-x: -12rem;
}

:root .focus\:-translate-x-56:focus{
  --tw-translate-x: -14rem;
}

:root .focus\:-translate-x-64:focus{
  --tw-translate-x: -16rem;
}

:root .focus\:-translate-x-px:focus{
  --tw-translate-x: -1px;
}

:root .focus\:-translate-x-gutter:focus{
  --tw-translate-x: calc(var(--padding-gutter) * -1);
}

:root .focus\:translate-x-1\/2:focus{
  --tw-translate-x: 50%;
}

:root .focus\:translate-x-1\/3:focus{
  --tw-translate-x: 33.333333%;
}

:root .focus\:translate-x-2\/3:focus{
  --tw-translate-x: 66.666667%;
}

:root .focus\:translate-x-1\/4:focus{
  --tw-translate-x: 25%;
}

:root .focus\:translate-x-2\/4:focus{
  --tw-translate-x: 50%;
}

:root .focus\:translate-x-3\/4:focus{
  --tw-translate-x: 75%;
}

:root .focus\:translate-x-full:focus{
  --tw-translate-x: 100%;
}

:root .focus\:-translate-x-1\/2:focus{
  --tw-translate-x: -50%;
}

:root .focus\:-translate-x-1\/3:focus{
  --tw-translate-x: -33.333333%;
}

:root .focus\:-translate-x-2\/3:focus{
  --tw-translate-x: -66.666667%;
}

:root .focus\:-translate-x-1\/4:focus{
  --tw-translate-x: -25%;
}

:root .focus\:-translate-x-2\/4:focus{
  --tw-translate-x: -50%;
}

:root .focus\:-translate-x-3\/4:focus{
  --tw-translate-x: -75%;
}

:root .focus\:-translate-x-full:focus{
  --tw-translate-x: -100%;
}

:root .focus\:translate-y-0:focus{
  --tw-translate-y: 0;
}

:root .focus\:translate-y-1:focus{
  --tw-translate-y: 0.25rem;
}

:root .focus\:translate-y-2:focus{
  --tw-translate-y: 0.5rem;
}

:root .focus\:translate-y-3:focus{
  --tw-translate-y: 0.75rem;
}

:root .focus\:translate-y-4:focus{
  --tw-translate-y: 1rem;
}

:root .focus\:translate-y-5:focus{
  --tw-translate-y: 1.25rem;
}

:root .focus\:translate-y-6:focus{
  --tw-translate-y: 1.5rem;
}

:root .focus\:translate-y-8:focus{
  --tw-translate-y: 2rem;
}

:root .focus\:translate-y-9:focus{
  --tw-translate-y: 2.25rem;
}

:root .focus\:translate-y-10:focus{
  --tw-translate-y: 2.5rem;
}

:root .focus\:translate-y-12:focus{
  --tw-translate-y: 3rem;
}

:root .focus\:translate-y-14:focus{
  --tw-translate-y: 3.5rem;
}

:root .focus\:translate-y-16:focus{
  --tw-translate-y: 4rem;
}

:root .focus\:translate-y-20:focus{
  --tw-translate-y: 5rem;
}

:root .focus\:translate-y-24:focus{
  --tw-translate-y: 6rem;
}

:root .focus\:translate-y-32:focus{
  --tw-translate-y: 8rem;
}

:root .focus\:translate-y-40:focus{
  --tw-translate-y: 10rem;
}

:root .focus\:translate-y-48:focus{
  --tw-translate-y: 12rem;
}

:root .focus\:translate-y-56:focus{
  --tw-translate-y: 14rem;
}

:root .focus\:translate-y-64:focus{
  --tw-translate-y: 16rem;
}

:root .focus\:translate-y-px:focus{
  --tw-translate-y: 1px;
}

:root .focus\:translate-y-gutter:focus{
  --tw-translate-y: var(--padding-gutter);
}

:root .focus\:-translate-y-1:focus{
  --tw-translate-y: -0.25rem;
}

:root .focus\:-translate-y-2:focus{
  --tw-translate-y: -0.5rem;
}

:root .focus\:-translate-y-3:focus{
  --tw-translate-y: -0.75rem;
}

:root .focus\:-translate-y-4:focus{
  --tw-translate-y: -1rem;
}

:root .focus\:-translate-y-5:focus{
  --tw-translate-y: -1.25rem;
}

:root .focus\:-translate-y-6:focus{
  --tw-translate-y: -1.5rem;
}

:root .focus\:-translate-y-8:focus{
  --tw-translate-y: -2rem;
}

:root .focus\:-translate-y-9:focus{
  --tw-translate-y: -2.25rem;
}

:root .focus\:-translate-y-10:focus{
  --tw-translate-y: -2.5rem;
}

:root .focus\:-translate-y-12:focus{
  --tw-translate-y: -3rem;
}

:root .focus\:-translate-y-14:focus{
  --tw-translate-y: -3.5rem;
}

:root .focus\:-translate-y-16:focus{
  --tw-translate-y: -4rem;
}

:root .focus\:-translate-y-20:focus{
  --tw-translate-y: -5rem;
}

:root .focus\:-translate-y-24:focus{
  --tw-translate-y: -6rem;
}

:root .focus\:-translate-y-32:focus{
  --tw-translate-y: -8rem;
}

:root .focus\:-translate-y-40:focus{
  --tw-translate-y: -10rem;
}

:root .focus\:-translate-y-48:focus{
  --tw-translate-y: -12rem;
}

:root .focus\:-translate-y-56:focus{
  --tw-translate-y: -14rem;
}

:root .focus\:-translate-y-64:focus{
  --tw-translate-y: -16rem;
}

:root .focus\:-translate-y-px:focus{
  --tw-translate-y: -1px;
}

:root .focus\:-translate-y-gutter:focus{
  --tw-translate-y: calc(var(--padding-gutter) * -1);
}

:root .focus\:translate-y-1\/2:focus{
  --tw-translate-y: 50%;
}

:root .focus\:translate-y-1\/3:focus{
  --tw-translate-y: 33.333333%;
}

:root .focus\:translate-y-2\/3:focus{
  --tw-translate-y: 66.666667%;
}

:root .focus\:translate-y-1\/4:focus{
  --tw-translate-y: 25%;
}

:root .focus\:translate-y-2\/4:focus{
  --tw-translate-y: 50%;
}

:root .focus\:translate-y-3\/4:focus{
  --tw-translate-y: 75%;
}

:root .focus\:translate-y-full:focus{
  --tw-translate-y: 100%;
}

:root .focus\:-translate-y-1\/2:focus{
  --tw-translate-y: -50%;
}

:root .focus\:-translate-y-1\/3:focus{
  --tw-translate-y: -33.333333%;
}

:root .focus\:-translate-y-2\/3:focus{
  --tw-translate-y: -66.666667%;
}

:root .focus\:-translate-y-1\/4:focus{
  --tw-translate-y: -25%;
}

:root .focus\:-translate-y-2\/4:focus{
  --tw-translate-y: -50%;
}

:root .focus\:-translate-y-3\/4:focus{
  --tw-translate-y: -75%;
}

:root .focus\:-translate-y-full:focus{
  --tw-translate-y: -100%;
}

:root .skew-x-0{
  --tw-skew-x: 0deg;
}

:root .skew-x-1{
  --tw-skew-x: 1deg;
}

:root .skew-x-2{
  --tw-skew-x: 2deg;
}

:root .skew-x-3{
  --tw-skew-x: 3deg;
}

:root .skew-x-6{
  --tw-skew-x: 6deg;
}

:root .skew-x-12{
  --tw-skew-x: 12deg;
}

:root .-skew-x-12{
  --tw-skew-x: -12deg;
}

:root .-skew-x-6{
  --tw-skew-x: -6deg;
}

:root .-skew-x-3{
  --tw-skew-x: -3deg;
}

:root .-skew-x-2{
  --tw-skew-x: -2deg;
}

:root .-skew-x-1{
  --tw-skew-x: -1deg;
}

:root .skew-y-0{
  --tw-skew-y: 0deg;
}

:root .skew-y-1{
  --tw-skew-y: 1deg;
}

:root .skew-y-2{
  --tw-skew-y: 2deg;
}

:root .skew-y-3{
  --tw-skew-y: 3deg;
}

:root .skew-y-6{
  --tw-skew-y: 6deg;
}

:root .skew-y-12{
  --tw-skew-y: 12deg;
}

:root .-skew-y-12{
  --tw-skew-y: -12deg;
}

:root .-skew-y-6{
  --tw-skew-y: -6deg;
}

:root .-skew-y-3{
  --tw-skew-y: -3deg;
}

:root .-skew-y-2{
  --tw-skew-y: -2deg;
}

:root .-skew-y-1{
  --tw-skew-y: -1deg;
}

:root .hover\:skew-x-0:hover{
  --tw-skew-x: 0deg;
}

:root .hover\:skew-x-1:hover{
  --tw-skew-x: 1deg;
}

:root .hover\:skew-x-2:hover{
  --tw-skew-x: 2deg;
}

:root .hover\:skew-x-3:hover{
  --tw-skew-x: 3deg;
}

:root .hover\:skew-x-6:hover{
  --tw-skew-x: 6deg;
}

:root .hover\:skew-x-12:hover{
  --tw-skew-x: 12deg;
}

:root .hover\:-skew-x-12:hover{
  --tw-skew-x: -12deg;
}

:root .hover\:-skew-x-6:hover{
  --tw-skew-x: -6deg;
}

:root .hover\:-skew-x-3:hover{
  --tw-skew-x: -3deg;
}

:root .hover\:-skew-x-2:hover{
  --tw-skew-x: -2deg;
}

:root .hover\:-skew-x-1:hover{
  --tw-skew-x: -1deg;
}

:root .hover\:skew-y-0:hover{
  --tw-skew-y: 0deg;
}

:root .hover\:skew-y-1:hover{
  --tw-skew-y: 1deg;
}

:root .hover\:skew-y-2:hover{
  --tw-skew-y: 2deg;
}

:root .hover\:skew-y-3:hover{
  --tw-skew-y: 3deg;
}

:root .hover\:skew-y-6:hover{
  --tw-skew-y: 6deg;
}

:root .hover\:skew-y-12:hover{
  --tw-skew-y: 12deg;
}

:root .hover\:-skew-y-12:hover{
  --tw-skew-y: -12deg;
}

:root .hover\:-skew-y-6:hover{
  --tw-skew-y: -6deg;
}

:root .hover\:-skew-y-3:hover{
  --tw-skew-y: -3deg;
}

:root .hover\:-skew-y-2:hover{
  --tw-skew-y: -2deg;
}

:root .hover\:-skew-y-1:hover{
  --tw-skew-y: -1deg;
}

:root .focus\:skew-x-0:focus{
  --tw-skew-x: 0deg;
}

:root .focus\:skew-x-1:focus{
  --tw-skew-x: 1deg;
}

:root .focus\:skew-x-2:focus{
  --tw-skew-x: 2deg;
}

:root .focus\:skew-x-3:focus{
  --tw-skew-x: 3deg;
}

:root .focus\:skew-x-6:focus{
  --tw-skew-x: 6deg;
}

:root .focus\:skew-x-12:focus{
  --tw-skew-x: 12deg;
}

:root .focus\:-skew-x-12:focus{
  --tw-skew-x: -12deg;
}

:root .focus\:-skew-x-6:focus{
  --tw-skew-x: -6deg;
}

:root .focus\:-skew-x-3:focus{
  --tw-skew-x: -3deg;
}

:root .focus\:-skew-x-2:focus{
  --tw-skew-x: -2deg;
}

:root .focus\:-skew-x-1:focus{
  --tw-skew-x: -1deg;
}

:root .focus\:skew-y-0:focus{
  --tw-skew-y: 0deg;
}

:root .focus\:skew-y-1:focus{
  --tw-skew-y: 1deg;
}

:root .focus\:skew-y-2:focus{
  --tw-skew-y: 2deg;
}

:root .focus\:skew-y-3:focus{
  --tw-skew-y: 3deg;
}

:root .focus\:skew-y-6:focus{
  --tw-skew-y: 6deg;
}

:root .focus\:skew-y-12:focus{
  --tw-skew-y: 12deg;
}

:root .focus\:-skew-y-12:focus{
  --tw-skew-y: -12deg;
}

:root .focus\:-skew-y-6:focus{
  --tw-skew-y: -6deg;
}

:root .focus\:-skew-y-3:focus{
  --tw-skew-y: -3deg;
}

:root .focus\:-skew-y-2:focus{
  --tw-skew-y: -2deg;
}

:root .focus\:-skew-y-1:focus{
  --tw-skew-y: -1deg;
}

:root .transition-none{
  transition-property: none;
}

:root .transition-all{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

:root .transition{
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

:root .transition-colors{
  transition-property: background-color, border-color, color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

:root .transition-opacity{
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

:root .transition-shadow{
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

:root .transition-transform{
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

:root .ease-linear{
  transition-timing-function: linear;
}

:root .ease-in{
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

:root .ease-out{
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

:root .ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

:root .duration-75{
  transition-duration: 75ms;
}

:root .duration-100{
  transition-duration: 100ms;
}

:root .duration-150{
  transition-duration: 150ms;
}

:root .duration-200{
  transition-duration: 200ms;
}

:root .duration-300{
  transition-duration: 300ms;
}

:root .duration-500{
  transition-duration: 500ms;
}

:root .duration-700{
  transition-duration: 700ms;
}

:root .duration-1000{
  transition-duration: 1000ms;
}

:root .delay-75{
  transition-delay: 75ms;
}

:root .delay-100{
  transition-delay: 100ms;
}

:root .delay-150{
  transition-delay: 150ms;
}

:root .delay-200{
  transition-delay: 200ms;
}

:root .delay-300{
  transition-delay: 300ms;
}

:root .delay-500{
  transition-delay: 500ms;
}

:root .delay-700{
  transition-delay: 700ms;
}

:root .delay-1000{
  transition-delay: 1000ms;
}

@-webkit-keyframes spin{
  to{
    transform: rotate(360deg);
  }
}

@keyframes spin{
  to{
    transform: rotate(360deg);
  }
}

@-webkit-keyframes ping{
  75%, 100%{
    transform: scale(2);
    opacity: 0;
  }
}

@keyframes ping{
  75%, 100%{
    transform: scale(2);
    opacity: 0;
  }
}

@-webkit-keyframes pulse{
  50%{
    opacity: .5;
  }
}

@keyframes pulse{
  50%{
    opacity: .5;
  }
}

@-webkit-keyframes bounce{
  0%, 100%{
    transform: translateY(-25%);
    -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);
            animation-timing-function: cubic-bezier(0.8,0,1,1);
  }

  50%{
    transform: none;
    -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);
            animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}

@keyframes bounce{
  0%, 100%{
    transform: translateY(-25%);
    -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);
            animation-timing-function: cubic-bezier(0.8,0,1,1);
  }

  50%{
    transform: none;
    -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);
            animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}

:root .animate-none{
  -webkit-animation: none;
          animation: none;
}

:root .animate-spin{
  -webkit-animation: spin 1s linear infinite;
          animation: spin 1s linear infinite;
}

:root .animate-ping{
  -webkit-animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
          animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

:root .animate-pulse{
  -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
          animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

:root .animate-bounce{
  -webkit-animation: bounce 1s infinite;
          animation: bounce 1s infinite;
}

/* Colors for the ripple elements.*/

/* stylelint-disable-next-line material/theme-mixin-api */

/* stylelint-disable-next-line material/theme-mixin-api */

/* stylelint-disable material/no-prefixes */

/* stylelint-enable */

.container {
  padding-left: var(--padding-gutter);
  padding-right: var(--padding-gutter);
}

@media (min-width: 1280px) {
  .container {
    margin-left: auto;
    margin-right: auto;
    max-width: 1280px;
    width: 100%;
  }
}

.avatar {
  background-color: var(--background-hover);
  border-radius: 9999px;
  height: 2.5rem;
  -o-object-fit: cover;
     object-fit: cover;
  width: 2.5rem;
}

.hidden-input {
  border-color: transparent;
  border-radius: 0.25rem;
  border-style: solid;
  border-width: 2px;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.hidden-input:focus {
  border-color: rgb(var(--color-primary));
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.hidden-input.empty {
  border-color: rgb(var(--color-primary));
}

.list-item {
  border-radius: 0.25rem;
  cursor: pointer;
  height: 3rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

.list-item:hover {
  background-color: var(--background-hover);
}

.textarea-clean {
  resize: none;
}

.textarea-clean:focus {
  outline: none;
}

.trans-ease-out {
  transition: all 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
}

.trans-shadow {
  transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

.vex-blogpost p {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

@media (min-width: 300px){
  :root .xs\:space-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0px * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-0 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0px * var(--tw-space-x-reverse));
    margin-left: calc(0px * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1.25rem * var(--tw-space-x-reverse));
    margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1.5rem * var(--tw-space-x-reverse));
    margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2rem * var(--tw-space-x-reverse));
    margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.25rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2.25rem * var(--tw-space-x-reverse));
    margin-left: calc(2.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2.5rem * var(--tw-space-x-reverse));
    margin-left: calc(2.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(3rem * var(--tw-space-x-reverse));
    margin-left: calc(3rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3.5rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(3.5rem * var(--tw-space-x-reverse));
    margin-left: calc(3.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(4rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(4rem * var(--tw-space-x-reverse));
    margin-left: calc(4rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(5rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(5rem * var(--tw-space-x-reverse));
    margin-left: calc(5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(6rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(6rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(6rem * var(--tw-space-x-reverse));
    margin-left: calc(6rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(8rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(8rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(8rem * var(--tw-space-x-reverse));
    margin-left: calc(8rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(10rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(10rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(10rem * var(--tw-space-x-reverse));
    margin-left: calc(10rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(12rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(12rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(12rem * var(--tw-space-x-reverse));
    margin-left: calc(12rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(14rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(14rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(14rem * var(--tw-space-x-reverse));
    margin-left: calc(14rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(16rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(16rem * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(16rem * var(--tw-space-x-reverse));
    margin-left: calc(16rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1px * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1px * var(--tw-space-x-reverse));
    margin-left: calc(1px * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(var(--padding-gutter) * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(var(--padding-gutter) * var(--tw-space-y-reverse));
  }

  :root .xs\:space-x-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(var(--padding-gutter) * var(--tw-space-x-reverse));
    margin-left: calc(var(--padding-gutter) * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-0.25rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-0.5rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-0.75rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1rem * var(--tw-space-x-reverse));
    margin-left: calc(-1rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1.25rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1.25rem * var(--tw-space-x-reverse));
    margin-left: calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1.5rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-2rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-2rem * var(--tw-space-x-reverse));
    margin-left: calc(-2rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-2.25rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-2.25rem * var(--tw-space-x-reverse));
    margin-left: calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-2.5rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-2.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-3rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-3rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-3rem * var(--tw-space-x-reverse));
    margin-left: calc(-3rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-3.5rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-3.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-4rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-4rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-4rem * var(--tw-space-x-reverse));
    margin-left: calc(-4rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-5rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-5rem * var(--tw-space-x-reverse));
    margin-left: calc(-5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-6rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-6rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-6rem * var(--tw-space-x-reverse));
    margin-left: calc(-6rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-8rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-8rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-8rem * var(--tw-space-x-reverse));
    margin-left: calc(-8rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-10rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-10rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-10rem * var(--tw-space-x-reverse));
    margin-left: calc(-10rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-12rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-12rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-12rem * var(--tw-space-x-reverse));
    margin-left: calc(-12rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-14rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-14rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-14rem * var(--tw-space-x-reverse));
    margin-left: calc(-14rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-16rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-16rem * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-16rem * var(--tw-space-x-reverse));
    margin-left: calc(-16rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1px * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1px * var(--tw-space-x-reverse));
    margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:-space-y-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(calc(var(--padding-gutter) * -1) * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(calc(var(--padding-gutter) * -1) * var(--tw-space-y-reverse));
  }

  :root .xs\:-space-x-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(calc(var(--padding-gutter) * -1) * var(--tw-space-x-reverse));
    margin-left: calc(calc(var(--padding-gutter) * -1) * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .xs\:space-y-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 1;
  }

  :root .xs\:space-x-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 1;
  }

  :root .xs\:divide-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(0px * var(--tw-divide-y-reverse));
  }

  :root .xs\:divide-x-0 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(0px * var(--tw-divide-x-reverse));
    border-left-width: calc(0px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .xs\:divide-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(2px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(2px * var(--tw-divide-y-reverse));
  }

  :root .xs\:divide-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(2px * var(--tw-divide-x-reverse));
    border-left-width: calc(2px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .xs\:divide-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(3px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(3px * var(--tw-divide-y-reverse));
  }

  :root .xs\:divide-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(3px * var(--tw-divide-x-reverse));
    border-left-width: calc(3px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .xs\:divide-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(4px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(4px * var(--tw-divide-y-reverse));
  }

  :root .xs\:divide-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(4px * var(--tw-divide-x-reverse));
    border-left-width: calc(4px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .xs\:divide-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(8px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(8px * var(--tw-divide-y-reverse));
  }

  :root .xs\:divide-x-8 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(8px * var(--tw-divide-x-reverse));
    border-left-width: calc(8px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .xs\:divide-y > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
  }

  :root .xs\:divide-x > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .xs\:divide-y-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 1;
  }

  :root .xs\:divide-x-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 1;
  }

  :root .xs\:divide-current > :not([hidden]) ~ :not([hidden]){
    border-color: currentColor;
  }

  :root .xs\:divide-transparent > :not([hidden]) ~ :not([hidden]){
    border-color: transparent;
  }

  :root .xs\:divide-black > :not([hidden]) ~ :not([hidden]){
    border-color: var(--text-color);
  }

  :root .xs\:divide-white > :not([hidden]) ~ :not([hidden]){
    border-color: var(--text-color-light);
  }

  :root .xs\:divide-contrast-black > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-divide-opacity));
  }

  :root .xs\:divide-contrast-white > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-divide-opacity));
  }

  :root .xs\:divide-gray-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:divide-gray > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-divide-opacity));
  }

  :root .xs\:divide-red-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:divide-red > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-divide-opacity));
  }

  :root .xs\:divide-orange-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:divide-orange > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-divide-opacity));
  }

  :root .xs\:divide-deep-orange-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:divide-deep-orange > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-divide-opacity));
  }

  :root .xs\:divide-amber-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:divide-amber > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-divide-opacity));
  }

  :root .xs\:divide-green-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:divide-green > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-divide-opacity));
  }

  :root .xs\:divide-teal-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:divide-teal > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-divide-opacity));
  }

  :root .xs\:divide-cyan-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:divide-cyan > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-divide-opacity));
  }

  :root .xs\:divide-purple-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:divide-purple > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-divide-opacity));
  }

  :root .xs\:divide-deep-purple-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:divide-deep-purple > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-divide-opacity));
  }

  :root .xs\:divide-pink-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:divide-pink > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-divide-opacity));
  }

  :root .xs\:divide-primary-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(var(--color-primary), .1);
  }

  :root .xs\:divide-primary > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(var(--color-primary));
  }

  :root .xs\:divide-accent-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(var(--color-accent), .1);
  }

  :root .xs\:divide-accent > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(var(--color-accent));
  }

  :root .xs\:divide-warn-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(var(--color-warn), .1);
  }

  :root .xs\:divide-warn > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(var(--color-warn));
  }

  :root .xs\:divide-solid > :not([hidden]) ~ :not([hidden]){
    border-style: solid;
  }

  :root .xs\:divide-dashed > :not([hidden]) ~ :not([hidden]){
    border-style: dashed;
  }

  :root .xs\:divide-dotted > :not([hidden]) ~ :not([hidden]){
    border-style: dotted;
  }

  :root .xs\:divide-double > :not([hidden]) ~ :not([hidden]){
    border-style: double;
  }

  :root .xs\:divide-none > :not([hidden]) ~ :not([hidden]){
    border-style: none;
  }

  :root .xs\:divide-opacity-0 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0;
  }

  :root .xs\:divide-opacity-25 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0.25;
  }

  :root .xs\:divide-opacity-50 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0.5;
  }

  :root .xs\:divide-opacity-75 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0.75;
  }

  :root .xs\:divide-opacity-100 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
  }

  :root .xs\:sr-only{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }

  :root .xs\:not-sr-only{
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }

  :root .xs\:focus\:sr-only:focus{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }

  :root .xs\:focus\:not-sr-only:focus{
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }

  :root .xs\:appearance-none{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }

  :root .xs\:bg-fixed{
    background-attachment: fixed;
  }

  :root .xs\:bg-local{
    background-attachment: local;
  }

  :root .xs\:bg-scroll{
    background-attachment: scroll;
  }

  :root .xs\:bg-clip-border{
    background-clip: border-box;
  }

  :root .xs\:bg-clip-padding{
    background-clip: padding-box;
  }

  :root .xs\:bg-clip-content{
    background-clip: content-box;
  }

  :root .xs\:bg-clip-text{
    -webkit-background-clip: text;
            background-clip: text;
  }

  :root .xs\:bg-base{
    background-color: var(--background-base);
  }

  :root .xs\:bg-card{
    background-color: var(--background-card);
  }

  :root .xs\:bg-app-bar{
    background-color: var(--background-app-bar);
  }

  :root .xs\:bg-hover{
    background-color: var(--background-hover);
  }

  :root .xs\:bg-current{
    background-color: currentColor;
  }

  :root .xs\:bg-transparent{
    background-color: transparent;
  }

  :root .xs\:bg-black{
    background-color: var(--text-color);
  }

  :root .xs\:bg-white{
    background-color: var(--text-color-light);
  }

  :root .xs\:bg-contrast-black{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
  }

  :root .xs\:bg-contrast-white{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  }

  :root .xs\:bg-gray-light{
    background-color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:bg-gray{
    --tw-bg-opacity: 1;
    background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
  }

  :root .xs\:bg-red-light{
    background-color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:bg-red{
    --tw-bg-opacity: 1;
    background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
  }

  :root .xs\:bg-orange-light{
    background-color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:bg-orange{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
  }

  :root .xs\:bg-deep-orange-light{
    background-color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:bg-deep-orange{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
  }

  :root .xs\:bg-amber-light{
    background-color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:bg-amber{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
  }

  :root .xs\:bg-green-light{
    background-color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:bg-green{
    --tw-bg-opacity: 1;
    background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
  }

  :root .xs\:bg-teal-light{
    background-color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:bg-teal{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
  }

  :root .xs\:bg-cyan-light{
    background-color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:bg-cyan{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
  }

  :root .xs\:bg-purple-light{
    background-color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:bg-purple{
    --tw-bg-opacity: 1;
    background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
  }

  :root .xs\:bg-deep-purple-light{
    background-color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:bg-deep-purple{
    --tw-bg-opacity: 1;
    background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
  }

  :root .xs\:bg-pink-light{
    background-color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:bg-pink{
    --tw-bg-opacity: 1;
    background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
  }

  :root .xs\:bg-primary-light{
    background-color: rgba(var(--color-primary), .1);
  }

  :root .xs\:bg-primary{
    background-color: rgb(var(--color-primary));
  }

  :root .xs\:bg-accent-light{
    background-color: rgba(var(--color-accent), .1);
  }

  :root .xs\:bg-accent{
    background-color: rgb(var(--color-accent));
  }

  :root .xs\:bg-warn-light{
    background-color: rgba(var(--color-warn), .1);
  }

  :root .xs\:bg-warn{
    background-color: rgb(var(--color-warn));
  }

  :root .xs\:hover\:bg-base:hover{
    background-color: var(--background-base);
  }

  :root .xs\:hover\:bg-card:hover{
    background-color: var(--background-card);
  }

  :root .xs\:hover\:bg-app-bar:hover{
    background-color: var(--background-app-bar);
  }

  :root .xs\:hover\:bg-hover:hover{
    background-color: var(--background-hover);
  }

  :root .xs\:hover\:bg-current:hover{
    background-color: currentColor;
  }

  :root .xs\:hover\:bg-transparent:hover{
    background-color: transparent;
  }

  :root .xs\:hover\:bg-black:hover{
    background-color: var(--text-color);
  }

  :root .xs\:hover\:bg-white:hover{
    background-color: var(--text-color-light);
  }

  :root .xs\:hover\:bg-contrast-black:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
  }

  :root .xs\:hover\:bg-contrast-white:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  }

  :root .xs\:hover\:bg-gray-light:hover{
    background-color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:hover\:bg-gray:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
  }

  :root .xs\:hover\:bg-red-light:hover{
    background-color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:hover\:bg-red:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
  }

  :root .xs\:hover\:bg-orange-light:hover{
    background-color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:hover\:bg-orange:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
  }

  :root .xs\:hover\:bg-deep-orange-light:hover{
    background-color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:hover\:bg-deep-orange:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
  }

  :root .xs\:hover\:bg-amber-light:hover{
    background-color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:hover\:bg-amber:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
  }

  :root .xs\:hover\:bg-green-light:hover{
    background-color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:hover\:bg-green:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
  }

  :root .xs\:hover\:bg-teal-light:hover{
    background-color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:hover\:bg-teal:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
  }

  :root .xs\:hover\:bg-cyan-light:hover{
    background-color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:hover\:bg-cyan:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
  }

  :root .xs\:hover\:bg-purple-light:hover{
    background-color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:hover\:bg-purple:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
  }

  :root .xs\:hover\:bg-deep-purple-light:hover{
    background-color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:hover\:bg-deep-purple:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
  }

  :root .xs\:hover\:bg-pink-light:hover{
    background-color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:hover\:bg-pink:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
  }

  :root .xs\:hover\:bg-primary-light:hover{
    background-color: rgba(var(--color-primary), .1);
  }

  :root .xs\:hover\:bg-primary:hover{
    background-color: rgb(var(--color-primary));
  }

  :root .xs\:hover\:bg-accent-light:hover{
    background-color: rgba(var(--color-accent), .1);
  }

  :root .xs\:hover\:bg-accent:hover{
    background-color: rgb(var(--color-accent));
  }

  :root .xs\:hover\:bg-warn-light:hover{
    background-color: rgba(var(--color-warn), .1);
  }

  :root .xs\:hover\:bg-warn:hover{
    background-color: rgb(var(--color-warn));
  }

  :root .xs\:focus\:bg-base:focus{
    background-color: var(--background-base);
  }

  :root .xs\:focus\:bg-card:focus{
    background-color: var(--background-card);
  }

  :root .xs\:focus\:bg-app-bar:focus{
    background-color: var(--background-app-bar);
  }

  :root .xs\:focus\:bg-hover:focus{
    background-color: var(--background-hover);
  }

  :root .xs\:focus\:bg-current:focus{
    background-color: currentColor;
  }

  :root .xs\:focus\:bg-transparent:focus{
    background-color: transparent;
  }

  :root .xs\:focus\:bg-black:focus{
    background-color: var(--text-color);
  }

  :root .xs\:focus\:bg-white:focus{
    background-color: var(--text-color-light);
  }

  :root .xs\:focus\:bg-contrast-black:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
  }

  :root .xs\:focus\:bg-contrast-white:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  }

  :root .xs\:focus\:bg-gray-light:focus{
    background-color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:focus\:bg-gray:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
  }

  :root .xs\:focus\:bg-red-light:focus{
    background-color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:focus\:bg-red:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
  }

  :root .xs\:focus\:bg-orange-light:focus{
    background-color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:focus\:bg-orange:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
  }

  :root .xs\:focus\:bg-deep-orange-light:focus{
    background-color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:focus\:bg-deep-orange:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
  }

  :root .xs\:focus\:bg-amber-light:focus{
    background-color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:focus\:bg-amber:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
  }

  :root .xs\:focus\:bg-green-light:focus{
    background-color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:focus\:bg-green:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
  }

  :root .xs\:focus\:bg-teal-light:focus{
    background-color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:focus\:bg-teal:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
  }

  :root .xs\:focus\:bg-cyan-light:focus{
    background-color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:focus\:bg-cyan:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
  }

  :root .xs\:focus\:bg-purple-light:focus{
    background-color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:focus\:bg-purple:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
  }

  :root .xs\:focus\:bg-deep-purple-light:focus{
    background-color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:focus\:bg-deep-purple:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
  }

  :root .xs\:focus\:bg-pink-light:focus{
    background-color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:focus\:bg-pink:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
  }

  :root .xs\:focus\:bg-primary-light:focus{
    background-color: rgba(var(--color-primary), .1);
  }

  :root .xs\:focus\:bg-primary:focus{
    background-color: rgb(var(--color-primary));
  }

  :root .xs\:focus\:bg-accent-light:focus{
    background-color: rgba(var(--color-accent), .1);
  }

  :root .xs\:focus\:bg-accent:focus{
    background-color: rgb(var(--color-accent));
  }

  :root .xs\:focus\:bg-warn-light:focus{
    background-color: rgba(var(--color-warn), .1);
  }

  :root .xs\:focus\:bg-warn:focus{
    background-color: rgb(var(--color-warn));
  }

  :root .xs\:bg-none{
    background-image: none;
  }

  :root .xs\:bg-gradient-to-t{
    background-image: linear-gradient(to top, var(--tw-gradient-stops));
  }

  :root .xs\:bg-gradient-to-tr{
    background-image: linear-gradient(to top right, var(--tw-gradient-stops));
  }

  :root .xs\:bg-gradient-to-r{
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
  }

  :root .xs\:bg-gradient-to-br{
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
  }

  :root .xs\:bg-gradient-to-b{
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
  }

  :root .xs\:bg-gradient-to-bl{
    background-image: linear-gradient(to bottom left, var(--tw-gradient-stops));
  }

  :root .xs\:bg-gradient-to-l{
    background-image: linear-gradient(to left, var(--tw-gradient-stops));
  }

  :root .xs\:bg-gradient-to-tl{
    background-image: linear-gradient(to top left, var(--tw-gradient-stops));
  }

  :root .xs\:from-current{
    --tw-gradient-from: currentColor;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:from-transparent{
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .xs\:from-black{
    --tw-gradient-from: var(--text-color);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:from-white{
    --tw-gradient-from: var(--text-color-light);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:from-contrast-black{
    --tw-gradient-from: black;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .xs\:from-contrast-white{
    --tw-gradient-from: white;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:from-gray-light{
    --tw-gradient-from: rgba(158, 158, 158, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .xs\:from-gray{
    --tw-gradient-from: rgb(158, 158, 158);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .xs\:from-red-light{
    --tw-gradient-from: rgba(244, 67, 54, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .xs\:from-red{
    --tw-gradient-from: rgb(244, 67, 54);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .xs\:from-orange-light{
    --tw-gradient-from: rgba(255, 152, 0, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .xs\:from-orange{
    --tw-gradient-from: rgb(255, 152, 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .xs\:from-deep-orange-light{
    --tw-gradient-from: rgba(255, 87, 34, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .xs\:from-deep-orange{
    --tw-gradient-from: rgb(255, 87, 34);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .xs\:from-amber-light{
    --tw-gradient-from: rgba(255, 193, 7, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .xs\:from-amber{
    --tw-gradient-from: rgb(255, 193, 7);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .xs\:from-green-light{
    --tw-gradient-from: rgba(76, 175, 80, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .xs\:from-green{
    --tw-gradient-from: rgb(76, 175, 80);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .xs\:from-teal-light{
    --tw-gradient-from: rgba(0, 150, 136, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .xs\:from-teal{
    --tw-gradient-from: rgb(0, 150, 136);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .xs\:from-cyan-light{
    --tw-gradient-from: rgba(0, 188, 212, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .xs\:from-cyan{
    --tw-gradient-from: rgb(0, 188, 212);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .xs\:from-purple-light{
    --tw-gradient-from: rgba(156, 39, 176, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .xs\:from-purple{
    --tw-gradient-from: rgb(156, 39, 176);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .xs\:from-deep-purple-light{
    --tw-gradient-from: rgba(103, 58, 183, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .xs\:from-deep-purple{
    --tw-gradient-from: rgb(103, 58, 183);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .xs\:from-pink-light{
    --tw-gradient-from: rgba(233, 30, 99, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .xs\:from-pink{
    --tw-gradient-from: rgb(233, 30, 99);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .xs\:from-primary-light{
    --tw-gradient-from: rgba(var(--color-primary), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:from-primary{
    --tw-gradient-from: rgb(var(--color-primary));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:from-accent-light{
    --tw-gradient-from: rgba(var(--color-accent), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:from-accent{
    --tw-gradient-from: rgb(var(--color-accent));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:from-warn-light{
    --tw-gradient-from: rgba(var(--color-warn), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:from-warn{
    --tw-gradient-from: rgb(var(--color-warn));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:via-current{
    --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:via-transparent{
    --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .xs\:via-black{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:via-white{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:via-contrast-black{
    --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .xs\:via-contrast-white{
    --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:via-gray-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .xs\:via-gray{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .xs\:via-red-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .xs\:via-red{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .xs\:via-orange-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .xs\:via-orange{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .xs\:via-deep-orange-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .xs\:via-deep-orange{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .xs\:via-amber-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .xs\:via-amber{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .xs\:via-green-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .xs\:via-green{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .xs\:via-teal-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .xs\:via-teal{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .xs\:via-cyan-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .xs\:via-cyan{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .xs\:via-purple-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .xs\:via-purple{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .xs\:via-deep-purple-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .xs\:via-deep-purple{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .xs\:via-pink-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .xs\:via-pink{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .xs\:via-primary-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:via-primary{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:via-accent-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:via-accent{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:via-warn-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:via-warn{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:to-current{
    --tw-gradient-to: currentColor;
  }

  :root .xs\:to-transparent{
    --tw-gradient-to: transparent;
  }

  :root .xs\:to-black{
    --tw-gradient-to: var(--text-color);
  }

  :root .xs\:to-white{
    --tw-gradient-to: var(--text-color-light);
  }

  :root .xs\:to-contrast-black{
    --tw-gradient-to: black;
  }

  :root .xs\:to-contrast-white{
    --tw-gradient-to: white;
  }

  :root .xs\:to-gray-light{
    --tw-gradient-to: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:to-gray{
    --tw-gradient-to: rgb(158, 158, 158);
  }

  :root .xs\:to-red-light{
    --tw-gradient-to: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:to-red{
    --tw-gradient-to: rgb(244, 67, 54);
  }

  :root .xs\:to-orange-light{
    --tw-gradient-to: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:to-orange{
    --tw-gradient-to: rgb(255, 152, 0);
  }

  :root .xs\:to-deep-orange-light{
    --tw-gradient-to: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:to-deep-orange{
    --tw-gradient-to: rgb(255, 87, 34);
  }

  :root .xs\:to-amber-light{
    --tw-gradient-to: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:to-amber{
    --tw-gradient-to: rgb(255, 193, 7);
  }

  :root .xs\:to-green-light{
    --tw-gradient-to: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:to-green{
    --tw-gradient-to: rgb(76, 175, 80);
  }

  :root .xs\:to-teal-light{
    --tw-gradient-to: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:to-teal{
    --tw-gradient-to: rgb(0, 150, 136);
  }

  :root .xs\:to-cyan-light{
    --tw-gradient-to: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:to-cyan{
    --tw-gradient-to: rgb(0, 188, 212);
  }

  :root .xs\:to-purple-light{
    --tw-gradient-to: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:to-purple{
    --tw-gradient-to: rgb(156, 39, 176);
  }

  :root .xs\:to-deep-purple-light{
    --tw-gradient-to: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:to-deep-purple{
    --tw-gradient-to: rgb(103, 58, 183);
  }

  :root .xs\:to-pink-light{
    --tw-gradient-to: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:to-pink{
    --tw-gradient-to: rgb(233, 30, 99);
  }

  :root .xs\:to-primary-light{
    --tw-gradient-to: rgba(var(--color-primary), .1);
  }

  :root .xs\:to-primary{
    --tw-gradient-to: rgb(var(--color-primary));
  }

  :root .xs\:to-accent-light{
    --tw-gradient-to: rgba(var(--color-accent), .1);
  }

  :root .xs\:to-accent{
    --tw-gradient-to: rgb(var(--color-accent));
  }

  :root .xs\:to-warn-light{
    --tw-gradient-to: rgba(var(--color-warn), .1);
  }

  :root .xs\:to-warn{
    --tw-gradient-to: rgb(var(--color-warn));
  }

  :root .xs\:hover\:from-current:hover{
    --tw-gradient-from: currentColor;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:from-transparent:hover{
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .xs\:hover\:from-black:hover{
    --tw-gradient-from: var(--text-color);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:from-white:hover{
    --tw-gradient-from: var(--text-color-light);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:from-contrast-black:hover{
    --tw-gradient-from: black;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .xs\:hover\:from-contrast-white:hover{
    --tw-gradient-from: white;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:from-gray-light:hover{
    --tw-gradient-from: rgba(158, 158, 158, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .xs\:hover\:from-gray:hover{
    --tw-gradient-from: rgb(158, 158, 158);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .xs\:hover\:from-red-light:hover{
    --tw-gradient-from: rgba(244, 67, 54, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .xs\:hover\:from-red:hover{
    --tw-gradient-from: rgb(244, 67, 54);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .xs\:hover\:from-orange-light:hover{
    --tw-gradient-from: rgba(255, 152, 0, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .xs\:hover\:from-orange:hover{
    --tw-gradient-from: rgb(255, 152, 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .xs\:hover\:from-deep-orange-light:hover{
    --tw-gradient-from: rgba(255, 87, 34, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .xs\:hover\:from-deep-orange:hover{
    --tw-gradient-from: rgb(255, 87, 34);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .xs\:hover\:from-amber-light:hover{
    --tw-gradient-from: rgba(255, 193, 7, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .xs\:hover\:from-amber:hover{
    --tw-gradient-from: rgb(255, 193, 7);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .xs\:hover\:from-green-light:hover{
    --tw-gradient-from: rgba(76, 175, 80, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .xs\:hover\:from-green:hover{
    --tw-gradient-from: rgb(76, 175, 80);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .xs\:hover\:from-teal-light:hover{
    --tw-gradient-from: rgba(0, 150, 136, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .xs\:hover\:from-teal:hover{
    --tw-gradient-from: rgb(0, 150, 136);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .xs\:hover\:from-cyan-light:hover{
    --tw-gradient-from: rgba(0, 188, 212, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .xs\:hover\:from-cyan:hover{
    --tw-gradient-from: rgb(0, 188, 212);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .xs\:hover\:from-purple-light:hover{
    --tw-gradient-from: rgba(156, 39, 176, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .xs\:hover\:from-purple:hover{
    --tw-gradient-from: rgb(156, 39, 176);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .xs\:hover\:from-deep-purple-light:hover{
    --tw-gradient-from: rgba(103, 58, 183, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .xs\:hover\:from-deep-purple:hover{
    --tw-gradient-from: rgb(103, 58, 183);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .xs\:hover\:from-pink-light:hover{
    --tw-gradient-from: rgba(233, 30, 99, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .xs\:hover\:from-pink:hover{
    --tw-gradient-from: rgb(233, 30, 99);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .xs\:hover\:from-primary-light:hover{
    --tw-gradient-from: rgba(var(--color-primary), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:from-primary:hover{
    --tw-gradient-from: rgb(var(--color-primary));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:from-accent-light:hover{
    --tw-gradient-from: rgba(var(--color-accent), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:from-accent:hover{
    --tw-gradient-from: rgb(var(--color-accent));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:from-warn-light:hover{
    --tw-gradient-from: rgba(var(--color-warn), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:from-warn:hover{
    --tw-gradient-from: rgb(var(--color-warn));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:via-current:hover{
    --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:via-transparent:hover{
    --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .xs\:hover\:via-black:hover{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:via-white:hover{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:via-contrast-black:hover{
    --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .xs\:hover\:via-contrast-white:hover{
    --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:via-gray-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .xs\:hover\:via-gray:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .xs\:hover\:via-red-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .xs\:hover\:via-red:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .xs\:hover\:via-orange-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .xs\:hover\:via-orange:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .xs\:hover\:via-deep-orange-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .xs\:hover\:via-deep-orange:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .xs\:hover\:via-amber-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .xs\:hover\:via-amber:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .xs\:hover\:via-green-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .xs\:hover\:via-green:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .xs\:hover\:via-teal-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .xs\:hover\:via-teal:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .xs\:hover\:via-cyan-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .xs\:hover\:via-cyan:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .xs\:hover\:via-purple-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .xs\:hover\:via-purple:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .xs\:hover\:via-deep-purple-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .xs\:hover\:via-deep-purple:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .xs\:hover\:via-pink-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .xs\:hover\:via-pink:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .xs\:hover\:via-primary-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:via-primary:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:via-accent-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:via-accent:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:via-warn-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:via-warn:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:hover\:to-current:hover{
    --tw-gradient-to: currentColor;
  }

  :root .xs\:hover\:to-transparent:hover{
    --tw-gradient-to: transparent;
  }

  :root .xs\:hover\:to-black:hover{
    --tw-gradient-to: var(--text-color);
  }

  :root .xs\:hover\:to-white:hover{
    --tw-gradient-to: var(--text-color-light);
  }

  :root .xs\:hover\:to-contrast-black:hover{
    --tw-gradient-to: black;
  }

  :root .xs\:hover\:to-contrast-white:hover{
    --tw-gradient-to: white;
  }

  :root .xs\:hover\:to-gray-light:hover{
    --tw-gradient-to: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:hover\:to-gray:hover{
    --tw-gradient-to: rgb(158, 158, 158);
  }

  :root .xs\:hover\:to-red-light:hover{
    --tw-gradient-to: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:hover\:to-red:hover{
    --tw-gradient-to: rgb(244, 67, 54);
  }

  :root .xs\:hover\:to-orange-light:hover{
    --tw-gradient-to: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:hover\:to-orange:hover{
    --tw-gradient-to: rgb(255, 152, 0);
  }

  :root .xs\:hover\:to-deep-orange-light:hover{
    --tw-gradient-to: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:hover\:to-deep-orange:hover{
    --tw-gradient-to: rgb(255, 87, 34);
  }

  :root .xs\:hover\:to-amber-light:hover{
    --tw-gradient-to: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:hover\:to-amber:hover{
    --tw-gradient-to: rgb(255, 193, 7);
  }

  :root .xs\:hover\:to-green-light:hover{
    --tw-gradient-to: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:hover\:to-green:hover{
    --tw-gradient-to: rgb(76, 175, 80);
  }

  :root .xs\:hover\:to-teal-light:hover{
    --tw-gradient-to: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:hover\:to-teal:hover{
    --tw-gradient-to: rgb(0, 150, 136);
  }

  :root .xs\:hover\:to-cyan-light:hover{
    --tw-gradient-to: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:hover\:to-cyan:hover{
    --tw-gradient-to: rgb(0, 188, 212);
  }

  :root .xs\:hover\:to-purple-light:hover{
    --tw-gradient-to: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:hover\:to-purple:hover{
    --tw-gradient-to: rgb(156, 39, 176);
  }

  :root .xs\:hover\:to-deep-purple-light:hover{
    --tw-gradient-to: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:hover\:to-deep-purple:hover{
    --tw-gradient-to: rgb(103, 58, 183);
  }

  :root .xs\:hover\:to-pink-light:hover{
    --tw-gradient-to: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:hover\:to-pink:hover{
    --tw-gradient-to: rgb(233, 30, 99);
  }

  :root .xs\:hover\:to-primary-light:hover{
    --tw-gradient-to: rgba(var(--color-primary), .1);
  }

  :root .xs\:hover\:to-primary:hover{
    --tw-gradient-to: rgb(var(--color-primary));
  }

  :root .xs\:hover\:to-accent-light:hover{
    --tw-gradient-to: rgba(var(--color-accent), .1);
  }

  :root .xs\:hover\:to-accent:hover{
    --tw-gradient-to: rgb(var(--color-accent));
  }

  :root .xs\:hover\:to-warn-light:hover{
    --tw-gradient-to: rgba(var(--color-warn), .1);
  }

  :root .xs\:hover\:to-warn:hover{
    --tw-gradient-to: rgb(var(--color-warn));
  }

  :root .xs\:focus\:from-current:focus{
    --tw-gradient-from: currentColor;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:from-transparent:focus{
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .xs\:focus\:from-black:focus{
    --tw-gradient-from: var(--text-color);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:from-white:focus{
    --tw-gradient-from: var(--text-color-light);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:from-contrast-black:focus{
    --tw-gradient-from: black;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .xs\:focus\:from-contrast-white:focus{
    --tw-gradient-from: white;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:from-gray-light:focus{
    --tw-gradient-from: rgba(158, 158, 158, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .xs\:focus\:from-gray:focus{
    --tw-gradient-from: rgb(158, 158, 158);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .xs\:focus\:from-red-light:focus{
    --tw-gradient-from: rgba(244, 67, 54, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .xs\:focus\:from-red:focus{
    --tw-gradient-from: rgb(244, 67, 54);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .xs\:focus\:from-orange-light:focus{
    --tw-gradient-from: rgba(255, 152, 0, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .xs\:focus\:from-orange:focus{
    --tw-gradient-from: rgb(255, 152, 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .xs\:focus\:from-deep-orange-light:focus{
    --tw-gradient-from: rgba(255, 87, 34, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .xs\:focus\:from-deep-orange:focus{
    --tw-gradient-from: rgb(255, 87, 34);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .xs\:focus\:from-amber-light:focus{
    --tw-gradient-from: rgba(255, 193, 7, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .xs\:focus\:from-amber:focus{
    --tw-gradient-from: rgb(255, 193, 7);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .xs\:focus\:from-green-light:focus{
    --tw-gradient-from: rgba(76, 175, 80, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .xs\:focus\:from-green:focus{
    --tw-gradient-from: rgb(76, 175, 80);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .xs\:focus\:from-teal-light:focus{
    --tw-gradient-from: rgba(0, 150, 136, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .xs\:focus\:from-teal:focus{
    --tw-gradient-from: rgb(0, 150, 136);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .xs\:focus\:from-cyan-light:focus{
    --tw-gradient-from: rgba(0, 188, 212, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .xs\:focus\:from-cyan:focus{
    --tw-gradient-from: rgb(0, 188, 212);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .xs\:focus\:from-purple-light:focus{
    --tw-gradient-from: rgba(156, 39, 176, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .xs\:focus\:from-purple:focus{
    --tw-gradient-from: rgb(156, 39, 176);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .xs\:focus\:from-deep-purple-light:focus{
    --tw-gradient-from: rgba(103, 58, 183, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .xs\:focus\:from-deep-purple:focus{
    --tw-gradient-from: rgb(103, 58, 183);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .xs\:focus\:from-pink-light:focus{
    --tw-gradient-from: rgba(233, 30, 99, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .xs\:focus\:from-pink:focus{
    --tw-gradient-from: rgb(233, 30, 99);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .xs\:focus\:from-primary-light:focus{
    --tw-gradient-from: rgba(var(--color-primary), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:from-primary:focus{
    --tw-gradient-from: rgb(var(--color-primary));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:from-accent-light:focus{
    --tw-gradient-from: rgba(var(--color-accent), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:from-accent:focus{
    --tw-gradient-from: rgb(var(--color-accent));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:from-warn-light:focus{
    --tw-gradient-from: rgba(var(--color-warn), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:from-warn:focus{
    --tw-gradient-from: rgb(var(--color-warn));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:via-current:focus{
    --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:via-transparent:focus{
    --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .xs\:focus\:via-black:focus{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:via-white:focus{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:via-contrast-black:focus{
    --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .xs\:focus\:via-contrast-white:focus{
    --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:via-gray-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .xs\:focus\:via-gray:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .xs\:focus\:via-red-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .xs\:focus\:via-red:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .xs\:focus\:via-orange-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .xs\:focus\:via-orange:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .xs\:focus\:via-deep-orange-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .xs\:focus\:via-deep-orange:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .xs\:focus\:via-amber-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .xs\:focus\:via-amber:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .xs\:focus\:via-green-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .xs\:focus\:via-green:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .xs\:focus\:via-teal-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .xs\:focus\:via-teal:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .xs\:focus\:via-cyan-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .xs\:focus\:via-cyan:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .xs\:focus\:via-purple-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .xs\:focus\:via-purple:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .xs\:focus\:via-deep-purple-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .xs\:focus\:via-deep-purple:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .xs\:focus\:via-pink-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .xs\:focus\:via-pink:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .xs\:focus\:via-primary-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:via-primary:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:via-accent-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:via-accent:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:via-warn-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:via-warn:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .xs\:focus\:to-current:focus{
    --tw-gradient-to: currentColor;
  }

  :root .xs\:focus\:to-transparent:focus{
    --tw-gradient-to: transparent;
  }

  :root .xs\:focus\:to-black:focus{
    --tw-gradient-to: var(--text-color);
  }

  :root .xs\:focus\:to-white:focus{
    --tw-gradient-to: var(--text-color-light);
  }

  :root .xs\:focus\:to-contrast-black:focus{
    --tw-gradient-to: black;
  }

  :root .xs\:focus\:to-contrast-white:focus{
    --tw-gradient-to: white;
  }

  :root .xs\:focus\:to-gray-light:focus{
    --tw-gradient-to: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:focus\:to-gray:focus{
    --tw-gradient-to: rgb(158, 158, 158);
  }

  :root .xs\:focus\:to-red-light:focus{
    --tw-gradient-to: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:focus\:to-red:focus{
    --tw-gradient-to: rgb(244, 67, 54);
  }

  :root .xs\:focus\:to-orange-light:focus{
    --tw-gradient-to: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:focus\:to-orange:focus{
    --tw-gradient-to: rgb(255, 152, 0);
  }

  :root .xs\:focus\:to-deep-orange-light:focus{
    --tw-gradient-to: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:focus\:to-deep-orange:focus{
    --tw-gradient-to: rgb(255, 87, 34);
  }

  :root .xs\:focus\:to-amber-light:focus{
    --tw-gradient-to: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:focus\:to-amber:focus{
    --tw-gradient-to: rgb(255, 193, 7);
  }

  :root .xs\:focus\:to-green-light:focus{
    --tw-gradient-to: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:focus\:to-green:focus{
    --tw-gradient-to: rgb(76, 175, 80);
  }

  :root .xs\:focus\:to-teal-light:focus{
    --tw-gradient-to: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:focus\:to-teal:focus{
    --tw-gradient-to: rgb(0, 150, 136);
  }

  :root .xs\:focus\:to-cyan-light:focus{
    --tw-gradient-to: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:focus\:to-cyan:focus{
    --tw-gradient-to: rgb(0, 188, 212);
  }

  :root .xs\:focus\:to-purple-light:focus{
    --tw-gradient-to: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:focus\:to-purple:focus{
    --tw-gradient-to: rgb(156, 39, 176);
  }

  :root .xs\:focus\:to-deep-purple-light:focus{
    --tw-gradient-to: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:focus\:to-deep-purple:focus{
    --tw-gradient-to: rgb(103, 58, 183);
  }

  :root .xs\:focus\:to-pink-light:focus{
    --tw-gradient-to: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:focus\:to-pink:focus{
    --tw-gradient-to: rgb(233, 30, 99);
  }

  :root .xs\:focus\:to-primary-light:focus{
    --tw-gradient-to: rgba(var(--color-primary), .1);
  }

  :root .xs\:focus\:to-primary:focus{
    --tw-gradient-to: rgb(var(--color-primary));
  }

  :root .xs\:focus\:to-accent-light:focus{
    --tw-gradient-to: rgba(var(--color-accent), .1);
  }

  :root .xs\:focus\:to-accent:focus{
    --tw-gradient-to: rgb(var(--color-accent));
  }

  :root .xs\:focus\:to-warn-light:focus{
    --tw-gradient-to: rgba(var(--color-warn), .1);
  }

  :root .xs\:focus\:to-warn:focus{
    --tw-gradient-to: rgb(var(--color-warn));
  }

  :root .xs\:bg-opacity-0{
    --tw-bg-opacity: 0;
  }

  :root .xs\:bg-opacity-25{
    --tw-bg-opacity: 0.25;
  }

  :root .xs\:bg-opacity-50{
    --tw-bg-opacity: 0.5;
  }

  :root .xs\:bg-opacity-75{
    --tw-bg-opacity: 0.75;
  }

  :root .xs\:bg-opacity-100{
    --tw-bg-opacity: 1;
  }

  :root .group:hover .xs\:group-hover\:bg-opacity-0{
    --tw-bg-opacity: 0;
  }

  :root .group:hover .xs\:group-hover\:bg-opacity-25{
    --tw-bg-opacity: 0.25;
  }

  :root .group:hover .xs\:group-hover\:bg-opacity-50{
    --tw-bg-opacity: 0.5;
  }

  :root .group:hover .xs\:group-hover\:bg-opacity-75{
    --tw-bg-opacity: 0.75;
  }

  :root .group:hover .xs\:group-hover\:bg-opacity-100{
    --tw-bg-opacity: 1;
  }

  :root .xs\:focus-within\:bg-opacity-0:focus-within{
    --tw-bg-opacity: 0;
  }

  :root .xs\:focus-within\:bg-opacity-25:focus-within{
    --tw-bg-opacity: 0.25;
  }

  :root .xs\:focus-within\:bg-opacity-50:focus-within{
    --tw-bg-opacity: 0.5;
  }

  :root .xs\:focus-within\:bg-opacity-75:focus-within{
    --tw-bg-opacity: 0.75;
  }

  :root .xs\:focus-within\:bg-opacity-100:focus-within{
    --tw-bg-opacity: 1;
  }

  :root .xs\:hover\:bg-opacity-0:hover{
    --tw-bg-opacity: 0;
  }

  :root .xs\:hover\:bg-opacity-25:hover{
    --tw-bg-opacity: 0.25;
  }

  :root .xs\:hover\:bg-opacity-50:hover{
    --tw-bg-opacity: 0.5;
  }

  :root .xs\:hover\:bg-opacity-75:hover{
    --tw-bg-opacity: 0.75;
  }

  :root .xs\:hover\:bg-opacity-100:hover{
    --tw-bg-opacity: 1;
  }

  :root .xs\:focus\:bg-opacity-0:focus{
    --tw-bg-opacity: 0;
  }

  :root .xs\:focus\:bg-opacity-25:focus{
    --tw-bg-opacity: 0.25;
  }

  :root .xs\:focus\:bg-opacity-50:focus{
    --tw-bg-opacity: 0.5;
  }

  :root .xs\:focus\:bg-opacity-75:focus{
    --tw-bg-opacity: 0.75;
  }

  :root .xs\:focus\:bg-opacity-100:focus{
    --tw-bg-opacity: 1;
  }

  :root .xs\:bg-bottom{
    background-position: bottom;
  }

  :root .xs\:bg-center{
    background-position: center;
  }

  :root .xs\:bg-left{
    background-position: left;
  }

  :root .xs\:bg-left-bottom{
    background-position: left bottom;
  }

  :root .xs\:bg-left-top{
    background-position: left top;
  }

  :root .xs\:bg-right{
    background-position: right;
  }

  :root .xs\:bg-right-bottom{
    background-position: right bottom;
  }

  :root .xs\:bg-right-top{
    background-position: right top;
  }

  :root .xs\:bg-top{
    background-position: top;
  }

  :root .xs\:bg-repeat{
    background-repeat: repeat;
  }

  :root .xs\:bg-no-repeat{
    background-repeat: no-repeat;
  }

  :root .xs\:bg-repeat-x{
    background-repeat: repeat-x;
  }

  :root .xs\:bg-repeat-y{
    background-repeat: repeat-y;
  }

  :root .xs\:bg-repeat-round{
    background-repeat: round;
  }

  :root .xs\:bg-repeat-space{
    background-repeat: space;
  }

  :root .xs\:bg-auto{
    background-size: auto;
  }

  :root .xs\:bg-cover{
    background-size: cover;
  }

  :root .xs\:bg-contain{
    background-size: contain;
  }

  :root .xs\:border-collapse{
    border-collapse: collapse;
  }

  :root .xs\:border-separate{
    border-collapse: separate;
  }

  :root .xs\:border-current{
    border-color: currentColor;
  }

  :root .xs\:border-transparent{
    border-color: transparent;
  }

  :root .xs\:border-black{
    border-color: var(--text-color);
  }

  :root .xs\:border-white{
    border-color: var(--text-color-light);
  }

  :root .xs\:border-contrast-black{
    --tw-border-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-border-opacity));
  }

  :root .xs\:border-contrast-white{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  }

  :root .xs\:border-gray-light{
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:border-gray{
    --tw-border-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-border-opacity));
  }

  :root .xs\:border-red-light{
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:border-red{
    --tw-border-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-border-opacity));
  }

  :root .xs\:border-orange-light{
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:border-orange{
    --tw-border-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-border-opacity));
  }

  :root .xs\:border-deep-orange-light{
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:border-deep-orange{
    --tw-border-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-border-opacity));
  }

  :root .xs\:border-amber-light{
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:border-amber{
    --tw-border-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-border-opacity));
  }

  :root .xs\:border-green-light{
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:border-green{
    --tw-border-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-border-opacity));
  }

  :root .xs\:border-teal-light{
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:border-teal{
    --tw-border-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-border-opacity));
  }

  :root .xs\:border-cyan-light{
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:border-cyan{
    --tw-border-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-border-opacity));
  }

  :root .xs\:border-purple-light{
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:border-purple{
    --tw-border-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-border-opacity));
  }

  :root .xs\:border-deep-purple-light{
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:border-deep-purple{
    --tw-border-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-border-opacity));
  }

  :root .xs\:border-pink-light{
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:border-pink{
    --tw-border-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-border-opacity));
  }

  :root .xs\:border-primary-light{
    border-color: rgba(var(--color-primary), .1);
  }

  :root .xs\:border-primary{
    border-color: rgb(var(--color-primary));
  }

  :root .xs\:border-accent-light{
    border-color: rgba(var(--color-accent), .1);
  }

  :root .xs\:border-accent{
    border-color: rgb(var(--color-accent));
  }

  :root .xs\:border-warn-light{
    border-color: rgba(var(--color-warn), .1);
  }

  :root .xs\:border-warn{
    border-color: rgb(var(--color-warn));
  }

  :root .xs\:hover\:border-current:hover{
    border-color: currentColor;
  }

  :root .xs\:hover\:border-transparent:hover{
    border-color: transparent;
  }

  :root .xs\:hover\:border-black:hover{
    border-color: var(--text-color);
  }

  :root .xs\:hover\:border-white:hover{
    border-color: var(--text-color-light);
  }

  :root .xs\:hover\:border-contrast-black:hover{
    --tw-border-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-border-opacity));
  }

  :root .xs\:hover\:border-contrast-white:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  }

  :root .xs\:hover\:border-gray-light:hover{
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:hover\:border-gray:hover{
    --tw-border-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-border-opacity));
  }

  :root .xs\:hover\:border-red-light:hover{
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:hover\:border-red:hover{
    --tw-border-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-border-opacity));
  }

  :root .xs\:hover\:border-orange-light:hover{
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:hover\:border-orange:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-border-opacity));
  }

  :root .xs\:hover\:border-deep-orange-light:hover{
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:hover\:border-deep-orange:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-border-opacity));
  }

  :root .xs\:hover\:border-amber-light:hover{
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:hover\:border-amber:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-border-opacity));
  }

  :root .xs\:hover\:border-green-light:hover{
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:hover\:border-green:hover{
    --tw-border-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-border-opacity));
  }

  :root .xs\:hover\:border-teal-light:hover{
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:hover\:border-teal:hover{
    --tw-border-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-border-opacity));
  }

  :root .xs\:hover\:border-cyan-light:hover{
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:hover\:border-cyan:hover{
    --tw-border-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-border-opacity));
  }

  :root .xs\:hover\:border-purple-light:hover{
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:hover\:border-purple:hover{
    --tw-border-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-border-opacity));
  }

  :root .xs\:hover\:border-deep-purple-light:hover{
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:hover\:border-deep-purple:hover{
    --tw-border-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-border-opacity));
  }

  :root .xs\:hover\:border-pink-light:hover{
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:hover\:border-pink:hover{
    --tw-border-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-border-opacity));
  }

  :root .xs\:hover\:border-primary-light:hover{
    border-color: rgba(var(--color-primary), .1);
  }

  :root .xs\:hover\:border-primary:hover{
    border-color: rgb(var(--color-primary));
  }

  :root .xs\:hover\:border-accent-light:hover{
    border-color: rgba(var(--color-accent), .1);
  }

  :root .xs\:hover\:border-accent:hover{
    border-color: rgb(var(--color-accent));
  }

  :root .xs\:hover\:border-warn-light:hover{
    border-color: rgba(var(--color-warn), .1);
  }

  :root .xs\:hover\:border-warn:hover{
    border-color: rgb(var(--color-warn));
  }

  :root .xs\:focus\:border-current:focus{
    border-color: currentColor;
  }

  :root .xs\:focus\:border-transparent:focus{
    border-color: transparent;
  }

  :root .xs\:focus\:border-black:focus{
    border-color: var(--text-color);
  }

  :root .xs\:focus\:border-white:focus{
    border-color: var(--text-color-light);
  }

  :root .xs\:focus\:border-contrast-black:focus{
    --tw-border-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-border-opacity));
  }

  :root .xs\:focus\:border-contrast-white:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  }

  :root .xs\:focus\:border-gray-light:focus{
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:focus\:border-gray:focus{
    --tw-border-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-border-opacity));
  }

  :root .xs\:focus\:border-red-light:focus{
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:focus\:border-red:focus{
    --tw-border-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-border-opacity));
  }

  :root .xs\:focus\:border-orange-light:focus{
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:focus\:border-orange:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-border-opacity));
  }

  :root .xs\:focus\:border-deep-orange-light:focus{
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:focus\:border-deep-orange:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-border-opacity));
  }

  :root .xs\:focus\:border-amber-light:focus{
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:focus\:border-amber:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-border-opacity));
  }

  :root .xs\:focus\:border-green-light:focus{
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:focus\:border-green:focus{
    --tw-border-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-border-opacity));
  }

  :root .xs\:focus\:border-teal-light:focus{
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:focus\:border-teal:focus{
    --tw-border-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-border-opacity));
  }

  :root .xs\:focus\:border-cyan-light:focus{
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:focus\:border-cyan:focus{
    --tw-border-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-border-opacity));
  }

  :root .xs\:focus\:border-purple-light:focus{
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:focus\:border-purple:focus{
    --tw-border-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-border-opacity));
  }

  :root .xs\:focus\:border-deep-purple-light:focus{
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:focus\:border-deep-purple:focus{
    --tw-border-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-border-opacity));
  }

  :root .xs\:focus\:border-pink-light:focus{
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:focus\:border-pink:focus{
    --tw-border-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-border-opacity));
  }

  :root .xs\:focus\:border-primary-light:focus{
    border-color: rgba(var(--color-primary), .1);
  }

  :root .xs\:focus\:border-primary:focus{
    border-color: rgb(var(--color-primary));
  }

  :root .xs\:focus\:border-accent-light:focus{
    border-color: rgba(var(--color-accent), .1);
  }

  :root .xs\:focus\:border-accent:focus{
    border-color: rgb(var(--color-accent));
  }

  :root .xs\:focus\:border-warn-light:focus{
    border-color: rgba(var(--color-warn), .1);
  }

  :root .xs\:focus\:border-warn:focus{
    border-color: rgb(var(--color-warn));
  }

  :root .xs\:border-opacity-0{
    --tw-border-opacity: 0;
  }

  :root .xs\:border-opacity-25{
    --tw-border-opacity: 0.25;
  }

  :root .xs\:border-opacity-50{
    --tw-border-opacity: 0.5;
  }

  :root .xs\:border-opacity-75{
    --tw-border-opacity: 0.75;
  }

  :root .xs\:border-opacity-100{
    --tw-border-opacity: 1;
  }

  :root .group:hover .xs\:group-hover\:border-opacity-0{
    --tw-border-opacity: 0;
  }

  :root .group:hover .xs\:group-hover\:border-opacity-25{
    --tw-border-opacity: 0.25;
  }

  :root .group:hover .xs\:group-hover\:border-opacity-50{
    --tw-border-opacity: 0.5;
  }

  :root .group:hover .xs\:group-hover\:border-opacity-75{
    --tw-border-opacity: 0.75;
  }

  :root .group:hover .xs\:group-hover\:border-opacity-100{
    --tw-border-opacity: 1;
  }

  :root .xs\:focus-within\:border-opacity-0:focus-within{
    --tw-border-opacity: 0;
  }

  :root .xs\:focus-within\:border-opacity-25:focus-within{
    --tw-border-opacity: 0.25;
  }

  :root .xs\:focus-within\:border-opacity-50:focus-within{
    --tw-border-opacity: 0.5;
  }

  :root .xs\:focus-within\:border-opacity-75:focus-within{
    --tw-border-opacity: 0.75;
  }

  :root .xs\:focus-within\:border-opacity-100:focus-within{
    --tw-border-opacity: 1;
  }

  :root .xs\:hover\:border-opacity-0:hover{
    --tw-border-opacity: 0;
  }

  :root .xs\:hover\:border-opacity-25:hover{
    --tw-border-opacity: 0.25;
  }

  :root .xs\:hover\:border-opacity-50:hover{
    --tw-border-opacity: 0.5;
  }

  :root .xs\:hover\:border-opacity-75:hover{
    --tw-border-opacity: 0.75;
  }

  :root .xs\:hover\:border-opacity-100:hover{
    --tw-border-opacity: 1;
  }

  :root .xs\:focus\:border-opacity-0:focus{
    --tw-border-opacity: 0;
  }

  :root .xs\:focus\:border-opacity-25:focus{
    --tw-border-opacity: 0.25;
  }

  :root .xs\:focus\:border-opacity-50:focus{
    --tw-border-opacity: 0.5;
  }

  :root .xs\:focus\:border-opacity-75:focus{
    --tw-border-opacity: 0.75;
  }

  :root .xs\:focus\:border-opacity-100:focus{
    --tw-border-opacity: 1;
  }

  :root .xs\:rounded-none{
    border-radius: 0;
  }

  :root .xs\:rounded-sm{
    border-radius: 0.125rem;
  }

  :root .xs\:rounded{
    border-radius: 0.25rem;
  }

  :root .xs\:rounded-lg{
    border-radius: 0.5rem;
  }

  :root .xs\:rounded-full{
    border-radius: 9999px;
  }

  :root .xs\:rounded-t-none{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  :root .xs\:rounded-r-none{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  :root .xs\:rounded-b-none{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root .xs\:rounded-l-none{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root .xs\:rounded-t-sm{
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
  }

  :root .xs\:rounded-r-sm{
    border-top-right-radius: 0.125rem;
    border-bottom-right-radius: 0.125rem;
  }

  :root .xs\:rounded-b-sm{
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root .xs\:rounded-l-sm{
    border-top-left-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root .xs\:rounded-t{
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }

  :root .xs\:rounded-r{
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }

  :root .xs\:rounded-b{
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root .xs\:rounded-l{
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root .xs\:rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }

  :root .xs\:rounded-r-lg{
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
  }

  :root .xs\:rounded-b-lg{
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root .xs\:rounded-l-lg{
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root .xs\:rounded-t-full{
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
  }

  :root .xs\:rounded-r-full{
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }

  :root .xs\:rounded-b-full{
    border-bottom-right-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root .xs\:rounded-l-full{
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root .xs\:rounded-tl-none{
    border-top-left-radius: 0;
  }

  :root .xs\:rounded-tr-none{
    border-top-right-radius: 0;
  }

  :root .xs\:rounded-br-none{
    border-bottom-right-radius: 0;
  }

  :root .xs\:rounded-bl-none{
    border-bottom-left-radius: 0;
  }

  :root .xs\:rounded-tl-sm{
    border-top-left-radius: 0.125rem;
  }

  :root .xs\:rounded-tr-sm{
    border-top-right-radius: 0.125rem;
  }

  :root .xs\:rounded-br-sm{
    border-bottom-right-radius: 0.125rem;
  }

  :root .xs\:rounded-bl-sm{
    border-bottom-left-radius: 0.125rem;
  }

  :root .xs\:rounded-tl{
    border-top-left-radius: 0.25rem;
  }

  :root .xs\:rounded-tr{
    border-top-right-radius: 0.25rem;
  }

  :root .xs\:rounded-br{
    border-bottom-right-radius: 0.25rem;
  }

  :root .xs\:rounded-bl{
    border-bottom-left-radius: 0.25rem;
  }

  :root .xs\:rounded-tl-lg{
    border-top-left-radius: 0.5rem;
  }

  :root .xs\:rounded-tr-lg{
    border-top-right-radius: 0.5rem;
  }

  :root .xs\:rounded-br-lg{
    border-bottom-right-radius: 0.5rem;
  }

  :root .xs\:rounded-bl-lg{
    border-bottom-left-radius: 0.5rem;
  }

  :root .xs\:rounded-tl-full{
    border-top-left-radius: 9999px;
  }

  :root .xs\:rounded-tr-full{
    border-top-right-radius: 9999px;
  }

  :root .xs\:rounded-br-full{
    border-bottom-right-radius: 9999px;
  }

  :root .xs\:rounded-bl-full{
    border-bottom-left-radius: 9999px;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-none{
    border-radius: 0;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-sm{
    border-radius: 0.125rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded{
    border-radius: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-lg{
    border-radius: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-full{
    border-radius: 9999px;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-t-none{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-r-none{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-b-none{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-l-none{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-t-sm{
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-r-sm{
    border-top-right-radius: 0.125rem;
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-b-sm{
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-l-sm{
    border-top-left-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-t{
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-r{
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-b{
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-l{
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-r-lg{
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-b-lg{
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-l-lg{
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-t-full{
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-r-full{
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-b-full{
    border-bottom-right-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-l-full{
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-tl-none{
    border-top-left-radius: 0;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-tr-none{
    border-top-right-radius: 0;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-br-none{
    border-bottom-right-radius: 0;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-bl-none{
    border-bottom-left-radius: 0;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-tl-sm{
    border-top-left-radius: 0.125rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-tr-sm{
    border-top-right-radius: 0.125rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-br-sm{
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-bl-sm{
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-tl{
    border-top-left-radius: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-tr{
    border-top-right-radius: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-br{
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-bl{
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-tl-lg{
    border-top-left-radius: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-tr-lg{
    border-top-right-radius: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-br-lg{
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-bl-lg{
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-tl-full{
    border-top-left-radius: 9999px;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-tr-full{
    border-top-right-radius: 9999px;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-br-full{
    border-bottom-right-radius: 9999px;
  }

  :root [dir=ltr] .xs\:ltr\:rounded-bl-full{
    border-bottom-left-radius: 9999px;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-none{
    border-radius: 0;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-sm{
    border-radius: 0.125rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded{
    border-radius: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-lg{
    border-radius: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-full{
    border-radius: 9999px;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-t-none{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-r-none{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-b-none{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-l-none{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-t-sm{
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-r-sm{
    border-top-right-radius: 0.125rem;
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-b-sm{
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-l-sm{
    border-top-left-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-t{
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-r{
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-b{
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-l{
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-r-lg{
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-b-lg{
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-l-lg{
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-t-full{
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-r-full{
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-b-full{
    border-bottom-right-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-l-full{
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-tl-none{
    border-top-left-radius: 0;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-tr-none{
    border-top-right-radius: 0;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-br-none{
    border-bottom-right-radius: 0;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-bl-none{
    border-bottom-left-radius: 0;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-tl-sm{
    border-top-left-radius: 0.125rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-tr-sm{
    border-top-right-radius: 0.125rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-br-sm{
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-bl-sm{
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-tl{
    border-top-left-radius: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-tr{
    border-top-right-radius: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-br{
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-bl{
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-tl-lg{
    border-top-left-radius: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-tr-lg{
    border-top-right-radius: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-br-lg{
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-bl-lg{
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-tl-full{
    border-top-left-radius: 9999px;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-tr-full{
    border-top-right-radius: 9999px;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-br-full{
    border-bottom-right-radius: 9999px;
  }

  :root [dir=rtl] .xs\:rtl\:rounded-bl-full{
    border-bottom-left-radius: 9999px;
  }

  :root .xs\:border-solid{
    border-style: solid;
  }

  :root .xs\:border-dashed{
    border-style: dashed;
  }

  :root .xs\:border-dotted{
    border-style: dotted;
  }

  :root .xs\:border-double{
    border-style: double;
  }

  :root .xs\:border-none{
    border-style: none;
  }

  :root .xs\:border-0{
    border-width: 0;
  }

  :root .xs\:border-2{
    border-width: 2px;
  }

  :root .xs\:border-3{
    border-width: 3px;
  }

  :root .xs\:border-4{
    border-width: 4px;
  }

  :root .xs\:border-8{
    border-width: 8px;
  }

  :root .xs\:border{
    border-width: 1px;
  }

  :root .xs\:border-t-0{
    border-top-width: 0;
  }

  :root .xs\:border-r-0{
    border-right-width: 0;
  }

  :root .xs\:border-b-0{
    border-bottom-width: 0;
  }

  :root .xs\:border-l-0{
    border-left-width: 0;
  }

  :root .xs\:border-t-2{
    border-top-width: 2px;
  }

  :root .xs\:border-r-2{
    border-right-width: 2px;
  }

  :root .xs\:border-b-2{
    border-bottom-width: 2px;
  }

  :root .xs\:border-l-2{
    border-left-width: 2px;
  }

  :root .xs\:border-t-3{
    border-top-width: 3px;
  }

  :root .xs\:border-r-3{
    border-right-width: 3px;
  }

  :root .xs\:border-b-3{
    border-bottom-width: 3px;
  }

  :root .xs\:border-l-3{
    border-left-width: 3px;
  }

  :root .xs\:border-t-4{
    border-top-width: 4px;
  }

  :root .xs\:border-r-4{
    border-right-width: 4px;
  }

  :root .xs\:border-b-4{
    border-bottom-width: 4px;
  }

  :root .xs\:border-l-4{
    border-left-width: 4px;
  }

  :root .xs\:border-t-8{
    border-top-width: 8px;
  }

  :root .xs\:border-r-8{
    border-right-width: 8px;
  }

  :root .xs\:border-b-8{
    border-bottom-width: 8px;
  }

  :root .xs\:border-l-8{
    border-left-width: 8px;
  }

  :root .xs\:border-t{
    border-top-width: 1px;
  }

  :root .xs\:border-r{
    border-right-width: 1px;
  }

  :root .xs\:border-b{
    border-bottom-width: 1px;
  }

  :root .xs\:border-l{
    border-left-width: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:border-0{
    border-width: 0;
  }

  :root [dir=ltr] .xs\:ltr\:border-2{
    border-width: 2px;
  }

  :root [dir=ltr] .xs\:ltr\:border-3{
    border-width: 3px;
  }

  :root [dir=ltr] .xs\:ltr\:border-4{
    border-width: 4px;
  }

  :root [dir=ltr] .xs\:ltr\:border-8{
    border-width: 8px;
  }

  :root [dir=ltr] .xs\:ltr\:border{
    border-width: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:border-t-0{
    border-top-width: 0;
  }

  :root [dir=ltr] .xs\:ltr\:border-r-0{
    border-right-width: 0;
  }

  :root [dir=ltr] .xs\:ltr\:border-b-0{
    border-bottom-width: 0;
  }

  :root [dir=ltr] .xs\:ltr\:border-l-0{
    border-left-width: 0;
  }

  :root [dir=ltr] .xs\:ltr\:border-t-2{
    border-top-width: 2px;
  }

  :root [dir=ltr] .xs\:ltr\:border-r-2{
    border-right-width: 2px;
  }

  :root [dir=ltr] .xs\:ltr\:border-b-2{
    border-bottom-width: 2px;
  }

  :root [dir=ltr] .xs\:ltr\:border-l-2{
    border-left-width: 2px;
  }

  :root [dir=ltr] .xs\:ltr\:border-t-3{
    border-top-width: 3px;
  }

  :root [dir=ltr] .xs\:ltr\:border-r-3{
    border-right-width: 3px;
  }

  :root [dir=ltr] .xs\:ltr\:border-b-3{
    border-bottom-width: 3px;
  }

  :root [dir=ltr] .xs\:ltr\:border-l-3{
    border-left-width: 3px;
  }

  :root [dir=ltr] .xs\:ltr\:border-t-4{
    border-top-width: 4px;
  }

  :root [dir=ltr] .xs\:ltr\:border-r-4{
    border-right-width: 4px;
  }

  :root [dir=ltr] .xs\:ltr\:border-b-4{
    border-bottom-width: 4px;
  }

  :root [dir=ltr] .xs\:ltr\:border-l-4{
    border-left-width: 4px;
  }

  :root [dir=ltr] .xs\:ltr\:border-t-8{
    border-top-width: 8px;
  }

  :root [dir=ltr] .xs\:ltr\:border-r-8{
    border-right-width: 8px;
  }

  :root [dir=ltr] .xs\:ltr\:border-b-8{
    border-bottom-width: 8px;
  }

  :root [dir=ltr] .xs\:ltr\:border-l-8{
    border-left-width: 8px;
  }

  :root [dir=ltr] .xs\:ltr\:border-t{
    border-top-width: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:border-r{
    border-right-width: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:border-b{
    border-bottom-width: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:border-l{
    border-left-width: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:border-0{
    border-width: 0;
  }

  :root [dir=rtl] .xs\:rtl\:border-2{
    border-width: 2px;
  }

  :root [dir=rtl] .xs\:rtl\:border-3{
    border-width: 3px;
  }

  :root [dir=rtl] .xs\:rtl\:border-4{
    border-width: 4px;
  }

  :root [dir=rtl] .xs\:rtl\:border-8{
    border-width: 8px;
  }

  :root [dir=rtl] .xs\:rtl\:border{
    border-width: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:border-t-0{
    border-top-width: 0;
  }

  :root [dir=rtl] .xs\:rtl\:border-r-0{
    border-right-width: 0;
  }

  :root [dir=rtl] .xs\:rtl\:border-b-0{
    border-bottom-width: 0;
  }

  :root [dir=rtl] .xs\:rtl\:border-l-0{
    border-left-width: 0;
  }

  :root [dir=rtl] .xs\:rtl\:border-t-2{
    border-top-width: 2px;
  }

  :root [dir=rtl] .xs\:rtl\:border-r-2{
    border-right-width: 2px;
  }

  :root [dir=rtl] .xs\:rtl\:border-b-2{
    border-bottom-width: 2px;
  }

  :root [dir=rtl] .xs\:rtl\:border-l-2{
    border-left-width: 2px;
  }

  :root [dir=rtl] .xs\:rtl\:border-t-3{
    border-top-width: 3px;
  }

  :root [dir=rtl] .xs\:rtl\:border-r-3{
    border-right-width: 3px;
  }

  :root [dir=rtl] .xs\:rtl\:border-b-3{
    border-bottom-width: 3px;
  }

  :root [dir=rtl] .xs\:rtl\:border-l-3{
    border-left-width: 3px;
  }

  :root [dir=rtl] .xs\:rtl\:border-t-4{
    border-top-width: 4px;
  }

  :root [dir=rtl] .xs\:rtl\:border-r-4{
    border-right-width: 4px;
  }

  :root [dir=rtl] .xs\:rtl\:border-b-4{
    border-bottom-width: 4px;
  }

  :root [dir=rtl] .xs\:rtl\:border-l-4{
    border-left-width: 4px;
  }

  :root [dir=rtl] .xs\:rtl\:border-t-8{
    border-top-width: 8px;
  }

  :root [dir=rtl] .xs\:rtl\:border-r-8{
    border-right-width: 8px;
  }

  :root [dir=rtl] .xs\:rtl\:border-b-8{
    border-bottom-width: 8px;
  }

  :root [dir=rtl] .xs\:rtl\:border-l-8{
    border-left-width: 8px;
  }

  :root [dir=rtl] .xs\:rtl\:border-t{
    border-top-width: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:border-r{
    border-right-width: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:border-b{
    border-bottom-width: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:border-l{
    border-left-width: 1px;
  }

  :root .xs\:box-border{
    box-sizing: border-box;
  }

  :root .xs\:box-content{
    box-sizing: content-box;
  }

  :root .xs\:cursor-auto{
    cursor: auto;
  }

  :root .xs\:cursor{
    cursor: default;
  }

  :root .xs\:cursor-pointer{
    cursor: pointer;
  }

  :root .xs\:cursor-wait{
    cursor: wait;
  }

  :root .xs\:cursor-text{
    cursor: text;
  }

  :root .xs\:cursor-move{
    cursor: move;
  }

  :root .xs\:cursor-not-allowed{
    cursor: not-allowed;
  }

  :root .xs\:block{
    display: block;
  }

  :root .xs\:inline-block{
    display: inline-block;
  }

  :root .xs\:inline{
    display: inline;
  }

  :root .xs\:flex{
    display: flex;
  }

  :root .xs\:inline-flex{
    display: inline-flex;
  }

  :root .xs\:table{
    display: table;
  }

  :root .xs\:table-caption{
    display: table-caption;
  }

  :root .xs\:table-cell{
    display: table-cell;
  }

  :root .xs\:table-column{
    display: table-column;
  }

  :root .xs\:table-column-group{
    display: table-column-group;
  }

  :root .xs\:table-footer-group{
    display: table-footer-group;
  }

  :root .xs\:table-header-group{
    display: table-header-group;
  }

  :root .xs\:table-row-group{
    display: table-row-group;
  }

  :root .xs\:table-row{
    display: table-row;
  }

  :root .xs\:flow-root{
    display: flow-root;
  }

  :root .xs\:grid{
    display: grid;
  }

  :root .xs\:inline-grid{
    display: inline-grid;
  }

  :root .xs\:contents{
    display: contents;
  }

  :root .xs\:hidden{
    display: none;
  }

  :root .xs\:flex-row{
    flex-direction: row;
  }

  :root .xs\:flex-row-reverse{
    flex-direction: row-reverse;
  }

  :root .xs\:flex-col{
    flex-direction: column;
  }

  :root .xs\:flex-col-reverse{
    flex-direction: column-reverse;
  }

  :root .xs\:flex-wrap{
    flex-wrap: wrap;
  }

  :root .xs\:flex-wrap-reverse{
    flex-wrap: wrap-reverse;
  }

  :root .xs\:flex-nowrap{
    flex-wrap: nowrap;
  }

  :root .xs\:place-items-auto{
    place-items: auto;
  }

  :root .xs\:place-items-start{
    place-items: start;
  }

  :root .xs\:place-items-end{
    place-items: end;
  }

  :root .xs\:place-items-center{
    place-items: center;
  }

  :root .xs\:place-items-stretch{
    place-items: stretch;
  }

  :root .xs\:place-content-center{
    place-content: center;
  }

  :root .xs\:place-content-start{
    place-content: start;
  }

  :root .xs\:place-content-end{
    place-content: end;
  }

  :root .xs\:place-content-between{
    place-content: space-between;
  }

  :root .xs\:place-content-around{
    place-content: space-around;
  }

  :root .xs\:place-content-evenly{
    place-content: space-evenly;
  }

  :root .xs\:place-content-stretch{
    place-content: stretch;
  }

  :root .xs\:place-self-auto{
    place-self: auto;
  }

  :root .xs\:place-self-start{
    place-self: start;
  }

  :root .xs\:place-self-end{
    place-self: end;
  }

  :root .xs\:place-self-center{
    place-self: center;
  }

  :root .xs\:place-self-stretch{
    place-self: stretch;
  }

  :root .xs\:items-start{
    align-items: flex-start;
  }

  :root .xs\:items-end{
    align-items: flex-end;
  }

  :root .xs\:items-center{
    align-items: center;
  }

  :root .xs\:items-baseline{
    align-items: baseline;
  }

  :root .xs\:items-stretch{
    align-items: stretch;
  }

  :root .xs\:content-center{
    align-content: center;
  }

  :root .xs\:content-start{
    align-content: flex-start;
  }

  :root .xs\:content-end{
    align-content: flex-end;
  }

  :root .xs\:content-between{
    align-content: space-between;
  }

  :root .xs\:content-around{
    align-content: space-around;
  }

  :root .xs\:content-evenly{
    align-content: space-evenly;
  }

  :root .xs\:self-auto{
    align-self: auto;
  }

  :root .xs\:self-start{
    align-self: flex-start;
  }

  :root .xs\:self-end{
    align-self: flex-end;
  }

  :root .xs\:self-center{
    align-self: center;
  }

  :root .xs\:self-stretch{
    align-self: stretch;
  }

  :root .xs\:justify-items-auto{
    justify-items: auto;
  }

  :root .xs\:justify-items-start{
    justify-items: start;
  }

  :root .xs\:justify-items-end{
    justify-items: end;
  }

  :root .xs\:justify-items-center{
    justify-items: center;
  }

  :root .xs\:justify-items-stretch{
    justify-items: stretch;
  }

  :root .xs\:justify-start{
    justify-content: flex-start;
  }

  :root .xs\:justify-end{
    justify-content: flex-end;
  }

  :root .xs\:justify-center{
    justify-content: center;
  }

  :root .xs\:justify-between{
    justify-content: space-between;
  }

  :root .xs\:justify-around{
    justify-content: space-around;
  }

  :root .xs\:justify-evenly{
    justify-content: space-evenly;
  }

  :root .xs\:justify-self-auto{
    justify-self: auto;
  }

  :root .xs\:justify-self-start{
    justify-self: start;
  }

  :root .xs\:justify-self-end{
    justify-self: end;
  }

  :root .xs\:justify-self-center{
    justify-self: center;
  }

  :root .xs\:justify-self-stretch{
    justify-self: stretch;
  }

  :root .xs\:flex-1{
    flex: 1 1 0%;
  }

  :root .xs\:flex-auto{
    flex: 1 1 auto;
  }

  :root .xs\:flex-initial{
    flex: 0 1 auto;
  }

  :root .xs\:flex-none{
    flex: none;
  }

  :root .xs\:flex-grow-0{
    flex-grow: 0;
  }

  :root .xs\:flex-grow{
    flex-grow: 1;
  }

  :root .xs\:flex-shrink-0{
    flex-shrink: 0;
  }

  :root .xs\:flex-shrink{
    flex-shrink: 1;
  }

  :root .xs\:order-1{
    order: 1;
  }

  :root .xs\:order-2{
    order: 2;
  }

  :root .xs\:order-3{
    order: 3;
  }

  :root .xs\:order-4{
    order: 4;
  }

  :root .xs\:order-5{
    order: 5;
  }

  :root .xs\:order-6{
    order: 6;
  }

  :root .xs\:order-7{
    order: 7;
  }

  :root .xs\:order-8{
    order: 8;
  }

  :root .xs\:order-9{
    order: 9;
  }

  :root .xs\:order-10{
    order: 10;
  }

  :root .xs\:order-11{
    order: 11;
  }

  :root .xs\:order-12{
    order: 12;
  }

  :root .xs\:order-first{
    order: -9999;
  }

  :root .xs\:order-last{
    order: 9999;
  }

  :root .xs\:order-none{
    order: 0;
  }

  :root .xs\:float-right{
    float: right;
  }

  :root .xs\:float-left{
    float: left;
  }

  :root .xs\:float-none{
    float: none;
  }

  :root .xs\:clear-left{
    clear: left;
  }

  :root .xs\:clear-right{
    clear: right;
  }

  :root .xs\:clear-both{
    clear: both;
  }

  :root .xs\:clear-none{
    clear: none;
  }

  :root .xs\:font-sans{
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple ColorDef Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto ColorDef Emoji";
  }

  :root .xs\:font-serif{
    font-family: Georgia, Cambria, "Times New Roman", Times, serif;
  }

  :root .xs\:font-mono{
    font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  }

  :root .xs\:font-hairline{
    font-weight: 100;
  }

  :root .xs\:font-thin{
    font-weight: 200;
  }

  :root .xs\:font-light{
    font-weight: 300;
  }

  :root .xs\:font-normal{
    font-weight: 400;
  }

  :root .xs\:font-medium{
    font-weight: 500;
  }

  :root .xs\:font-semibold{
    font-weight: 600;
  }

  :root .xs\:font-bold{
    font-weight: 700;
  }

  :root .xs\:font-extrabold{
    font-weight: 800;
  }

  :root .xs\:font-black{
    font-weight: 900;
  }

  :root .xs\:hover\:font-hairline:hover{
    font-weight: 100;
  }

  :root .xs\:hover\:font-thin:hover{
    font-weight: 200;
  }

  :root .xs\:hover\:font-light:hover{
    font-weight: 300;
  }

  :root .xs\:hover\:font-normal:hover{
    font-weight: 400;
  }

  :root .xs\:hover\:font-medium:hover{
    font-weight: 500;
  }

  :root .xs\:hover\:font-semibold:hover{
    font-weight: 600;
  }

  :root .xs\:hover\:font-bold:hover{
    font-weight: 700;
  }

  :root .xs\:hover\:font-extrabold:hover{
    font-weight: 800;
  }

  :root .xs\:hover\:font-black:hover{
    font-weight: 900;
  }

  :root .xs\:focus\:font-hairline:focus{
    font-weight: 100;
  }

  :root .xs\:focus\:font-thin:focus{
    font-weight: 200;
  }

  :root .xs\:focus\:font-light:focus{
    font-weight: 300;
  }

  :root .xs\:focus\:font-normal:focus{
    font-weight: 400;
  }

  :root .xs\:focus\:font-medium:focus{
    font-weight: 500;
  }

  :root .xs\:focus\:font-semibold:focus{
    font-weight: 600;
  }

  :root .xs\:focus\:font-bold:focus{
    font-weight: 700;
  }

  :root .xs\:focus\:font-extrabold:focus{
    font-weight: 800;
  }

  :root .xs\:focus\:font-black:focus{
    font-weight: 900;
  }

  :root .xs\:h-0{
    height: 0;
  }

  :root .xs\:h-1{
    height: 0.25rem;
  }

  :root .xs\:h-2{
    height: 0.5rem;
  }

  :root .xs\:h-3{
    height: 0.75rem;
  }

  :root .xs\:h-4{
    height: 1rem;
  }

  :root .xs\:h-5{
    height: 1.25rem;
  }

  :root .xs\:h-6{
    height: 1.5rem;
  }

  :root .xs\:h-8{
    height: 2rem;
  }

  :root .xs\:h-9{
    height: 2.25rem;
  }

  :root .xs\:h-10{
    height: 2.5rem;
  }

  :root .xs\:h-12{
    height: 3rem;
  }

  :root .xs\:h-14{
    height: 3.5rem;
  }

  :root .xs\:h-16{
    height: 4rem;
  }

  :root .xs\:h-20{
    height: 5rem;
  }

  :root .xs\:h-24{
    height: 6rem;
  }

  :root .xs\:h-32{
    height: 8rem;
  }

  :root .xs\:h-40{
    height: 10rem;
  }

  :root .xs\:h-48{
    height: 12rem;
  }

  :root .xs\:h-56{
    height: 14rem;
  }

  :root .xs\:h-64{
    height: 16rem;
  }

  :root .xs\:h-auto{
    height: auto;
  }

  :root .xs\:h-px{
    height: 1px;
  }

  :root .xs\:h-gutter{
    height: var(--padding-gutter);
  }

  :root .xs\:h-full{
    height: 100%;
  }

  :root .xs\:h-screen{
    height: 100vh;
  }

  :root .xs\:text-xxs{
    font-size: 0.625rem;
  }

  :root .xs\:text-xs{
    font-size: 0.75rem;
  }

  :root .xs\:text-sm{
    font-size: 0.875rem;
  }

  :root .xs\:text-base{
    font-size: 1rem;
  }

  :root .xs\:text-lg{
    font-size: 1.125rem;
  }

  :root .xs\:text-xl{
    font-size: 1.25rem;
  }

  :root .xs\:text-2xl{
    font-size: 1.5rem;
  }

  :root .xs\:text-3xl{
    font-size: 1.875rem;
  }

  :root .xs\:text-4xl{
    font-size: 2.25rem;
  }

  :root .xs\:text-5xl{
    font-size: 3rem;
  }

  :root .xs\:text-6xl{
    font-size: 4rem;
  }

  :root .xs\:leading-none{
    line-height: 1;
  }

  :root .xs\:leading-tight{
    line-height: 1.25;
  }

  :root .xs\:leading-snug{
    line-height: 1.375;
  }

  :root .xs\:leading-normal{
    line-height: 1.5;
  }

  :root .xs\:leading-relaxed{
    line-height: 1.625;
  }

  :root .xs\:leading-loose{
    line-height: 2;
  }

  :root .xs\:list-inside{
    list-style-position: inside;
  }

  :root .xs\:list-outside{
    list-style-position: outside;
  }

  :root .xs\:list-none{
    list-style-type: none;
  }

  :root .xs\:list-disc{
    list-style-type: disc;
  }

  :root .xs\:list-decimal{
    list-style-type: decimal;
  }

  :root .xs\:m-0{
    margin: 0;
  }

  :root .xs\:m-1{
    margin: 0.25rem;
  }

  :root .xs\:m-2{
    margin: 0.5rem;
  }

  :root .xs\:m-3{
    margin: 0.75rem;
  }

  :root .xs\:m-4{
    margin: 1rem;
  }

  :root .xs\:m-5{
    margin: 1.25rem;
  }

  :root .xs\:m-6{
    margin: 1.5rem;
  }

  :root .xs\:m-8{
    margin: 2rem;
  }

  :root .xs\:m-9{
    margin: 2.25rem;
  }

  :root .xs\:m-10{
    margin: 2.5rem;
  }

  :root .xs\:m-12{
    margin: 3rem;
  }

  :root .xs\:m-14{
    margin: 3.5rem;
  }

  :root .xs\:m-16{
    margin: 4rem;
  }

  :root .xs\:m-20{
    margin: 5rem;
  }

  :root .xs\:m-24{
    margin: 6rem;
  }

  :root .xs\:m-32{
    margin: 8rem;
  }

  :root .xs\:m-40{
    margin: 10rem;
  }

  :root .xs\:m-48{
    margin: 12rem;
  }

  :root .xs\:m-56{
    margin: 14rem;
  }

  :root .xs\:m-64{
    margin: 16rem;
  }

  :root .xs\:m-auto{
    margin: auto;
  }

  :root .xs\:m-px{
    margin: 1px;
  }

  :root .xs\:m-gutter{
    margin: var(--padding-gutter);
  }

  :root .xs\:-m-1{
    margin: -0.25rem;
  }

  :root .xs\:-m-2{
    margin: -0.5rem;
  }

  :root .xs\:-m-3{
    margin: -0.75rem;
  }

  :root .xs\:-m-4{
    margin: -1rem;
  }

  :root .xs\:-m-5{
    margin: -1.25rem;
  }

  :root .xs\:-m-6{
    margin: -1.5rem;
  }

  :root .xs\:-m-8{
    margin: -2rem;
  }

  :root .xs\:-m-9{
    margin: -2.25rem;
  }

  :root .xs\:-m-10{
    margin: -2.5rem;
  }

  :root .xs\:-m-12{
    margin: -3rem;
  }

  :root .xs\:-m-14{
    margin: -3.5rem;
  }

  :root .xs\:-m-16{
    margin: -4rem;
  }

  :root .xs\:-m-20{
    margin: -5rem;
  }

  :root .xs\:-m-24{
    margin: -6rem;
  }

  :root .xs\:-m-32{
    margin: -8rem;
  }

  :root .xs\:-m-40{
    margin: -10rem;
  }

  :root .xs\:-m-48{
    margin: -12rem;
  }

  :root .xs\:-m-56{
    margin: -14rem;
  }

  :root .xs\:-m-64{
    margin: -16rem;
  }

  :root .xs\:-m-px{
    margin: -1px;
  }

  :root .xs\:-m-gutter{
    margin: calc(var(--padding-gutter) * -1);
  }

  :root .xs\:my-0{
    margin-top: 0;
    margin-bottom: 0;
  }

  :root .xs\:mx-0{
    margin-left: 0;
    margin-right: 0;
  }

  :root .xs\:my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  :root .xs\:mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }

  :root .xs\:my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  :root .xs\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  :root .xs\:my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  :root .xs\:mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  :root .xs\:my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  :root .xs\:mx-4{
    margin-left: 1rem;
    margin-right: 1rem;
  }

  :root .xs\:my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }

  :root .xs\:mx-5{
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  :root .xs\:my-6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  :root .xs\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  :root .xs\:my-8{
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  :root .xs\:mx-8{
    margin-left: 2rem;
    margin-right: 2rem;
  }

  :root .xs\:my-9{
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
  }

  :root .xs\:mx-9{
    margin-left: 2.25rem;
    margin-right: 2.25rem;
  }

  :root .xs\:my-10{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }

  :root .xs\:mx-10{
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }

  :root .xs\:my-12{
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  :root .xs\:mx-12{
    margin-left: 3rem;
    margin-right: 3rem;
  }

  :root .xs\:my-14{
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  :root .xs\:mx-14{
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }

  :root .xs\:my-16{
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  :root .xs\:mx-16{
    margin-left: 4rem;
    margin-right: 4rem;
  }

  :root .xs\:my-20{
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  :root .xs\:mx-20{
    margin-left: 5rem;
    margin-right: 5rem;
  }

  :root .xs\:my-24{
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  :root .xs\:mx-24{
    margin-left: 6rem;
    margin-right: 6rem;
  }

  :root .xs\:my-32{
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  :root .xs\:mx-32{
    margin-left: 8rem;
    margin-right: 8rem;
  }

  :root .xs\:my-40{
    margin-top: 10rem;
    margin-bottom: 10rem;
  }

  :root .xs\:mx-40{
    margin-left: 10rem;
    margin-right: 10rem;
  }

  :root .xs\:my-48{
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  :root .xs\:mx-48{
    margin-left: 12rem;
    margin-right: 12rem;
  }

  :root .xs\:my-56{
    margin-top: 14rem;
    margin-bottom: 14rem;
  }

  :root .xs\:mx-56{
    margin-left: 14rem;
    margin-right: 14rem;
  }

  :root .xs\:my-64{
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  :root .xs\:mx-64{
    margin-left: 16rem;
    margin-right: 16rem;
  }

  :root .xs\:my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }

  :root .xs\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

  :root .xs\:my-px{
    margin-top: 1px;
    margin-bottom: 1px;
  }

  :root .xs\:mx-px{
    margin-left: 1px;
    margin-right: 1px;
  }

  :root .xs\:my-gutter{
    margin-top: var(--padding-gutter);
    margin-bottom: var(--padding-gutter);
  }

  :root .xs\:mx-gutter{
    margin-left: var(--padding-gutter);
    margin-right: var(--padding-gutter);
  }

  :root .xs\:-my-1{
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }

  :root .xs\:-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  :root .xs\:-my-2{
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }

  :root .xs\:-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  :root .xs\:-my-3{
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }

  :root .xs\:-mx-3{
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

  :root .xs\:-my-4{
    margin-top: -1rem;
    margin-bottom: -1rem;
  }

  :root .xs\:-mx-4{
    margin-left: -1rem;
    margin-right: -1rem;
  }

  :root .xs\:-my-5{
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }

  :root .xs\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  :root .xs\:-my-6{
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }

  :root .xs\:-mx-6{
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

  :root .xs\:-my-8{
    margin-top: -2rem;
    margin-bottom: -2rem;
  }

  :root .xs\:-mx-8{
    margin-left: -2rem;
    margin-right: -2rem;
  }

  :root .xs\:-my-9{
    margin-top: -2.25rem;
    margin-bottom: -2.25rem;
  }

  :root .xs\:-mx-9{
    margin-left: -2.25rem;
    margin-right: -2.25rem;
  }

  :root .xs\:-my-10{
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
  }

  :root .xs\:-mx-10{
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

  :root .xs\:-my-12{
    margin-top: -3rem;
    margin-bottom: -3rem;
  }

  :root .xs\:-mx-12{
    margin-left: -3rem;
    margin-right: -3rem;
  }

  :root .xs\:-my-14{
    margin-top: -3.5rem;
    margin-bottom: -3.5rem;
  }

  :root .xs\:-mx-14{
    margin-left: -3.5rem;
    margin-right: -3.5rem;
  }

  :root .xs\:-my-16{
    margin-top: -4rem;
    margin-bottom: -4rem;
  }

  :root .xs\:-mx-16{
    margin-left: -4rem;
    margin-right: -4rem;
  }

  :root .xs\:-my-20{
    margin-top: -5rem;
    margin-bottom: -5rem;
  }

  :root .xs\:-mx-20{
    margin-left: -5rem;
    margin-right: -5rem;
  }

  :root .xs\:-my-24{
    margin-top: -6rem;
    margin-bottom: -6rem;
  }

  :root .xs\:-mx-24{
    margin-left: -6rem;
    margin-right: -6rem;
  }

  :root .xs\:-my-32{
    margin-top: -8rem;
    margin-bottom: -8rem;
  }

  :root .xs\:-mx-32{
    margin-left: -8rem;
    margin-right: -8rem;
  }

  :root .xs\:-my-40{
    margin-top: -10rem;
    margin-bottom: -10rem;
  }

  :root .xs\:-mx-40{
    margin-left: -10rem;
    margin-right: -10rem;
  }

  :root .xs\:-my-48{
    margin-top: -12rem;
    margin-bottom: -12rem;
  }

  :root .xs\:-mx-48{
    margin-left: -12rem;
    margin-right: -12rem;
  }

  :root .xs\:-my-56{
    margin-top: -14rem;
    margin-bottom: -14rem;
  }

  :root .xs\:-mx-56{
    margin-left: -14rem;
    margin-right: -14rem;
  }

  :root .xs\:-my-64{
    margin-top: -16rem;
    margin-bottom: -16rem;
  }

  :root .xs\:-mx-64{
    margin-left: -16rem;
    margin-right: -16rem;
  }

  :root .xs\:-my-px{
    margin-top: -1px;
    margin-bottom: -1px;
  }

  :root .xs\:-mx-px{
    margin-left: -1px;
    margin-right: -1px;
  }

  :root .xs\:-my-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root .xs\:-mx-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root .xs\:mt-0{
    margin-top: 0;
  }

  :root .xs\:mr-0{
    margin-right: 0;
  }

  :root .xs\:mb-0{
    margin-bottom: 0;
  }

  :root .xs\:ml-0{
    margin-left: 0;
  }

  :root .xs\:mt-1{
    margin-top: 0.25rem;
  }

  :root .xs\:mr-1{
    margin-right: 0.25rem;
  }

  :root .xs\:mb-1{
    margin-bottom: 0.25rem;
  }

  :root .xs\:ml-1{
    margin-left: 0.25rem;
  }

  :root .xs\:mt-2{
    margin-top: 0.5rem;
  }

  :root .xs\:mr-2{
    margin-right: 0.5rem;
  }

  :root .xs\:mb-2{
    margin-bottom: 0.5rem;
  }

  :root .xs\:ml-2{
    margin-left: 0.5rem;
  }

  :root .xs\:mt-3{
    margin-top: 0.75rem;
  }

  :root .xs\:mr-3{
    margin-right: 0.75rem;
  }

  :root .xs\:mb-3{
    margin-bottom: 0.75rem;
  }

  :root .xs\:ml-3{
    margin-left: 0.75rem;
  }

  :root .xs\:mt-4{
    margin-top: 1rem;
  }

  :root .xs\:mr-4{
    margin-right: 1rem;
  }

  :root .xs\:mb-4{
    margin-bottom: 1rem;
  }

  :root .xs\:ml-4{
    margin-left: 1rem;
  }

  :root .xs\:mt-5{
    margin-top: 1.25rem;
  }

  :root .xs\:mr-5{
    margin-right: 1.25rem;
  }

  :root .xs\:mb-5{
    margin-bottom: 1.25rem;
  }

  :root .xs\:ml-5{
    margin-left: 1.25rem;
  }

  :root .xs\:mt-6{
    margin-top: 1.5rem;
  }

  :root .xs\:mr-6{
    margin-right: 1.5rem;
  }

  :root .xs\:mb-6{
    margin-bottom: 1.5rem;
  }

  :root .xs\:ml-6{
    margin-left: 1.5rem;
  }

  :root .xs\:mt-8{
    margin-top: 2rem;
  }

  :root .xs\:mr-8{
    margin-right: 2rem;
  }

  :root .xs\:mb-8{
    margin-bottom: 2rem;
  }

  :root .xs\:ml-8{
    margin-left: 2rem;
  }

  :root .xs\:mt-9{
    margin-top: 2.25rem;
  }

  :root .xs\:mr-9{
    margin-right: 2.25rem;
  }

  :root .xs\:mb-9{
    margin-bottom: 2.25rem;
  }

  :root .xs\:ml-9{
    margin-left: 2.25rem;
  }

  :root .xs\:mt-10{
    margin-top: 2.5rem;
  }

  :root .xs\:mr-10{
    margin-right: 2.5rem;
  }

  :root .xs\:mb-10{
    margin-bottom: 2.5rem;
  }

  :root .xs\:ml-10{
    margin-left: 2.5rem;
  }

  :root .xs\:mt-12{
    margin-top: 3rem;
  }

  :root .xs\:mr-12{
    margin-right: 3rem;
  }

  :root .xs\:mb-12{
    margin-bottom: 3rem;
  }

  :root .xs\:ml-12{
    margin-left: 3rem;
  }

  :root .xs\:mt-14{
    margin-top: 3.5rem;
  }

  :root .xs\:mr-14{
    margin-right: 3.5rem;
  }

  :root .xs\:mb-14{
    margin-bottom: 3.5rem;
  }

  :root .xs\:ml-14{
    margin-left: 3.5rem;
  }

  :root .xs\:mt-16{
    margin-top: 4rem;
  }

  :root .xs\:mr-16{
    margin-right: 4rem;
  }

  :root .xs\:mb-16{
    margin-bottom: 4rem;
  }

  :root .xs\:ml-16{
    margin-left: 4rem;
  }

  :root .xs\:mt-20{
    margin-top: 5rem;
  }

  :root .xs\:mr-20{
    margin-right: 5rem;
  }

  :root .xs\:mb-20{
    margin-bottom: 5rem;
  }

  :root .xs\:ml-20{
    margin-left: 5rem;
  }

  :root .xs\:mt-24{
    margin-top: 6rem;
  }

  :root .xs\:mr-24{
    margin-right: 6rem;
  }

  :root .xs\:mb-24{
    margin-bottom: 6rem;
  }

  :root .xs\:ml-24{
    margin-left: 6rem;
  }

  :root .xs\:mt-32{
    margin-top: 8rem;
  }

  :root .xs\:mr-32{
    margin-right: 8rem;
  }

  :root .xs\:mb-32{
    margin-bottom: 8rem;
  }

  :root .xs\:ml-32{
    margin-left: 8rem;
  }

  :root .xs\:mt-40{
    margin-top: 10rem;
  }

  :root .xs\:mr-40{
    margin-right: 10rem;
  }

  :root .xs\:mb-40{
    margin-bottom: 10rem;
  }

  :root .xs\:ml-40{
    margin-left: 10rem;
  }

  :root .xs\:mt-48{
    margin-top: 12rem;
  }

  :root .xs\:mr-48{
    margin-right: 12rem;
  }

  :root .xs\:mb-48{
    margin-bottom: 12rem;
  }

  :root .xs\:ml-48{
    margin-left: 12rem;
  }

  :root .xs\:mt-56{
    margin-top: 14rem;
  }

  :root .xs\:mr-56{
    margin-right: 14rem;
  }

  :root .xs\:mb-56{
    margin-bottom: 14rem;
  }

  :root .xs\:ml-56{
    margin-left: 14rem;
  }

  :root .xs\:mt-64{
    margin-top: 16rem;
  }

  :root .xs\:mr-64{
    margin-right: 16rem;
  }

  :root .xs\:mb-64{
    margin-bottom: 16rem;
  }

  :root .xs\:ml-64{
    margin-left: 16rem;
  }

  :root .xs\:mt-auto{
    margin-top: auto;
  }

  :root .xs\:mr-auto{
    margin-right: auto;
  }

  :root .xs\:mb-auto{
    margin-bottom: auto;
  }

  :root .xs\:ml-auto{
    margin-left: auto;
  }

  :root .xs\:mt-px{
    margin-top: 1px;
  }

  :root .xs\:mr-px{
    margin-right: 1px;
  }

  :root .xs\:mb-px{
    margin-bottom: 1px;
  }

  :root .xs\:ml-px{
    margin-left: 1px;
  }

  :root .xs\:mt-gutter{
    margin-top: var(--padding-gutter);
  }

  :root .xs\:mr-gutter{
    margin-right: var(--padding-gutter);
  }

  :root .xs\:mb-gutter{
    margin-bottom: var(--padding-gutter);
  }

  :root .xs\:ml-gutter{
    margin-left: var(--padding-gutter);
  }

  :root .xs\:-mt-1{
    margin-top: -0.25rem;
  }

  :root .xs\:-mr-1{
    margin-right: -0.25rem;
  }

  :root .xs\:-mb-1{
    margin-bottom: -0.25rem;
  }

  :root .xs\:-ml-1{
    margin-left: -0.25rem;
  }

  :root .xs\:-mt-2{
    margin-top: -0.5rem;
  }

  :root .xs\:-mr-2{
    margin-right: -0.5rem;
  }

  :root .xs\:-mb-2{
    margin-bottom: -0.5rem;
  }

  :root .xs\:-ml-2{
    margin-left: -0.5rem;
  }

  :root .xs\:-mt-3{
    margin-top: -0.75rem;
  }

  :root .xs\:-mr-3{
    margin-right: -0.75rem;
  }

  :root .xs\:-mb-3{
    margin-bottom: -0.75rem;
  }

  :root .xs\:-ml-3{
    margin-left: -0.75rem;
  }

  :root .xs\:-mt-4{
    margin-top: -1rem;
  }

  :root .xs\:-mr-4{
    margin-right: -1rem;
  }

  :root .xs\:-mb-4{
    margin-bottom: -1rem;
  }

  :root .xs\:-ml-4{
    margin-left: -1rem;
  }

  :root .xs\:-mt-5{
    margin-top: -1.25rem;
  }

  :root .xs\:-mr-5{
    margin-right: -1.25rem;
  }

  :root .xs\:-mb-5{
    margin-bottom: -1.25rem;
  }

  :root .xs\:-ml-5{
    margin-left: -1.25rem;
  }

  :root .xs\:-mt-6{
    margin-top: -1.5rem;
  }

  :root .xs\:-mr-6{
    margin-right: -1.5rem;
  }

  :root .xs\:-mb-6{
    margin-bottom: -1.5rem;
  }

  :root .xs\:-ml-6{
    margin-left: -1.5rem;
  }

  :root .xs\:-mt-8{
    margin-top: -2rem;
  }

  :root .xs\:-mr-8{
    margin-right: -2rem;
  }

  :root .xs\:-mb-8{
    margin-bottom: -2rem;
  }

  :root .xs\:-ml-8{
    margin-left: -2rem;
  }

  :root .xs\:-mt-9{
    margin-top: -2.25rem;
  }

  :root .xs\:-mr-9{
    margin-right: -2.25rem;
  }

  :root .xs\:-mb-9{
    margin-bottom: -2.25rem;
  }

  :root .xs\:-ml-9{
    margin-left: -2.25rem;
  }

  :root .xs\:-mt-10{
    margin-top: -2.5rem;
  }

  :root .xs\:-mr-10{
    margin-right: -2.5rem;
  }

  :root .xs\:-mb-10{
    margin-bottom: -2.5rem;
  }

  :root .xs\:-ml-10{
    margin-left: -2.5rem;
  }

  :root .xs\:-mt-12{
    margin-top: -3rem;
  }

  :root .xs\:-mr-12{
    margin-right: -3rem;
  }

  :root .xs\:-mb-12{
    margin-bottom: -3rem;
  }

  :root .xs\:-ml-12{
    margin-left: -3rem;
  }

  :root .xs\:-mt-14{
    margin-top: -3.5rem;
  }

  :root .xs\:-mr-14{
    margin-right: -3.5rem;
  }

  :root .xs\:-mb-14{
    margin-bottom: -3.5rem;
  }

  :root .xs\:-ml-14{
    margin-left: -3.5rem;
  }

  :root .xs\:-mt-16{
    margin-top: -4rem;
  }

  :root .xs\:-mr-16{
    margin-right: -4rem;
  }

  :root .xs\:-mb-16{
    margin-bottom: -4rem;
  }

  :root .xs\:-ml-16{
    margin-left: -4rem;
  }

  :root .xs\:-mt-20{
    margin-top: -5rem;
  }

  :root .xs\:-mr-20{
    margin-right: -5rem;
  }

  :root .xs\:-mb-20{
    margin-bottom: -5rem;
  }

  :root .xs\:-ml-20{
    margin-left: -5rem;
  }

  :root .xs\:-mt-24{
    margin-top: -6rem;
  }

  :root .xs\:-mr-24{
    margin-right: -6rem;
  }

  :root .xs\:-mb-24{
    margin-bottom: -6rem;
  }

  :root .xs\:-ml-24{
    margin-left: -6rem;
  }

  :root .xs\:-mt-32{
    margin-top: -8rem;
  }

  :root .xs\:-mr-32{
    margin-right: -8rem;
  }

  :root .xs\:-mb-32{
    margin-bottom: -8rem;
  }

  :root .xs\:-ml-32{
    margin-left: -8rem;
  }

  :root .xs\:-mt-40{
    margin-top: -10rem;
  }

  :root .xs\:-mr-40{
    margin-right: -10rem;
  }

  :root .xs\:-mb-40{
    margin-bottom: -10rem;
  }

  :root .xs\:-ml-40{
    margin-left: -10rem;
  }

  :root .xs\:-mt-48{
    margin-top: -12rem;
  }

  :root .xs\:-mr-48{
    margin-right: -12rem;
  }

  :root .xs\:-mb-48{
    margin-bottom: -12rem;
  }

  :root .xs\:-ml-48{
    margin-left: -12rem;
  }

  :root .xs\:-mt-56{
    margin-top: -14rem;
  }

  :root .xs\:-mr-56{
    margin-right: -14rem;
  }

  :root .xs\:-mb-56{
    margin-bottom: -14rem;
  }

  :root .xs\:-ml-56{
    margin-left: -14rem;
  }

  :root .xs\:-mt-64{
    margin-top: -16rem;
  }

  :root .xs\:-mr-64{
    margin-right: -16rem;
  }

  :root .xs\:-mb-64{
    margin-bottom: -16rem;
  }

  :root .xs\:-ml-64{
    margin-left: -16rem;
  }

  :root .xs\:-mt-px{
    margin-top: -1px;
  }

  :root .xs\:-mr-px{
    margin-right: -1px;
  }

  :root .xs\:-mb-px{
    margin-bottom: -1px;
  }

  :root .xs\:-ml-px{
    margin-left: -1px;
  }

  :root .xs\:-mt-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
  }

  :root .xs\:-mr-gutter{
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root .xs\:-mb-gutter{
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root .xs\:-ml-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .xs\:ltr\:m-0{
    margin: 0;
  }

  :root [dir=ltr] .xs\:ltr\:m-1{
    margin: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-2{
    margin: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-3{
    margin: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-4{
    margin: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-5{
    margin: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-6{
    margin: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-8{
    margin: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-9{
    margin: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-10{
    margin: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-12{
    margin: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-14{
    margin: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-16{
    margin: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-20{
    margin: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-24{
    margin: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-32{
    margin: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-40{
    margin: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-48{
    margin: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-56{
    margin: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-64{
    margin: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:m-auto{
    margin: auto;
  }

  :root [dir=ltr] .xs\:ltr\:m-px{
    margin: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:m-gutter{
    margin: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:-m-1{
    margin: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-2{
    margin: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-3{
    margin: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-4{
    margin: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-5{
    margin: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-6{
    margin: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-8{
    margin: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-9{
    margin: -2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-10{
    margin: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-12{
    margin: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-14{
    margin: -3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-16{
    margin: -4rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-20{
    margin: -5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-24{
    margin: -6rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-32{
    margin: -8rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-40{
    margin: -10rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-48{
    margin: -12rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-56{
    margin: -14rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-64{
    margin: -16rem;
  }

  :root [dir=ltr] .xs\:ltr\:-m-px{
    margin: -1px;
  }

  :root [dir=ltr] .xs\:ltr\:-m-gutter{
    margin: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .xs\:ltr\:my-0{
    margin-top: 0;
    margin-bottom: 0;
  }

  :root [dir=ltr] .xs\:ltr\:mx-0{
    margin-left: 0;
    margin-right: 0;
  }

  :root [dir=ltr] .xs\:ltr\:my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-4{
    margin-left: 1rem;
    margin-right: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-5{
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-8{
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-8{
    margin-left: 2rem;
    margin-right: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-9{
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-9{
    margin-left: 2.25rem;
    margin-right: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-10{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-10{
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-12{
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-12{
    margin-left: 3rem;
    margin-right: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-14{
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-14{
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-16{
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-16{
    margin-left: 4rem;
    margin-right: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-20{
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-20{
    margin-left: 5rem;
    margin-right: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-24{
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-24{
    margin-left: 6rem;
    margin-right: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-32{
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-32{
    margin-left: 8rem;
    margin-right: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-40{
    margin-top: 10rem;
    margin-bottom: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-40{
    margin-left: 10rem;
    margin-right: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-48{
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-48{
    margin-left: 12rem;
    margin-right: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-56{
    margin-top: 14rem;
    margin-bottom: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-56{
    margin-left: 14rem;
    margin-right: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-64{
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:mx-64{
    margin-left: 16rem;
    margin-right: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }

  :root [dir=ltr] .xs\:ltr\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

  :root [dir=ltr] .xs\:ltr\:my-px{
    margin-top: 1px;
    margin-bottom: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:mx-px{
    margin-left: 1px;
    margin-right: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:my-gutter{
    margin-top: var(--padding-gutter);
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:mx-gutter{
    margin-left: var(--padding-gutter);
    margin-right: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:-my-1{
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-2{
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-3{
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-3{
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-4{
    margin-top: -1rem;
    margin-bottom: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-4{
    margin-left: -1rem;
    margin-right: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-5{
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-6{
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-6{
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-8{
    margin-top: -2rem;
    margin-bottom: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-8{
    margin-left: -2rem;
    margin-right: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-9{
    margin-top: -2.25rem;
    margin-bottom: -2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-9{
    margin-left: -2.25rem;
    margin-right: -2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-10{
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-10{
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-12{
    margin-top: -3rem;
    margin-bottom: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-12{
    margin-left: -3rem;
    margin-right: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-14{
    margin-top: -3.5rem;
    margin-bottom: -3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-14{
    margin-left: -3.5rem;
    margin-right: -3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-16{
    margin-top: -4rem;
    margin-bottom: -4rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-16{
    margin-left: -4rem;
    margin-right: -4rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-20{
    margin-top: -5rem;
    margin-bottom: -5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-20{
    margin-left: -5rem;
    margin-right: -5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-24{
    margin-top: -6rem;
    margin-bottom: -6rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-24{
    margin-left: -6rem;
    margin-right: -6rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-32{
    margin-top: -8rem;
    margin-bottom: -8rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-32{
    margin-left: -8rem;
    margin-right: -8rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-40{
    margin-top: -10rem;
    margin-bottom: -10rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-40{
    margin-left: -10rem;
    margin-right: -10rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-48{
    margin-top: -12rem;
    margin-bottom: -12rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-48{
    margin-left: -12rem;
    margin-right: -12rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-56{
    margin-top: -14rem;
    margin-bottom: -14rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-56{
    margin-left: -14rem;
    margin-right: -14rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-64{
    margin-top: -16rem;
    margin-bottom: -16rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-64{
    margin-left: -16rem;
    margin-right: -16rem;
  }

  :root [dir=ltr] .xs\:ltr\:-my-px{
    margin-top: -1px;
    margin-bottom: -1px;
  }

  :root [dir=ltr] .xs\:ltr\:-mx-px{
    margin-left: -1px;
    margin-right: -1px;
  }

  :root [dir=ltr] .xs\:ltr\:-my-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .xs\:ltr\:-mx-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .xs\:ltr\:mt-0{
    margin-top: 0;
  }

  :root [dir=ltr] .xs\:ltr\:mr-0{
    margin-right: 0;
  }

  :root [dir=ltr] .xs\:ltr\:mb-0{
    margin-bottom: 0;
  }

  :root [dir=ltr] .xs\:ltr\:ml-0{
    margin-left: 0;
  }

  :root [dir=ltr] .xs\:ltr\:mt-1{
    margin-top: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-1{
    margin-right: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-1{
    margin-bottom: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-1{
    margin-left: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-2{
    margin-top: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-2{
    margin-right: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-2{
    margin-bottom: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-2{
    margin-left: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-3{
    margin-top: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-3{
    margin-right: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-3{
    margin-bottom: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-3{
    margin-left: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-4{
    margin-top: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-4{
    margin-right: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-4{
    margin-bottom: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-4{
    margin-left: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-5{
    margin-top: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-5{
    margin-right: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-5{
    margin-bottom: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-5{
    margin-left: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-6{
    margin-top: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-6{
    margin-right: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-6{
    margin-bottom: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-6{
    margin-left: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-8{
    margin-top: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-8{
    margin-right: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-8{
    margin-bottom: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-8{
    margin-left: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-9{
    margin-top: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-9{
    margin-right: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-9{
    margin-bottom: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-9{
    margin-left: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-10{
    margin-top: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-10{
    margin-right: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-10{
    margin-bottom: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-10{
    margin-left: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-12{
    margin-top: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-12{
    margin-right: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-12{
    margin-bottom: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-12{
    margin-left: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-14{
    margin-top: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-14{
    margin-right: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-14{
    margin-bottom: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-14{
    margin-left: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-16{
    margin-top: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-16{
    margin-right: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-16{
    margin-bottom: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-16{
    margin-left: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-20{
    margin-top: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-20{
    margin-right: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-20{
    margin-bottom: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-20{
    margin-left: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-24{
    margin-top: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-24{
    margin-right: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-24{
    margin-bottom: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-24{
    margin-left: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-32{
    margin-top: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-32{
    margin-right: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-32{
    margin-bottom: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-32{
    margin-left: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-40{
    margin-top: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-40{
    margin-right: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-40{
    margin-bottom: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-40{
    margin-left: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-48{
    margin-top: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-48{
    margin-right: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-48{
    margin-bottom: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-48{
    margin-left: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-56{
    margin-top: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-56{
    margin-right: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-56{
    margin-bottom: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-56{
    margin-left: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-64{
    margin-top: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:mr-64{
    margin-right: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:mb-64{
    margin-bottom: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:ml-64{
    margin-left: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:mt-auto{
    margin-top: auto;
  }

  :root [dir=ltr] .xs\:ltr\:mr-auto{
    margin-right: auto;
  }

  :root [dir=ltr] .xs\:ltr\:mb-auto{
    margin-bottom: auto;
  }

  :root [dir=ltr] .xs\:ltr\:ml-auto{
    margin-left: auto;
  }

  :root [dir=ltr] .xs\:ltr\:mt-px{
    margin-top: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:mr-px{
    margin-right: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:mb-px{
    margin-bottom: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:ml-px{
    margin-left: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:mt-gutter{
    margin-top: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:mr-gutter{
    margin-right: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:mb-gutter{
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:ml-gutter{
    margin-left: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:-mt-1{
    margin-top: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-1{
    margin-right: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-1{
    margin-bottom: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-1{
    margin-left: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-2{
    margin-top: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-2{
    margin-right: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-2{
    margin-bottom: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-2{
    margin-left: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-3{
    margin-top: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-3{
    margin-right: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-3{
    margin-bottom: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-3{
    margin-left: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-4{
    margin-top: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-4{
    margin-right: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-4{
    margin-bottom: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-4{
    margin-left: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-5{
    margin-top: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-5{
    margin-right: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-5{
    margin-bottom: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-5{
    margin-left: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-6{
    margin-top: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-6{
    margin-right: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-6{
    margin-bottom: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-6{
    margin-left: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-8{
    margin-top: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-8{
    margin-right: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-8{
    margin-bottom: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-8{
    margin-left: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-9{
    margin-top: -2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-9{
    margin-right: -2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-9{
    margin-bottom: -2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-9{
    margin-left: -2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-10{
    margin-top: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-10{
    margin-right: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-10{
    margin-bottom: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-10{
    margin-left: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-12{
    margin-top: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-12{
    margin-right: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-12{
    margin-bottom: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-12{
    margin-left: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-14{
    margin-top: -3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-14{
    margin-right: -3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-14{
    margin-bottom: -3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-14{
    margin-left: -3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-16{
    margin-top: -4rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-16{
    margin-right: -4rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-16{
    margin-bottom: -4rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-16{
    margin-left: -4rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-20{
    margin-top: -5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-20{
    margin-right: -5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-20{
    margin-bottom: -5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-20{
    margin-left: -5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-24{
    margin-top: -6rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-24{
    margin-right: -6rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-24{
    margin-bottom: -6rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-24{
    margin-left: -6rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-32{
    margin-top: -8rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-32{
    margin-right: -8rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-32{
    margin-bottom: -8rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-32{
    margin-left: -8rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-40{
    margin-top: -10rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-40{
    margin-right: -10rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-40{
    margin-bottom: -10rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-40{
    margin-left: -10rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-48{
    margin-top: -12rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-48{
    margin-right: -12rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-48{
    margin-bottom: -12rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-48{
    margin-left: -12rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-56{
    margin-top: -14rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-56{
    margin-right: -14rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-56{
    margin-bottom: -14rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-56{
    margin-left: -14rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-64{
    margin-top: -16rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-64{
    margin-right: -16rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-64{
    margin-bottom: -16rem;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-64{
    margin-left: -16rem;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-px{
    margin-top: -1px;
  }

  :root [dir=ltr] .xs\:ltr\:-mr-px{
    margin-right: -1px;
  }

  :root [dir=ltr] .xs\:ltr\:-mb-px{
    margin-bottom: -1px;
  }

  :root [dir=ltr] .xs\:ltr\:-ml-px{
    margin-left: -1px;
  }

  :root [dir=ltr] .xs\:ltr\:-mt-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .xs\:ltr\:-mr-gutter{
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .xs\:ltr\:-mb-gutter{
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .xs\:ltr\:-ml-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .xs\:rtl\:m-0{
    margin: 0;
  }

  :root [dir=rtl] .xs\:rtl\:m-1{
    margin: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-2{
    margin: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-3{
    margin: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-4{
    margin: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-5{
    margin: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-6{
    margin: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-8{
    margin: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-9{
    margin: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-10{
    margin: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-12{
    margin: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-14{
    margin: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-16{
    margin: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-20{
    margin: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-24{
    margin: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-32{
    margin: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-40{
    margin: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-48{
    margin: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-56{
    margin: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-64{
    margin: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:m-auto{
    margin: auto;
  }

  :root [dir=rtl] .xs\:rtl\:m-px{
    margin: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:m-gutter{
    margin: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:-m-1{
    margin: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-2{
    margin: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-3{
    margin: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-4{
    margin: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-5{
    margin: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-6{
    margin: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-8{
    margin: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-9{
    margin: -2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-10{
    margin: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-12{
    margin: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-14{
    margin: -3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-16{
    margin: -4rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-20{
    margin: -5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-24{
    margin: -6rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-32{
    margin: -8rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-40{
    margin: -10rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-48{
    margin: -12rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-56{
    margin: -14rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-64{
    margin: -16rem;
  }

  :root [dir=rtl] .xs\:rtl\:-m-px{
    margin: -1px;
  }

  :root [dir=rtl] .xs\:rtl\:-m-gutter{
    margin: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .xs\:rtl\:my-0{
    margin-top: 0;
    margin-bottom: 0;
  }

  :root [dir=rtl] .xs\:rtl\:mx-0{
    margin-left: 0;
    margin-right: 0;
  }

  :root [dir=rtl] .xs\:rtl\:my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-4{
    margin-left: 1rem;
    margin-right: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-5{
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-8{
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-8{
    margin-left: 2rem;
    margin-right: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-9{
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-9{
    margin-left: 2.25rem;
    margin-right: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-10{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-10{
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-12{
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-12{
    margin-left: 3rem;
    margin-right: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-14{
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-14{
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-16{
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-16{
    margin-left: 4rem;
    margin-right: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-20{
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-20{
    margin-left: 5rem;
    margin-right: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-24{
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-24{
    margin-left: 6rem;
    margin-right: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-32{
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-32{
    margin-left: 8rem;
    margin-right: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-40{
    margin-top: 10rem;
    margin-bottom: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-40{
    margin-left: 10rem;
    margin-right: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-48{
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-48{
    margin-left: 12rem;
    margin-right: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-56{
    margin-top: 14rem;
    margin-bottom: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-56{
    margin-left: 14rem;
    margin-right: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-64{
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:mx-64{
    margin-left: 16rem;
    margin-right: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }

  :root [dir=rtl] .xs\:rtl\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

  :root [dir=rtl] .xs\:rtl\:my-px{
    margin-top: 1px;
    margin-bottom: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:mx-px{
    margin-left: 1px;
    margin-right: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:my-gutter{
    margin-top: var(--padding-gutter);
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:mx-gutter{
    margin-left: var(--padding-gutter);
    margin-right: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:-my-1{
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-2{
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-3{
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-3{
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-4{
    margin-top: -1rem;
    margin-bottom: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-4{
    margin-left: -1rem;
    margin-right: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-5{
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-6{
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-6{
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-8{
    margin-top: -2rem;
    margin-bottom: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-8{
    margin-left: -2rem;
    margin-right: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-9{
    margin-top: -2.25rem;
    margin-bottom: -2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-9{
    margin-left: -2.25rem;
    margin-right: -2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-10{
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-10{
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-12{
    margin-top: -3rem;
    margin-bottom: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-12{
    margin-left: -3rem;
    margin-right: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-14{
    margin-top: -3.5rem;
    margin-bottom: -3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-14{
    margin-left: -3.5rem;
    margin-right: -3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-16{
    margin-top: -4rem;
    margin-bottom: -4rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-16{
    margin-left: -4rem;
    margin-right: -4rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-20{
    margin-top: -5rem;
    margin-bottom: -5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-20{
    margin-left: -5rem;
    margin-right: -5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-24{
    margin-top: -6rem;
    margin-bottom: -6rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-24{
    margin-left: -6rem;
    margin-right: -6rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-32{
    margin-top: -8rem;
    margin-bottom: -8rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-32{
    margin-left: -8rem;
    margin-right: -8rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-40{
    margin-top: -10rem;
    margin-bottom: -10rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-40{
    margin-left: -10rem;
    margin-right: -10rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-48{
    margin-top: -12rem;
    margin-bottom: -12rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-48{
    margin-left: -12rem;
    margin-right: -12rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-56{
    margin-top: -14rem;
    margin-bottom: -14rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-56{
    margin-left: -14rem;
    margin-right: -14rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-64{
    margin-top: -16rem;
    margin-bottom: -16rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-64{
    margin-left: -16rem;
    margin-right: -16rem;
  }

  :root [dir=rtl] .xs\:rtl\:-my-px{
    margin-top: -1px;
    margin-bottom: -1px;
  }

  :root [dir=rtl] .xs\:rtl\:-mx-px{
    margin-left: -1px;
    margin-right: -1px;
  }

  :root [dir=rtl] .xs\:rtl\:-my-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .xs\:rtl\:-mx-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .xs\:rtl\:mt-0{
    margin-top: 0;
  }

  :root [dir=rtl] .xs\:rtl\:mr-0{
    margin-right: 0;
  }

  :root [dir=rtl] .xs\:rtl\:mb-0{
    margin-bottom: 0;
  }

  :root [dir=rtl] .xs\:rtl\:ml-0{
    margin-left: 0;
  }

  :root [dir=rtl] .xs\:rtl\:mt-1{
    margin-top: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-1{
    margin-right: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-1{
    margin-bottom: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-1{
    margin-left: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-2{
    margin-top: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-2{
    margin-right: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-2{
    margin-bottom: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-2{
    margin-left: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-3{
    margin-top: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-3{
    margin-right: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-3{
    margin-bottom: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-3{
    margin-left: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-4{
    margin-top: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-4{
    margin-right: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-4{
    margin-bottom: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-4{
    margin-left: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-5{
    margin-top: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-5{
    margin-right: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-5{
    margin-bottom: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-5{
    margin-left: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-6{
    margin-top: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-6{
    margin-right: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-6{
    margin-bottom: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-6{
    margin-left: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-8{
    margin-top: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-8{
    margin-right: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-8{
    margin-bottom: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-8{
    margin-left: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-9{
    margin-top: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-9{
    margin-right: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-9{
    margin-bottom: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-9{
    margin-left: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-10{
    margin-top: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-10{
    margin-right: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-10{
    margin-bottom: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-10{
    margin-left: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-12{
    margin-top: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-12{
    margin-right: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-12{
    margin-bottom: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-12{
    margin-left: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-14{
    margin-top: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-14{
    margin-right: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-14{
    margin-bottom: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-14{
    margin-left: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-16{
    margin-top: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-16{
    margin-right: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-16{
    margin-bottom: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-16{
    margin-left: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-20{
    margin-top: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-20{
    margin-right: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-20{
    margin-bottom: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-20{
    margin-left: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-24{
    margin-top: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-24{
    margin-right: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-24{
    margin-bottom: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-24{
    margin-left: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-32{
    margin-top: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-32{
    margin-right: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-32{
    margin-bottom: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-32{
    margin-left: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-40{
    margin-top: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-40{
    margin-right: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-40{
    margin-bottom: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-40{
    margin-left: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-48{
    margin-top: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-48{
    margin-right: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-48{
    margin-bottom: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-48{
    margin-left: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-56{
    margin-top: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-56{
    margin-right: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-56{
    margin-bottom: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-56{
    margin-left: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-64{
    margin-top: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:mr-64{
    margin-right: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:mb-64{
    margin-bottom: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:ml-64{
    margin-left: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:mt-auto{
    margin-top: auto;
  }

  :root [dir=rtl] .xs\:rtl\:mr-auto{
    margin-right: auto;
  }

  :root [dir=rtl] .xs\:rtl\:mb-auto{
    margin-bottom: auto;
  }

  :root [dir=rtl] .xs\:rtl\:ml-auto{
    margin-left: auto;
  }

  :root [dir=rtl] .xs\:rtl\:mt-px{
    margin-top: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:mr-px{
    margin-right: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:mb-px{
    margin-bottom: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:ml-px{
    margin-left: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:mt-gutter{
    margin-top: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:mr-gutter{
    margin-right: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:mb-gutter{
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:ml-gutter{
    margin-left: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:-mt-1{
    margin-top: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-1{
    margin-right: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-1{
    margin-bottom: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-1{
    margin-left: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-2{
    margin-top: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-2{
    margin-right: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-2{
    margin-bottom: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-2{
    margin-left: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-3{
    margin-top: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-3{
    margin-right: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-3{
    margin-bottom: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-3{
    margin-left: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-4{
    margin-top: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-4{
    margin-right: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-4{
    margin-bottom: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-4{
    margin-left: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-5{
    margin-top: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-5{
    margin-right: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-5{
    margin-bottom: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-5{
    margin-left: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-6{
    margin-top: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-6{
    margin-right: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-6{
    margin-bottom: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-6{
    margin-left: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-8{
    margin-top: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-8{
    margin-right: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-8{
    margin-bottom: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-8{
    margin-left: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-9{
    margin-top: -2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-9{
    margin-right: -2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-9{
    margin-bottom: -2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-9{
    margin-left: -2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-10{
    margin-top: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-10{
    margin-right: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-10{
    margin-bottom: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-10{
    margin-left: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-12{
    margin-top: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-12{
    margin-right: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-12{
    margin-bottom: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-12{
    margin-left: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-14{
    margin-top: -3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-14{
    margin-right: -3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-14{
    margin-bottom: -3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-14{
    margin-left: -3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-16{
    margin-top: -4rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-16{
    margin-right: -4rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-16{
    margin-bottom: -4rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-16{
    margin-left: -4rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-20{
    margin-top: -5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-20{
    margin-right: -5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-20{
    margin-bottom: -5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-20{
    margin-left: -5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-24{
    margin-top: -6rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-24{
    margin-right: -6rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-24{
    margin-bottom: -6rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-24{
    margin-left: -6rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-32{
    margin-top: -8rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-32{
    margin-right: -8rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-32{
    margin-bottom: -8rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-32{
    margin-left: -8rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-40{
    margin-top: -10rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-40{
    margin-right: -10rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-40{
    margin-bottom: -10rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-40{
    margin-left: -10rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-48{
    margin-top: -12rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-48{
    margin-right: -12rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-48{
    margin-bottom: -12rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-48{
    margin-left: -12rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-56{
    margin-top: -14rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-56{
    margin-right: -14rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-56{
    margin-bottom: -14rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-56{
    margin-left: -14rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-64{
    margin-top: -16rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-64{
    margin-right: -16rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-64{
    margin-bottom: -16rem;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-64{
    margin-left: -16rem;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-px{
    margin-top: -1px;
  }

  :root [dir=rtl] .xs\:rtl\:-mr-px{
    margin-right: -1px;
  }

  :root [dir=rtl] .xs\:rtl\:-mb-px{
    margin-bottom: -1px;
  }

  :root [dir=rtl] .xs\:rtl\:-ml-px{
    margin-left: -1px;
  }

  :root [dir=rtl] .xs\:rtl\:-mt-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .xs\:rtl\:-mr-gutter{
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .xs\:rtl\:-mb-gutter{
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .xs\:rtl\:-ml-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
  }

  :root .xs\:max-h-full{
    max-height: 100%;
  }

  :root .xs\:max-h-screen{
    max-height: 100vh;
  }

  :root .xs\:max-w-unset{
    max-width: unset;
  }

  :root .xs\:max-w-xxxs{
    max-width: 16rem;
  }

  :root .xs\:max-w-xxs{
    max-width: 18rem;
  }

  :root .xs\:max-w-xs{
    max-width: 20rem;
  }

  :root .xs\:max-w-sm{
    max-width: 24rem;
  }

  :root .xs\:max-w-md{
    max-width: 28rem;
  }

  :root .xs\:max-w-lg{
    max-width: 32rem;
  }

  :root .xs\:max-w-xl{
    max-width: 36rem;
  }

  :root .xs\:max-w-2xl{
    max-width: 42rem;
  }

  :root .xs\:max-w-3xl{
    max-width: 48rem;
  }

  :root .xs\:max-w-4xl{
    max-width: 56rem;
  }

  :root .xs\:max-w-5xl{
    max-width: 64rem;
  }

  :root .xs\:max-w-6xl{
    max-width: 72rem;
  }

  :root .xs\:max-w-full{
    max-width: 100%;
  }

  :root .xs\:min-h-0{
    min-height: 0;
  }

  :root .xs\:min-h-full{
    min-height: 100%;
  }

  :root .xs\:min-h-screen{
    min-height: 100vh;
  }

  :root .xs\:min-w-0{
    min-width: 0;
  }

  :root .xs\:min-w-1{
    min-width: 0.25rem;
  }

  :root .xs\:min-w-2{
    min-width: 0.5rem;
  }

  :root .xs\:min-w-3{
    min-width: 0.75rem;
  }

  :root .xs\:min-w-4{
    min-width: 1rem;
  }

  :root .xs\:min-w-5{
    min-width: 1.25rem;
  }

  :root .xs\:min-w-6{
    min-width: 1.5rem;
  }

  :root .xs\:min-w-8{
    min-width: 2rem;
  }

  :root .xs\:min-w-9{
    min-width: 2.25rem;
  }

  :root .xs\:min-w-10{
    min-width: 2.5rem;
  }

  :root .xs\:min-w-12{
    min-width: 3rem;
  }

  :root .xs\:min-w-14{
    min-width: 3.5rem;
  }

  :root .xs\:min-w-16{
    min-width: 4rem;
  }

  :root .xs\:min-w-20{
    min-width: 5rem;
  }

  :root .xs\:min-w-24{
    min-width: 6rem;
  }

  :root .xs\:min-w-32{
    min-width: 8rem;
  }

  :root .xs\:min-w-40{
    min-width: 10rem;
  }

  :root .xs\:min-w-48{
    min-width: 12rem;
  }

  :root .xs\:min-w-56{
    min-width: 14rem;
  }

  :root .xs\:min-w-64{
    min-width: 16rem;
  }

  :root .xs\:min-w-full{
    min-width: 100%;
  }

  :root .xs\:min-w-px{
    min-width: 1px;
  }

  :root .xs\:min-w-gutter{
    min-width: var(--padding-gutter);
  }

  :root .xs\:object-contain{
    -o-object-fit: contain;
       object-fit: contain;
  }

  :root .xs\:object-cover{
    -o-object-fit: cover;
       object-fit: cover;
  }

  :root .xs\:object-fill{
    -o-object-fit: fill;
       object-fit: fill;
  }

  :root .xs\:object-none{
    -o-object-fit: none;
       object-fit: none;
  }

  :root .xs\:object-scale-down{
    -o-object-fit: scale-down;
       object-fit: scale-down;
  }

  :root .xs\:object-bottom{
    -o-object-position: bottom;
       object-position: bottom;
  }

  :root .xs\:object-center{
    -o-object-position: center;
       object-position: center;
  }

  :root .xs\:object-left{
    -o-object-position: left;
       object-position: left;
  }

  :root .xs\:object-left-bottom{
    -o-object-position: left bottom;
       object-position: left bottom;
  }

  :root .xs\:object-left-top{
    -o-object-position: left top;
       object-position: left top;
  }

  :root .xs\:object-right{
    -o-object-position: right;
       object-position: right;
  }

  :root .xs\:object-right-bottom{
    -o-object-position: right bottom;
       object-position: right bottom;
  }

  :root .xs\:object-right-top{
    -o-object-position: right top;
       object-position: right top;
  }

  :root .xs\:object-top{
    -o-object-position: top;
       object-position: top;
  }

  :root .xs\:opacity-0{
    opacity: 0;
  }

  :root .xs\:opacity-25{
    opacity: 0.25;
  }

  :root .xs\:opacity-50{
    opacity: 0.5;
  }

  :root .xs\:opacity-75{
    opacity: 0.75;
  }

  :root .xs\:opacity-100{
    opacity: 1;
  }

  :root .xs\:hover\:opacity-0:hover{
    opacity: 0;
  }

  :root .xs\:hover\:opacity-25:hover{
    opacity: 0.25;
  }

  :root .xs\:hover\:opacity-50:hover{
    opacity: 0.5;
  }

  :root .xs\:hover\:opacity-75:hover{
    opacity: 0.75;
  }

  :root .xs\:hover\:opacity-100:hover{
    opacity: 1;
  }

  :root .xs\:focus\:opacity-0:focus{
    opacity: 0;
  }

  :root .xs\:focus\:opacity-25:focus{
    opacity: 0.25;
  }

  :root .xs\:focus\:opacity-50:focus{
    opacity: 0.5;
  }

  :root .xs\:focus\:opacity-75:focus{
    opacity: 0.75;
  }

  :root .xs\:focus\:opacity-100:focus{
    opacity: 1;
  }

  :root .xs\:outline-none{
    outline: 2px solid transparent;
    outline-offset: 2px;
  }

  :root .xs\:outline-white{
    outline: 2px dotted white;
    outline-offset: 2px;
  }

  :root .xs\:outline-black{
    outline: 2px dotted black;
    outline-offset: 2px;
  }

  :root .xs\:focus\:outline-none:focus{
    outline: 2px solid transparent;
    outline-offset: 2px;
  }

  :root .xs\:focus\:outline-white:focus{
    outline: 2px dotted white;
    outline-offset: 2px;
  }

  :root .xs\:focus\:outline-black:focus{
    outline: 2px dotted black;
    outline-offset: 2px;
  }

  :root .xs\:overflow-auto{
    overflow: auto;
  }

  :root .xs\:overflow-hidden{
    overflow: hidden;
  }

  :root .xs\:overflow-visible{
    overflow: visible;
  }

  :root .xs\:overflow-scroll{
    overflow: scroll;
  }

  :root .xs\:overflow-x-auto{
    overflow-x: auto;
  }

  :root .xs\:overflow-y-auto{
    overflow-y: auto;
  }

  :root .xs\:overflow-x-hidden{
    overflow-x: hidden;
  }

  :root .xs\:overflow-y-hidden{
    overflow-y: hidden;
  }

  :root .xs\:overflow-x-visible{
    overflow-x: visible;
  }

  :root .xs\:overflow-y-visible{
    overflow-y: visible;
  }

  :root .xs\:overflow-x-scroll{
    overflow-x: scroll;
  }

  :root .xs\:overflow-y-scroll{
    overflow-y: scroll;
  }

  :root .xs\:overscroll-auto{
    overscroll-behavior: auto;
  }

  :root .xs\:overscroll-contain{
    overscroll-behavior: contain;
  }

  :root .xs\:overscroll-none{
    overscroll-behavior: none;
  }

  :root .xs\:overscroll-y-auto{
    overscroll-behavior-y: auto;
  }

  :root .xs\:overscroll-y-contain{
    overscroll-behavior-y: contain;
  }

  :root .xs\:overscroll-y-none{
    overscroll-behavior-y: none;
  }

  :root .xs\:overscroll-x-auto{
    overscroll-behavior-x: auto;
  }

  :root .xs\:overscroll-x-contain{
    overscroll-behavior-x: contain;
  }

  :root .xs\:overscroll-x-none{
    overscroll-behavior-x: none;
  }

  :root .xs\:p-0{
    padding: 0;
  }

  :root .xs\:p-1{
    padding: 0.25rem;
  }

  :root .xs\:p-2{
    padding: 0.5rem;
  }

  :root .xs\:p-3{
    padding: 0.75rem;
  }

  :root .xs\:p-4{
    padding: 1rem;
  }

  :root .xs\:p-5{
    padding: 1.25rem;
  }

  :root .xs\:p-6{
    padding: 1.5rem;
  }

  :root .xs\:p-8{
    padding: 2rem;
  }

  :root .xs\:p-9{
    padding: 2.25rem;
  }

  :root .xs\:p-10{
    padding: 2.5rem;
  }

  :root .xs\:p-12{
    padding: 3rem;
  }

  :root .xs\:p-14{
    padding: 3.5rem;
  }

  :root .xs\:p-16{
    padding: 4rem;
  }

  :root .xs\:p-20{
    padding: 5rem;
  }

  :root .xs\:p-24{
    padding: 6rem;
  }

  :root .xs\:p-32{
    padding: 8rem;
  }

  :root .xs\:p-40{
    padding: 10rem;
  }

  :root .xs\:p-48{
    padding: 12rem;
  }

  :root .xs\:p-56{
    padding: 14rem;
  }

  :root .xs\:p-64{
    padding: 16rem;
  }

  :root .xs\:p-px{
    padding: 1px;
  }

  :root .xs\:p-gutter{
    padding: var(--padding-gutter);
  }

  :root .xs\:py-0{
    padding-top: 0;
    padding-bottom: 0;
  }

  :root .xs\:px-0{
    padding-left: 0;
    padding-right: 0;
  }

  :root .xs\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  :root .xs\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  :root .xs\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  :root .xs\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  :root .xs\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  :root .xs\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  :root .xs\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  :root .xs\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  :root .xs\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  :root .xs\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  :root .xs\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  :root .xs\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  :root .xs\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  :root .xs\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  :root .xs\:py-9{
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  :root .xs\:px-9{
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  :root .xs\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  :root .xs\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  :root .xs\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  :root .xs\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  :root .xs\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  :root .xs\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  :root .xs\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  :root .xs\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  :root .xs\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  :root .xs\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  :root .xs\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  :root .xs\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  :root .xs\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  :root .xs\:px-32{
    padding-left: 8rem;
    padding-right: 8rem;
  }

  :root .xs\:py-40{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  :root .xs\:px-40{
    padding-left: 10rem;
    padding-right: 10rem;
  }

  :root .xs\:py-48{
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  :root .xs\:px-48{
    padding-left: 12rem;
    padding-right: 12rem;
  }

  :root .xs\:py-56{
    padding-top: 14rem;
    padding-bottom: 14rem;
  }

  :root .xs\:px-56{
    padding-left: 14rem;
    padding-right: 14rem;
  }

  :root .xs\:py-64{
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  :root .xs\:px-64{
    padding-left: 16rem;
    padding-right: 16rem;
  }

  :root .xs\:py-px{
    padding-top: 1px;
    padding-bottom: 1px;
  }

  :root .xs\:px-px{
    padding-left: 1px;
    padding-right: 1px;
  }

  :root .xs\:py-gutter{
    padding-top: var(--padding-gutter);
    padding-bottom: var(--padding-gutter);
  }

  :root .xs\:px-gutter{
    padding-left: var(--padding-gutter);
    padding-right: var(--padding-gutter);
  }

  :root .xs\:pt-0{
    padding-top: 0;
  }

  :root .xs\:pr-0{
    padding-right: 0;
  }

  :root .xs\:pb-0{
    padding-bottom: 0;
  }

  :root .xs\:pl-0{
    padding-left: 0;
  }

  :root .xs\:pt-1{
    padding-top: 0.25rem;
  }

  :root .xs\:pr-1{
    padding-right: 0.25rem;
  }

  :root .xs\:pb-1{
    padding-bottom: 0.25rem;
  }

  :root .xs\:pl-1{
    padding-left: 0.25rem;
  }

  :root .xs\:pt-2{
    padding-top: 0.5rem;
  }

  :root .xs\:pr-2{
    padding-right: 0.5rem;
  }

  :root .xs\:pb-2{
    padding-bottom: 0.5rem;
  }

  :root .xs\:pl-2{
    padding-left: 0.5rem;
  }

  :root .xs\:pt-3{
    padding-top: 0.75rem;
  }

  :root .xs\:pr-3{
    padding-right: 0.75rem;
  }

  :root .xs\:pb-3{
    padding-bottom: 0.75rem;
  }

  :root .xs\:pl-3{
    padding-left: 0.75rem;
  }

  :root .xs\:pt-4{
    padding-top: 1rem;
  }

  :root .xs\:pr-4{
    padding-right: 1rem;
  }

  :root .xs\:pb-4{
    padding-bottom: 1rem;
  }

  :root .xs\:pl-4{
    padding-left: 1rem;
  }

  :root .xs\:pt-5{
    padding-top: 1.25rem;
  }

  :root .xs\:pr-5{
    padding-right: 1.25rem;
  }

  :root .xs\:pb-5{
    padding-bottom: 1.25rem;
  }

  :root .xs\:pl-5{
    padding-left: 1.25rem;
  }

  :root .xs\:pt-6{
    padding-top: 1.5rem;
  }

  :root .xs\:pr-6{
    padding-right: 1.5rem;
  }

  :root .xs\:pb-6{
    padding-bottom: 1.5rem;
  }

  :root .xs\:pl-6{
    padding-left: 1.5rem;
  }

  :root .xs\:pt-8{
    padding-top: 2rem;
  }

  :root .xs\:pr-8{
    padding-right: 2rem;
  }

  :root .xs\:pb-8{
    padding-bottom: 2rem;
  }

  :root .xs\:pl-8{
    padding-left: 2rem;
  }

  :root .xs\:pt-9{
    padding-top: 2.25rem;
  }

  :root .xs\:pr-9{
    padding-right: 2.25rem;
  }

  :root .xs\:pb-9{
    padding-bottom: 2.25rem;
  }

  :root .xs\:pl-9{
    padding-left: 2.25rem;
  }

  :root .xs\:pt-10{
    padding-top: 2.5rem;
  }

  :root .xs\:pr-10{
    padding-right: 2.5rem;
  }

  :root .xs\:pb-10{
    padding-bottom: 2.5rem;
  }

  :root .xs\:pl-10{
    padding-left: 2.5rem;
  }

  :root .xs\:pt-12{
    padding-top: 3rem;
  }

  :root .xs\:pr-12{
    padding-right: 3rem;
  }

  :root .xs\:pb-12{
    padding-bottom: 3rem;
  }

  :root .xs\:pl-12{
    padding-left: 3rem;
  }

  :root .xs\:pt-14{
    padding-top: 3.5rem;
  }

  :root .xs\:pr-14{
    padding-right: 3.5rem;
  }

  :root .xs\:pb-14{
    padding-bottom: 3.5rem;
  }

  :root .xs\:pl-14{
    padding-left: 3.5rem;
  }

  :root .xs\:pt-16{
    padding-top: 4rem;
  }

  :root .xs\:pr-16{
    padding-right: 4rem;
  }

  :root .xs\:pb-16{
    padding-bottom: 4rem;
  }

  :root .xs\:pl-16{
    padding-left: 4rem;
  }

  :root .xs\:pt-20{
    padding-top: 5rem;
  }

  :root .xs\:pr-20{
    padding-right: 5rem;
  }

  :root .xs\:pb-20{
    padding-bottom: 5rem;
  }

  :root .xs\:pl-20{
    padding-left: 5rem;
  }

  :root .xs\:pt-24{
    padding-top: 6rem;
  }

  :root .xs\:pr-24{
    padding-right: 6rem;
  }

  :root .xs\:pb-24{
    padding-bottom: 6rem;
  }

  :root .xs\:pl-24{
    padding-left: 6rem;
  }

  :root .xs\:pt-32{
    padding-top: 8rem;
  }

  :root .xs\:pr-32{
    padding-right: 8rem;
  }

  :root .xs\:pb-32{
    padding-bottom: 8rem;
  }

  :root .xs\:pl-32{
    padding-left: 8rem;
  }

  :root .xs\:pt-40{
    padding-top: 10rem;
  }

  :root .xs\:pr-40{
    padding-right: 10rem;
  }

  :root .xs\:pb-40{
    padding-bottom: 10rem;
  }

  :root .xs\:pl-40{
    padding-left: 10rem;
  }

  :root .xs\:pt-48{
    padding-top: 12rem;
  }

  :root .xs\:pr-48{
    padding-right: 12rem;
  }

  :root .xs\:pb-48{
    padding-bottom: 12rem;
  }

  :root .xs\:pl-48{
    padding-left: 12rem;
  }

  :root .xs\:pt-56{
    padding-top: 14rem;
  }

  :root .xs\:pr-56{
    padding-right: 14rem;
  }

  :root .xs\:pb-56{
    padding-bottom: 14rem;
  }

  :root .xs\:pl-56{
    padding-left: 14rem;
  }

  :root .xs\:pt-64{
    padding-top: 16rem;
  }

  :root .xs\:pr-64{
    padding-right: 16rem;
  }

  :root .xs\:pb-64{
    padding-bottom: 16rem;
  }

  :root .xs\:pl-64{
    padding-left: 16rem;
  }

  :root .xs\:pt-px{
    padding-top: 1px;
  }

  :root .xs\:pr-px{
    padding-right: 1px;
  }

  :root .xs\:pb-px{
    padding-bottom: 1px;
  }

  :root .xs\:pl-px{
    padding-left: 1px;
  }

  :root .xs\:pt-gutter{
    padding-top: var(--padding-gutter);
  }

  :root .xs\:pr-gutter{
    padding-right: var(--padding-gutter);
  }

  :root .xs\:pb-gutter{
    padding-bottom: var(--padding-gutter);
  }

  :root .xs\:pl-gutter{
    padding-left: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:p-0{
    padding: 0;
  }

  :root [dir=ltr] .xs\:ltr\:p-1{
    padding: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-2{
    padding: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-3{
    padding: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-4{
    padding: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-5{
    padding: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-6{
    padding: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-8{
    padding: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-9{
    padding: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-10{
    padding: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-12{
    padding: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-14{
    padding: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-16{
    padding: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-20{
    padding: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-24{
    padding: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-32{
    padding: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-40{
    padding: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-48{
    padding: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-56{
    padding: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-64{
    padding: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:p-px{
    padding: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:p-gutter{
    padding: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:py-0{
    padding-top: 0;
    padding-bottom: 0;
  }

  :root [dir=ltr] .xs\:ltr\:px-0{
    padding-left: 0;
    padding-right: 0;
  }

  :root [dir=ltr] .xs\:ltr\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-9{
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-9{
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-32{
    padding-left: 8rem;
    padding-right: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-40{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-40{
    padding-left: 10rem;
    padding-right: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-48{
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-48{
    padding-left: 12rem;
    padding-right: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-56{
    padding-top: 14rem;
    padding-bottom: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-56{
    padding-left: 14rem;
    padding-right: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-64{
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:px-64{
    padding-left: 16rem;
    padding-right: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:py-px{
    padding-top: 1px;
    padding-bottom: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:px-px{
    padding-left: 1px;
    padding-right: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:py-gutter{
    padding-top: var(--padding-gutter);
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:px-gutter{
    padding-left: var(--padding-gutter);
    padding-right: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:pt-0{
    padding-top: 0;
  }

  :root [dir=ltr] .xs\:ltr\:pr-0{
    padding-right: 0;
  }

  :root [dir=ltr] .xs\:ltr\:pb-0{
    padding-bottom: 0;
  }

  :root [dir=ltr] .xs\:ltr\:pl-0{
    padding-left: 0;
  }

  :root [dir=ltr] .xs\:ltr\:pt-1{
    padding-top: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-1{
    padding-right: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-1{
    padding-bottom: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-1{
    padding-left: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-2{
    padding-top: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-2{
    padding-right: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-2{
    padding-bottom: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-2{
    padding-left: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-3{
    padding-top: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-3{
    padding-right: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-3{
    padding-bottom: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-3{
    padding-left: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-4{
    padding-top: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-4{
    padding-right: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-4{
    padding-bottom: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-4{
    padding-left: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-5{
    padding-top: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-5{
    padding-right: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-5{
    padding-bottom: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-5{
    padding-left: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-6{
    padding-top: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-6{
    padding-right: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-6{
    padding-bottom: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-6{
    padding-left: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-8{
    padding-top: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-8{
    padding-right: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-8{
    padding-bottom: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-8{
    padding-left: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-9{
    padding-top: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-9{
    padding-right: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-9{
    padding-bottom: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-9{
    padding-left: 2.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-10{
    padding-top: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-10{
    padding-right: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-10{
    padding-bottom: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-10{
    padding-left: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-12{
    padding-top: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-12{
    padding-right: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-12{
    padding-bottom: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-12{
    padding-left: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-14{
    padding-top: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-14{
    padding-right: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-14{
    padding-bottom: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-14{
    padding-left: 3.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-16{
    padding-top: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-16{
    padding-right: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-16{
    padding-bottom: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-16{
    padding-left: 4rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-20{
    padding-top: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-20{
    padding-right: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-20{
    padding-bottom: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-20{
    padding-left: 5rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-24{
    padding-top: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-24{
    padding-right: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-24{
    padding-bottom: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-24{
    padding-left: 6rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-32{
    padding-top: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-32{
    padding-right: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-32{
    padding-bottom: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-32{
    padding-left: 8rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-40{
    padding-top: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-40{
    padding-right: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-40{
    padding-bottom: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-40{
    padding-left: 10rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-48{
    padding-top: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-48{
    padding-right: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-48{
    padding-bottom: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-48{
    padding-left: 12rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-56{
    padding-top: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-56{
    padding-right: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-56{
    padding-bottom: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-56{
    padding-left: 14rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-64{
    padding-top: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:pr-64{
    padding-right: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:pb-64{
    padding-bottom: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:pl-64{
    padding-left: 16rem;
  }

  :root [dir=ltr] .xs\:ltr\:pt-px{
    padding-top: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:pr-px{
    padding-right: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:pb-px{
    padding-bottom: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:pl-px{
    padding-left: 1px;
  }

  :root [dir=ltr] .xs\:ltr\:pt-gutter{
    padding-top: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:pr-gutter{
    padding-right: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:pb-gutter{
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .xs\:ltr\:pl-gutter{
    padding-left: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:p-0{
    padding: 0;
  }

  :root [dir=rtl] .xs\:rtl\:p-1{
    padding: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-2{
    padding: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-3{
    padding: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-4{
    padding: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-5{
    padding: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-6{
    padding: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-8{
    padding: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-9{
    padding: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-10{
    padding: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-12{
    padding: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-14{
    padding: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-16{
    padding: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-20{
    padding: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-24{
    padding: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-32{
    padding: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-40{
    padding: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-48{
    padding: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-56{
    padding: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-64{
    padding: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:p-px{
    padding: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:p-gutter{
    padding: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:py-0{
    padding-top: 0;
    padding-bottom: 0;
  }

  :root [dir=rtl] .xs\:rtl\:px-0{
    padding-left: 0;
    padding-right: 0;
  }

  :root [dir=rtl] .xs\:rtl\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-9{
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-9{
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-32{
    padding-left: 8rem;
    padding-right: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-40{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-40{
    padding-left: 10rem;
    padding-right: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-48{
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-48{
    padding-left: 12rem;
    padding-right: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-56{
    padding-top: 14rem;
    padding-bottom: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-56{
    padding-left: 14rem;
    padding-right: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-64{
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:px-64{
    padding-left: 16rem;
    padding-right: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:py-px{
    padding-top: 1px;
    padding-bottom: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:px-px{
    padding-left: 1px;
    padding-right: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:py-gutter{
    padding-top: var(--padding-gutter);
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:px-gutter{
    padding-left: var(--padding-gutter);
    padding-right: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:pt-0{
    padding-top: 0;
  }

  :root [dir=rtl] .xs\:rtl\:pr-0{
    padding-right: 0;
  }

  :root [dir=rtl] .xs\:rtl\:pb-0{
    padding-bottom: 0;
  }

  :root [dir=rtl] .xs\:rtl\:pl-0{
    padding-left: 0;
  }

  :root [dir=rtl] .xs\:rtl\:pt-1{
    padding-top: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-1{
    padding-right: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-1{
    padding-bottom: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-1{
    padding-left: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-2{
    padding-top: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-2{
    padding-right: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-2{
    padding-bottom: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-2{
    padding-left: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-3{
    padding-top: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-3{
    padding-right: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-3{
    padding-bottom: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-3{
    padding-left: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-4{
    padding-top: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-4{
    padding-right: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-4{
    padding-bottom: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-4{
    padding-left: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-5{
    padding-top: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-5{
    padding-right: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-5{
    padding-bottom: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-5{
    padding-left: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-6{
    padding-top: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-6{
    padding-right: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-6{
    padding-bottom: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-6{
    padding-left: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-8{
    padding-top: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-8{
    padding-right: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-8{
    padding-bottom: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-8{
    padding-left: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-9{
    padding-top: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-9{
    padding-right: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-9{
    padding-bottom: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-9{
    padding-left: 2.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-10{
    padding-top: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-10{
    padding-right: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-10{
    padding-bottom: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-10{
    padding-left: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-12{
    padding-top: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-12{
    padding-right: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-12{
    padding-bottom: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-12{
    padding-left: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-14{
    padding-top: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-14{
    padding-right: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-14{
    padding-bottom: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-14{
    padding-left: 3.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-16{
    padding-top: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-16{
    padding-right: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-16{
    padding-bottom: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-16{
    padding-left: 4rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-20{
    padding-top: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-20{
    padding-right: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-20{
    padding-bottom: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-20{
    padding-left: 5rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-24{
    padding-top: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-24{
    padding-right: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-24{
    padding-bottom: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-24{
    padding-left: 6rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-32{
    padding-top: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-32{
    padding-right: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-32{
    padding-bottom: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-32{
    padding-left: 8rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-40{
    padding-top: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-40{
    padding-right: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-40{
    padding-bottom: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-40{
    padding-left: 10rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-48{
    padding-top: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-48{
    padding-right: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-48{
    padding-bottom: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-48{
    padding-left: 12rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-56{
    padding-top: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-56{
    padding-right: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-56{
    padding-bottom: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-56{
    padding-left: 14rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-64{
    padding-top: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:pr-64{
    padding-right: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:pb-64{
    padding-bottom: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:pl-64{
    padding-left: 16rem;
  }

  :root [dir=rtl] .xs\:rtl\:pt-px{
    padding-top: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:pr-px{
    padding-right: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:pb-px{
    padding-bottom: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:pl-px{
    padding-left: 1px;
  }

  :root [dir=rtl] .xs\:rtl\:pt-gutter{
    padding-top: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:pr-gutter{
    padding-right: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:pb-gutter{
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .xs\:rtl\:pl-gutter{
    padding-left: var(--padding-gutter);
  }

  :root .xs\:placeholder-current::-moz-placeholder{
    color: currentColor;
  }

  :root .xs\:placeholder-current::placeholder{
    color: currentColor;
  }

  :root .xs\:placeholder-transparent::-moz-placeholder{
    color: transparent;
  }

  :root .xs\:placeholder-transparent::placeholder{
    color: transparent;
  }

  :root .xs\:placeholder-black::-moz-placeholder{
    color: var(--text-color);
  }

  :root .xs\:placeholder-black::placeholder{
    color: var(--text-color);
  }

  :root .xs\:placeholder-white::-moz-placeholder{
    color: var(--text-color-light);
  }

  :root .xs\:placeholder-white::placeholder{
    color: var(--text-color-light);
  }

  :root .xs\:placeholder-contrast-black::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-contrast-black::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-contrast-white::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-contrast-white::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-gray-light::-moz-placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:placeholder-gray-light::placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:placeholder-gray::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-gray::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-red-light::-moz-placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:placeholder-red-light::placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:placeholder-red::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-red::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-orange-light::-moz-placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:placeholder-orange-light::placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:placeholder-orange::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-orange::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-deep-orange-light::-moz-placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:placeholder-deep-orange-light::placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:placeholder-deep-orange::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-deep-orange::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-amber-light::-moz-placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:placeholder-amber-light::placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:placeholder-amber::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-amber::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-green-light::-moz-placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:placeholder-green-light::placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:placeholder-green::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-green::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-teal-light::-moz-placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:placeholder-teal-light::placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:placeholder-teal::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-teal::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-cyan-light::-moz-placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:placeholder-cyan-light::placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:placeholder-cyan::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-cyan::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-purple-light::-moz-placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:placeholder-purple-light::placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:placeholder-purple::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-purple::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-deep-purple-light::-moz-placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:placeholder-deep-purple-light::placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:placeholder-deep-purple::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-deep-purple::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-pink-light::-moz-placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:placeholder-pink-light::placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:placeholder-pink::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-pink::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .xs\:placeholder-primary-light::-moz-placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .xs\:placeholder-primary-light::placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .xs\:placeholder-primary::-moz-placeholder{
    color: rgb(var(--color-primary));
  }

  :root .xs\:placeholder-primary::placeholder{
    color: rgb(var(--color-primary));
  }

  :root .xs\:placeholder-accent-light::-moz-placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .xs\:placeholder-accent-light::placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .xs\:placeholder-accent::-moz-placeholder{
    color: rgb(var(--color-accent));
  }

  :root .xs\:placeholder-accent::placeholder{
    color: rgb(var(--color-accent));
  }

  :root .xs\:placeholder-warn-light::-moz-placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .xs\:placeholder-warn-light::placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .xs\:placeholder-warn::-moz-placeholder{
    color: rgb(var(--color-warn));
  }

  :root .xs\:placeholder-warn::placeholder{
    color: rgb(var(--color-warn));
  }

  :root .xs\:focus\:placeholder-current:focus::-moz-placeholder{
    color: currentColor;
  }

  :root .xs\:focus\:placeholder-current:focus::placeholder{
    color: currentColor;
  }

  :root .xs\:focus\:placeholder-transparent:focus::-moz-placeholder{
    color: transparent;
  }

  :root .xs\:focus\:placeholder-transparent:focus::placeholder{
    color: transparent;
  }

  :root .xs\:focus\:placeholder-black:focus::-moz-placeholder{
    color: var(--text-color);
  }

  :root .xs\:focus\:placeholder-black:focus::placeholder{
    color: var(--text-color);
  }

  :root .xs\:focus\:placeholder-white:focus::-moz-placeholder{
    color: var(--text-color-light);
  }

  :root .xs\:focus\:placeholder-white:focus::placeholder{
    color: var(--text-color-light);
  }

  :root .xs\:focus\:placeholder-contrast-black:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-contrast-black:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-contrast-white:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-contrast-white:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-gray-light:focus::-moz-placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:focus\:placeholder-gray-light:focus::placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:focus\:placeholder-gray:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-gray:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-red-light:focus::-moz-placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:focus\:placeholder-red-light:focus::placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:focus\:placeholder-red:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-red:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-orange-light:focus::-moz-placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:focus\:placeholder-orange-light:focus::placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:focus\:placeholder-orange:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-orange:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-deep-orange-light:focus::-moz-placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:focus\:placeholder-deep-orange-light:focus::placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:focus\:placeholder-deep-orange:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-deep-orange:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-amber-light:focus::-moz-placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:focus\:placeholder-amber-light:focus::placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:focus\:placeholder-amber:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-amber:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-green-light:focus::-moz-placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:focus\:placeholder-green-light:focus::placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:focus\:placeholder-green:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-green:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-teal-light:focus::-moz-placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:focus\:placeholder-teal-light:focus::placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:focus\:placeholder-teal:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-teal:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-cyan-light:focus::-moz-placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:focus\:placeholder-cyan-light:focus::placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:focus\:placeholder-cyan:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-cyan:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-purple-light:focus::-moz-placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:focus\:placeholder-purple-light:focus::placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:focus\:placeholder-purple:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-purple:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-deep-purple-light:focus::-moz-placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:focus\:placeholder-deep-purple-light:focus::placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:focus\:placeholder-deep-purple:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-deep-purple:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-pink-light:focus::-moz-placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:focus\:placeholder-pink-light:focus::placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:focus\:placeholder-pink:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-pink:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .xs\:focus\:placeholder-primary-light:focus::-moz-placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .xs\:focus\:placeholder-primary-light:focus::placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .xs\:focus\:placeholder-primary:focus::-moz-placeholder{
    color: rgb(var(--color-primary));
  }

  :root .xs\:focus\:placeholder-primary:focus::placeholder{
    color: rgb(var(--color-primary));
  }

  :root .xs\:focus\:placeholder-accent-light:focus::-moz-placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .xs\:focus\:placeholder-accent-light:focus::placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .xs\:focus\:placeholder-accent:focus::-moz-placeholder{
    color: rgb(var(--color-accent));
  }

  :root .xs\:focus\:placeholder-accent:focus::placeholder{
    color: rgb(var(--color-accent));
  }

  :root .xs\:focus\:placeholder-warn-light:focus::-moz-placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .xs\:focus\:placeholder-warn-light:focus::placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .xs\:focus\:placeholder-warn:focus::-moz-placeholder{
    color: rgb(var(--color-warn));
  }

  :root .xs\:focus\:placeholder-warn:focus::placeholder{
    color: rgb(var(--color-warn));
  }

  :root .xs\:placeholder-opacity-0::-moz-placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .xs\:placeholder-opacity-0::placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .xs\:placeholder-opacity-25::-moz-placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .xs\:placeholder-opacity-25::placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .xs\:placeholder-opacity-50::-moz-placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .xs\:placeholder-opacity-50::placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .xs\:placeholder-opacity-75::-moz-placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .xs\:placeholder-opacity-75::placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .xs\:placeholder-opacity-100::-moz-placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .xs\:placeholder-opacity-100::placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .xs\:focus\:placeholder-opacity-0:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .xs\:focus\:placeholder-opacity-0:focus::placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .xs\:focus\:placeholder-opacity-25:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .xs\:focus\:placeholder-opacity-25:focus::placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .xs\:focus\:placeholder-opacity-50:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .xs\:focus\:placeholder-opacity-50:focus::placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .xs\:focus\:placeholder-opacity-75:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .xs\:focus\:placeholder-opacity-75:focus::placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .xs\:focus\:placeholder-opacity-100:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .xs\:focus\:placeholder-opacity-100:focus::placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .xs\:pointer-events-none{
    pointer-events: none;
  }

  :root .xs\:pointer-events-auto{
    pointer-events: auto;
  }

  :root .xs\:static{
    position: static;
  }

  :root .xs\:fixed{
    position: fixed;
  }

  :root .xs\:absolute{
    position: absolute;
  }

  :root .xs\:relative{
    position: relative;
  }

  :root .xs\:sticky{
    position: sticky;
  }

  :root .xs\:inset-0{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  :root .xs\:inset-1{
    top: 0.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
  }

  :root .xs\:inset-2{
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }

  :root .xs\:inset-3{
    top: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
  }

  :root .xs\:inset-4{
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
  }

  :root .xs\:inset-5{
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }

  :root .xs\:inset-6{
    top: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
  }

  :root .xs\:inset-8{
    top: 2rem;
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }

  :root .xs\:inset-10{
    top: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;
    left: 2.5rem;
  }

  :root .xs\:inset-12{
    top: 3rem;
    right: 3rem;
    bottom: 3rem;
    left: 3rem;
  }

  :root .xs\:-inset-1{
    top: -0.25rem;
    right: -0.25rem;
    bottom: -0.25rem;
    left: -0.25rem;
  }

  :root .xs\:-inset-2{
    top: -0.5rem;
    right: -0.5rem;
    bottom: -0.5rem;
    left: -0.5rem;
  }

  :root .xs\:-inset-3{
    top: -0.75rem;
    right: -0.75rem;
    bottom: -0.75rem;
    left: -0.75rem;
  }

  :root .xs\:-inset-4{
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem;
  }

  :root .xs\:-inset-5{
    top: -1.25rem;
    right: -1.25rem;
    bottom: -1.25rem;
    left: -1.25rem;
  }

  :root .xs\:-inset-6{
    top: -1.5rem;
    right: -1.5rem;
    bottom: -1.5rem;
    left: -1.5rem;
  }

  :root .xs\:-inset-8{
    top: -2rem;
    right: -2rem;
    bottom: -2rem;
    left: -2rem;
  }

  :root .xs\:-inset-10{
    top: -2.5rem;
    right: -2.5rem;
    bottom: -2.5rem;
    left: -2.5rem;
  }

  :root .xs\:-inset-12{
    top: -3rem;
    right: -3rem;
    bottom: -3rem;
    left: -3rem;
  }

  :root .xs\:inset-auto{
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }

  :root .xs\:inset-y-0{
    top: 0;
    bottom: 0;
  }

  :root .xs\:inset-x-0{
    right: 0;
    left: 0;
  }

  :root .xs\:inset-y-1{
    top: 0.25rem;
    bottom: 0.25rem;
  }

  :root .xs\:inset-x-1{
    right: 0.25rem;
    left: 0.25rem;
  }

  :root .xs\:inset-y-2{
    top: 0.5rem;
    bottom: 0.5rem;
  }

  :root .xs\:inset-x-2{
    right: 0.5rem;
    left: 0.5rem;
  }

  :root .xs\:inset-y-3{
    top: 0.75rem;
    bottom: 0.75rem;
  }

  :root .xs\:inset-x-3{
    right: 0.75rem;
    left: 0.75rem;
  }

  :root .xs\:inset-y-4{
    top: 1rem;
    bottom: 1rem;
  }

  :root .xs\:inset-x-4{
    right: 1rem;
    left: 1rem;
  }

  :root .xs\:inset-y-5{
    top: 1.25rem;
    bottom: 1.25rem;
  }

  :root .xs\:inset-x-5{
    right: 1.25rem;
    left: 1.25rem;
  }

  :root .xs\:inset-y-6{
    top: 1.5rem;
    bottom: 1.5rem;
  }

  :root .xs\:inset-x-6{
    right: 1.5rem;
    left: 1.5rem;
  }

  :root .xs\:inset-y-8{
    top: 2rem;
    bottom: 2rem;
  }

  :root .xs\:inset-x-8{
    right: 2rem;
    left: 2rem;
  }

  :root .xs\:inset-y-10{
    top: 2.5rem;
    bottom: 2.5rem;
  }

  :root .xs\:inset-x-10{
    right: 2.5rem;
    left: 2.5rem;
  }

  :root .xs\:inset-y-12{
    top: 3rem;
    bottom: 3rem;
  }

  :root .xs\:inset-x-12{
    right: 3rem;
    left: 3rem;
  }

  :root .xs\:-inset-y-1{
    top: -0.25rem;
    bottom: -0.25rem;
  }

  :root .xs\:-inset-x-1{
    right: -0.25rem;
    left: -0.25rem;
  }

  :root .xs\:-inset-y-2{
    top: -0.5rem;
    bottom: -0.5rem;
  }

  :root .xs\:-inset-x-2{
    right: -0.5rem;
    left: -0.5rem;
  }

  :root .xs\:-inset-y-3{
    top: -0.75rem;
    bottom: -0.75rem;
  }

  :root .xs\:-inset-x-3{
    right: -0.75rem;
    left: -0.75rem;
  }

  :root .xs\:-inset-y-4{
    top: -1rem;
    bottom: -1rem;
  }

  :root .xs\:-inset-x-4{
    right: -1rem;
    left: -1rem;
  }

  :root .xs\:-inset-y-5{
    top: -1.25rem;
    bottom: -1.25rem;
  }

  :root .xs\:-inset-x-5{
    right: -1.25rem;
    left: -1.25rem;
  }

  :root .xs\:-inset-y-6{
    top: -1.5rem;
    bottom: -1.5rem;
  }

  :root .xs\:-inset-x-6{
    right: -1.5rem;
    left: -1.5rem;
  }

  :root .xs\:-inset-y-8{
    top: -2rem;
    bottom: -2rem;
  }

  :root .xs\:-inset-x-8{
    right: -2rem;
    left: -2rem;
  }

  :root .xs\:-inset-y-10{
    top: -2.5rem;
    bottom: -2.5rem;
  }

  :root .xs\:-inset-x-10{
    right: -2.5rem;
    left: -2.5rem;
  }

  :root .xs\:-inset-y-12{
    top: -3rem;
    bottom: -3rem;
  }

  :root .xs\:-inset-x-12{
    right: -3rem;
    left: -3rem;
  }

  :root .xs\:inset-y-auto{
    top: auto;
    bottom: auto;
  }

  :root .xs\:inset-x-auto{
    right: auto;
    left: auto;
  }

  :root .xs\:top-0{
    top: 0;
  }

  :root .xs\:right-0{
    right: 0;
  }

  :root .xs\:bottom-0{
    bottom: 0;
  }

  :root .xs\:left-0{
    left: 0;
  }

  :root .xs\:top-1{
    top: 0.25rem;
  }

  :root .xs\:right-1{
    right: 0.25rem;
  }

  :root .xs\:bottom-1{
    bottom: 0.25rem;
  }

  :root .xs\:left-1{
    left: 0.25rem;
  }

  :root .xs\:top-2{
    top: 0.5rem;
  }

  :root .xs\:right-2{
    right: 0.5rem;
  }

  :root .xs\:bottom-2{
    bottom: 0.5rem;
  }

  :root .xs\:left-2{
    left: 0.5rem;
  }

  :root .xs\:top-3{
    top: 0.75rem;
  }

  :root .xs\:right-3{
    right: 0.75rem;
  }

  :root .xs\:bottom-3{
    bottom: 0.75rem;
  }

  :root .xs\:left-3{
    left: 0.75rem;
  }

  :root .xs\:top-4{
    top: 1rem;
  }

  :root .xs\:right-4{
    right: 1rem;
  }

  :root .xs\:bottom-4{
    bottom: 1rem;
  }

  :root .xs\:left-4{
    left: 1rem;
  }

  :root .xs\:top-5{
    top: 1.25rem;
  }

  :root .xs\:right-5{
    right: 1.25rem;
  }

  :root .xs\:bottom-5{
    bottom: 1.25rem;
  }

  :root .xs\:left-5{
    left: 1.25rem;
  }

  :root .xs\:top-6{
    top: 1.5rem;
  }

  :root .xs\:right-6{
    right: 1.5rem;
  }

  :root .xs\:bottom-6{
    bottom: 1.5rem;
  }

  :root .xs\:left-6{
    left: 1.5rem;
  }

  :root .xs\:top-8{
    top: 2rem;
  }

  :root .xs\:right-8{
    right: 2rem;
  }

  :root .xs\:bottom-8{
    bottom: 2rem;
  }

  :root .xs\:left-8{
    left: 2rem;
  }

  :root .xs\:top-10{
    top: 2.5rem;
  }

  :root .xs\:right-10{
    right: 2.5rem;
  }

  :root .xs\:bottom-10{
    bottom: 2.5rem;
  }

  :root .xs\:left-10{
    left: 2.5rem;
  }

  :root .xs\:top-12{
    top: 3rem;
  }

  :root .xs\:right-12{
    right: 3rem;
  }

  :root .xs\:bottom-12{
    bottom: 3rem;
  }

  :root .xs\:left-12{
    left: 3rem;
  }

  :root .xs\:-top-1{
    top: -0.25rem;
  }

  :root .xs\:-right-1{
    right: -0.25rem;
  }

  :root .xs\:-bottom-1{
    bottom: -0.25rem;
  }

  :root .xs\:-left-1{
    left: -0.25rem;
  }

  :root .xs\:-top-2{
    top: -0.5rem;
  }

  :root .xs\:-right-2{
    right: -0.5rem;
  }

  :root .xs\:-bottom-2{
    bottom: -0.5rem;
  }

  :root .xs\:-left-2{
    left: -0.5rem;
  }

  :root .xs\:-top-3{
    top: -0.75rem;
  }

  :root .xs\:-right-3{
    right: -0.75rem;
  }

  :root .xs\:-bottom-3{
    bottom: -0.75rem;
  }

  :root .xs\:-left-3{
    left: -0.75rem;
  }

  :root .xs\:-top-4{
    top: -1rem;
  }

  :root .xs\:-right-4{
    right: -1rem;
  }

  :root .xs\:-bottom-4{
    bottom: -1rem;
  }

  :root .xs\:-left-4{
    left: -1rem;
  }

  :root .xs\:-top-5{
    top: -1.25rem;
  }

  :root .xs\:-right-5{
    right: -1.25rem;
  }

  :root .xs\:-bottom-5{
    bottom: -1.25rem;
  }

  :root .xs\:-left-5{
    left: -1.25rem;
  }

  :root .xs\:-top-6{
    top: -1.5rem;
  }

  :root .xs\:-right-6{
    right: -1.5rem;
  }

  :root .xs\:-bottom-6{
    bottom: -1.5rem;
  }

  :root .xs\:-left-6{
    left: -1.5rem;
  }

  :root .xs\:-top-8{
    top: -2rem;
  }

  :root .xs\:-right-8{
    right: -2rem;
  }

  :root .xs\:-bottom-8{
    bottom: -2rem;
  }

  :root .xs\:-left-8{
    left: -2rem;
  }

  :root .xs\:-top-10{
    top: -2.5rem;
  }

  :root .xs\:-right-10{
    right: -2.5rem;
  }

  :root .xs\:-bottom-10{
    bottom: -2.5rem;
  }

  :root .xs\:-left-10{
    left: -2.5rem;
  }

  :root .xs\:-top-12{
    top: -3rem;
  }

  :root .xs\:-right-12{
    right: -3rem;
  }

  :root .xs\:-bottom-12{
    bottom: -3rem;
  }

  :root .xs\:-left-12{
    left: -3rem;
  }

  :root .xs\:top-auto{
    top: auto;
  }

  :root .xs\:right-auto{
    right: auto;
  }

  :root .xs\:bottom-auto{
    bottom: auto;
  }

  :root .xs\:left-auto{
    left: auto;
  }

  :root [dir=ltr] .xs\:ltr\:inset-0{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  :root [dir=ltr] .xs\:ltr\:inset-1{
    top: 0.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-2{
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-3{
    top: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-4{
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-5{
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-6{
    top: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-8{
    top: 2rem;
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-10{
    top: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-12{
    top: 3rem;
    right: 3rem;
    bottom: 3rem;
    left: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-1{
    top: -0.25rem;
    right: -0.25rem;
    bottom: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-2{
    top: -0.5rem;
    right: -0.5rem;
    bottom: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-3{
    top: -0.75rem;
    right: -0.75rem;
    bottom: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-4{
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-5{
    top: -1.25rem;
    right: -1.25rem;
    bottom: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-6{
    top: -1.5rem;
    right: -1.5rem;
    bottom: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-8{
    top: -2rem;
    right: -2rem;
    bottom: -2rem;
    left: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-10{
    top: -2.5rem;
    right: -2.5rem;
    bottom: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-12{
    top: -3rem;
    right: -3rem;
    bottom: -3rem;
    left: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-auto{
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }

  :root [dir=ltr] .xs\:ltr\:inset-y-0{
    top: 0;
    bottom: 0;
  }

  :root [dir=ltr] .xs\:ltr\:inset-x-0{
    right: 0;
    left: 0;
  }

  :root [dir=ltr] .xs\:ltr\:inset-y-1{
    top: 0.25rem;
    bottom: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-x-1{
    right: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-y-2{
    top: 0.5rem;
    bottom: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-x-2{
    right: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-y-3{
    top: 0.75rem;
    bottom: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-x-3{
    right: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-y-4{
    top: 1rem;
    bottom: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-x-4{
    right: 1rem;
    left: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-y-5{
    top: 1.25rem;
    bottom: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-x-5{
    right: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-y-6{
    top: 1.5rem;
    bottom: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-x-6{
    right: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-y-8{
    top: 2rem;
    bottom: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-x-8{
    right: 2rem;
    left: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-y-10{
    top: 2.5rem;
    bottom: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-x-10{
    right: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-y-12{
    top: 3rem;
    bottom: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-x-12{
    right: 3rem;
    left: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-y-1{
    top: -0.25rem;
    bottom: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-x-1{
    right: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-y-2{
    top: -0.5rem;
    bottom: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-x-2{
    right: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-y-3{
    top: -0.75rem;
    bottom: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-x-3{
    right: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-y-4{
    top: -1rem;
    bottom: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-x-4{
    right: -1rem;
    left: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-y-5{
    top: -1.25rem;
    bottom: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-x-5{
    right: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-y-6{
    top: -1.5rem;
    bottom: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-x-6{
    right: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-y-8{
    top: -2rem;
    bottom: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-x-8{
    right: -2rem;
    left: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-y-10{
    top: -2.5rem;
    bottom: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-x-10{
    right: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-y-12{
    top: -3rem;
    bottom: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-inset-x-12{
    right: -3rem;
    left: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:inset-y-auto{
    top: auto;
    bottom: auto;
  }

  :root [dir=ltr] .xs\:ltr\:inset-x-auto{
    right: auto;
    left: auto;
  }

  :root [dir=ltr] .xs\:ltr\:top-0{
    top: 0;
  }

  :root [dir=ltr] .xs\:ltr\:right-0{
    right: 0;
  }

  :root [dir=ltr] .xs\:ltr\:bottom-0{
    bottom: 0;
  }

  :root [dir=ltr] .xs\:ltr\:left-0{
    left: 0;
  }

  :root [dir=ltr] .xs\:ltr\:top-1{
    top: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:right-1{
    right: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:bottom-1{
    bottom: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:left-1{
    left: 0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:top-2{
    top: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:right-2{
    right: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:bottom-2{
    bottom: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:left-2{
    left: 0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:top-3{
    top: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:right-3{
    right: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:bottom-3{
    bottom: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:left-3{
    left: 0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:top-4{
    top: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:right-4{
    right: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:bottom-4{
    bottom: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:left-4{
    left: 1rem;
  }

  :root [dir=ltr] .xs\:ltr\:top-5{
    top: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:right-5{
    right: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:bottom-5{
    bottom: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:left-5{
    left: 1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:top-6{
    top: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:right-6{
    right: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:bottom-6{
    bottom: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:left-6{
    left: 1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:top-8{
    top: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:right-8{
    right: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:bottom-8{
    bottom: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:left-8{
    left: 2rem;
  }

  :root [dir=ltr] .xs\:ltr\:top-10{
    top: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:right-10{
    right: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:bottom-10{
    bottom: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:left-10{
    left: 2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:top-12{
    top: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:right-12{
    right: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:bottom-12{
    bottom: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:left-12{
    left: 3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-top-1{
    top: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-right-1{
    right: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-bottom-1{
    bottom: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-left-1{
    left: -0.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-top-2{
    top: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-right-2{
    right: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-bottom-2{
    bottom: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-left-2{
    left: -0.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-top-3{
    top: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-right-3{
    right: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-bottom-3{
    bottom: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-left-3{
    left: -0.75rem;
  }

  :root [dir=ltr] .xs\:ltr\:-top-4{
    top: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-right-4{
    right: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-bottom-4{
    bottom: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-left-4{
    left: -1rem;
  }

  :root [dir=ltr] .xs\:ltr\:-top-5{
    top: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-right-5{
    right: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-bottom-5{
    bottom: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-left-5{
    left: -1.25rem;
  }

  :root [dir=ltr] .xs\:ltr\:-top-6{
    top: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-right-6{
    right: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-bottom-6{
    bottom: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-left-6{
    left: -1.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-top-8{
    top: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-right-8{
    right: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-bottom-8{
    bottom: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-left-8{
    left: -2rem;
  }

  :root [dir=ltr] .xs\:ltr\:-top-10{
    top: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-right-10{
    right: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-bottom-10{
    bottom: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-left-10{
    left: -2.5rem;
  }

  :root [dir=ltr] .xs\:ltr\:-top-12{
    top: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-right-12{
    right: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-bottom-12{
    bottom: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:-left-12{
    left: -3rem;
  }

  :root [dir=ltr] .xs\:ltr\:top-auto{
    top: auto;
  }

  :root [dir=ltr] .xs\:ltr\:right-auto{
    right: auto;
  }

  :root [dir=ltr] .xs\:ltr\:bottom-auto{
    bottom: auto;
  }

  :root [dir=ltr] .xs\:ltr\:left-auto{
    left: auto;
  }

  :root [dir=rtl] .xs\:rtl\:inset-0{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  :root [dir=rtl] .xs\:rtl\:inset-1{
    top: 0.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-2{
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-3{
    top: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-4{
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-5{
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-6{
    top: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-8{
    top: 2rem;
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-10{
    top: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-12{
    top: 3rem;
    right: 3rem;
    bottom: 3rem;
    left: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-1{
    top: -0.25rem;
    right: -0.25rem;
    bottom: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-2{
    top: -0.5rem;
    right: -0.5rem;
    bottom: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-3{
    top: -0.75rem;
    right: -0.75rem;
    bottom: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-4{
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-5{
    top: -1.25rem;
    right: -1.25rem;
    bottom: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-6{
    top: -1.5rem;
    right: -1.5rem;
    bottom: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-8{
    top: -2rem;
    right: -2rem;
    bottom: -2rem;
    left: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-10{
    top: -2.5rem;
    right: -2.5rem;
    bottom: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-12{
    top: -3rem;
    right: -3rem;
    bottom: -3rem;
    left: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-auto{
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }

  :root [dir=rtl] .xs\:rtl\:inset-y-0{
    top: 0;
    bottom: 0;
  }

  :root [dir=rtl] .xs\:rtl\:inset-x-0{
    right: 0;
    left: 0;
  }

  :root [dir=rtl] .xs\:rtl\:inset-y-1{
    top: 0.25rem;
    bottom: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-x-1{
    right: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-y-2{
    top: 0.5rem;
    bottom: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-x-2{
    right: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-y-3{
    top: 0.75rem;
    bottom: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-x-3{
    right: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-y-4{
    top: 1rem;
    bottom: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-x-4{
    right: 1rem;
    left: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-y-5{
    top: 1.25rem;
    bottom: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-x-5{
    right: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-y-6{
    top: 1.5rem;
    bottom: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-x-6{
    right: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-y-8{
    top: 2rem;
    bottom: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-x-8{
    right: 2rem;
    left: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-y-10{
    top: 2.5rem;
    bottom: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-x-10{
    right: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-y-12{
    top: 3rem;
    bottom: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-x-12{
    right: 3rem;
    left: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-y-1{
    top: -0.25rem;
    bottom: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-x-1{
    right: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-y-2{
    top: -0.5rem;
    bottom: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-x-2{
    right: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-y-3{
    top: -0.75rem;
    bottom: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-x-3{
    right: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-y-4{
    top: -1rem;
    bottom: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-x-4{
    right: -1rem;
    left: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-y-5{
    top: -1.25rem;
    bottom: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-x-5{
    right: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-y-6{
    top: -1.5rem;
    bottom: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-x-6{
    right: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-y-8{
    top: -2rem;
    bottom: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-x-8{
    right: -2rem;
    left: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-y-10{
    top: -2.5rem;
    bottom: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-x-10{
    right: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-y-12{
    top: -3rem;
    bottom: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-inset-x-12{
    right: -3rem;
    left: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:inset-y-auto{
    top: auto;
    bottom: auto;
  }

  :root [dir=rtl] .xs\:rtl\:inset-x-auto{
    right: auto;
    left: auto;
  }

  :root [dir=rtl] .xs\:rtl\:top-0{
    top: 0;
  }

  :root [dir=rtl] .xs\:rtl\:right-0{
    right: 0;
  }

  :root [dir=rtl] .xs\:rtl\:bottom-0{
    bottom: 0;
  }

  :root [dir=rtl] .xs\:rtl\:left-0{
    left: 0;
  }

  :root [dir=rtl] .xs\:rtl\:top-1{
    top: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:right-1{
    right: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:bottom-1{
    bottom: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:left-1{
    left: 0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:top-2{
    top: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:right-2{
    right: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:bottom-2{
    bottom: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:left-2{
    left: 0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:top-3{
    top: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:right-3{
    right: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:bottom-3{
    bottom: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:left-3{
    left: 0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:top-4{
    top: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:right-4{
    right: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:bottom-4{
    bottom: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:left-4{
    left: 1rem;
  }

  :root [dir=rtl] .xs\:rtl\:top-5{
    top: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:right-5{
    right: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:bottom-5{
    bottom: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:left-5{
    left: 1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:top-6{
    top: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:right-6{
    right: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:bottom-6{
    bottom: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:left-6{
    left: 1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:top-8{
    top: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:right-8{
    right: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:bottom-8{
    bottom: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:left-8{
    left: 2rem;
  }

  :root [dir=rtl] .xs\:rtl\:top-10{
    top: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:right-10{
    right: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:bottom-10{
    bottom: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:left-10{
    left: 2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:top-12{
    top: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:right-12{
    right: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:bottom-12{
    bottom: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:left-12{
    left: 3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-top-1{
    top: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-right-1{
    right: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-bottom-1{
    bottom: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-left-1{
    left: -0.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-top-2{
    top: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-right-2{
    right: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-bottom-2{
    bottom: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-left-2{
    left: -0.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-top-3{
    top: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-right-3{
    right: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-bottom-3{
    bottom: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-left-3{
    left: -0.75rem;
  }

  :root [dir=rtl] .xs\:rtl\:-top-4{
    top: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-right-4{
    right: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-bottom-4{
    bottom: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-left-4{
    left: -1rem;
  }

  :root [dir=rtl] .xs\:rtl\:-top-5{
    top: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-right-5{
    right: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-bottom-5{
    bottom: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-left-5{
    left: -1.25rem;
  }

  :root [dir=rtl] .xs\:rtl\:-top-6{
    top: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-right-6{
    right: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-bottom-6{
    bottom: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-left-6{
    left: -1.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-top-8{
    top: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-right-8{
    right: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-bottom-8{
    bottom: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-left-8{
    left: -2rem;
  }

  :root [dir=rtl] .xs\:rtl\:-top-10{
    top: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-right-10{
    right: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-bottom-10{
    bottom: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-left-10{
    left: -2.5rem;
  }

  :root [dir=rtl] .xs\:rtl\:-top-12{
    top: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-right-12{
    right: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-bottom-12{
    bottom: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:-left-12{
    left: -3rem;
  }

  :root [dir=rtl] .xs\:rtl\:top-auto{
    top: auto;
  }

  :root [dir=rtl] .xs\:rtl\:right-auto{
    right: auto;
  }

  :root [dir=rtl] .xs\:rtl\:bottom-auto{
    bottom: auto;
  }

  :root [dir=rtl] .xs\:rtl\:left-auto{
    left: auto;
  }

  :root .xs\:resize-none{
    resize: none;
  }

  :root .xs\:resize-y{
    resize: vertical;
  }

  :root .xs\:resize-x{
    resize: horizontal;
  }

  :root .xs\:resize{
    resize: both;
  }

  :root .xs\:shadow-1{
    --tw-shadow: var(--elevation-z1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-2{
    --tw-shadow: var(--elevation-z2);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-3{
    --tw-shadow: var(--elevation-z3);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-4{
    --tw-shadow: var(--elevation-z4);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-5{
    --tw-shadow: var(--elevation-z5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-6{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-7{
    --tw-shadow: var(--elevation-z7);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-9{
    --tw-shadow: var(--elevation-z9);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-10{
    --tw-shadow: var(--elevation-z10);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-11{
    --tw-shadow: var(--elevation-z11);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-12{
    --tw-shadow: var(--elevation-z12);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-13{
    --tw-shadow: var(--elevation-z13);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-14{
    --tw-shadow: var(--elevation-z14);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-15{
    --tw-shadow: var(--elevation-z15);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-16{
    --tw-shadow: var(--elevation-z16);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-17{
    --tw-shadow: var(--elevation-z17);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-18{
    --tw-shadow: var(--elevation-z18);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-19{
    --tw-shadow: var(--elevation-z19);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-20{
    --tw-shadow: var(--elevation-z20);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-md{
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-lg{
    --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-xl{
    --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-2xl{
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-inner{
    --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-outline{
    --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-none{
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:shadow-b{
    --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-1:hover{
    --tw-shadow: var(--elevation-z1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-2:hover{
    --tw-shadow: var(--elevation-z2);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-3:hover{
    --tw-shadow: var(--elevation-z3);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-4:hover{
    --tw-shadow: var(--elevation-z4);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-5:hover{
    --tw-shadow: var(--elevation-z5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-6:hover{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-7:hover{
    --tw-shadow: var(--elevation-z7);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-9:hover{
    --tw-shadow: var(--elevation-z9);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-10:hover{
    --tw-shadow: var(--elevation-z10);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-11:hover{
    --tw-shadow: var(--elevation-z11);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-12:hover{
    --tw-shadow: var(--elevation-z12);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-13:hover{
    --tw-shadow: var(--elevation-z13);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-14:hover{
    --tw-shadow: var(--elevation-z14);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-15:hover{
    --tw-shadow: var(--elevation-z15);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-16:hover{
    --tw-shadow: var(--elevation-z16);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-17:hover{
    --tw-shadow: var(--elevation-z17);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-18:hover{
    --tw-shadow: var(--elevation-z18);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-19:hover{
    --tw-shadow: var(--elevation-z19);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-20:hover{
    --tw-shadow: var(--elevation-z20);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow:hover{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-md:hover{
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-lg:hover{
    --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-xl:hover{
    --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-2xl:hover{
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-inner:hover{
    --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-outline:hover{
    --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-none:hover{
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:hover\:shadow-b:hover{
    --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-1:focus{
    --tw-shadow: var(--elevation-z1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-2:focus{
    --tw-shadow: var(--elevation-z2);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-3:focus{
    --tw-shadow: var(--elevation-z3);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-4:focus{
    --tw-shadow: var(--elevation-z4);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-5:focus{
    --tw-shadow: var(--elevation-z5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-6:focus{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-7:focus{
    --tw-shadow: var(--elevation-z7);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-9:focus{
    --tw-shadow: var(--elevation-z9);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-10:focus{
    --tw-shadow: var(--elevation-z10);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-11:focus{
    --tw-shadow: var(--elevation-z11);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-12:focus{
    --tw-shadow: var(--elevation-z12);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-13:focus{
    --tw-shadow: var(--elevation-z13);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-14:focus{
    --tw-shadow: var(--elevation-z14);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-15:focus{
    --tw-shadow: var(--elevation-z15);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-16:focus{
    --tw-shadow: var(--elevation-z16);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-17:focus{
    --tw-shadow: var(--elevation-z17);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-18:focus{
    --tw-shadow: var(--elevation-z18);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-19:focus{
    --tw-shadow: var(--elevation-z19);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-20:focus{
    --tw-shadow: var(--elevation-z20);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow:focus{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-md:focus{
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-lg:focus{
    --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-xl:focus{
    --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-2xl:focus{
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-inner:focus{
    --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-outline:focus{
    --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-none:focus{
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:focus\:shadow-b:focus{
    --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .xs\:ring-0{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:ring-1{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:ring-2{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:ring-4{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:ring-8{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:ring{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:ring-inset{
    --tw-ring-inset: inset;
  }

  :root .xs\:focus-within\:ring-0:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:focus-within\:ring-1:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:focus-within\:ring-2:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:focus-within\:ring-4:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:focus-within\:ring-8:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:focus-within\:ring:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:focus-within\:ring-inset:focus-within{
    --tw-ring-inset: inset;
  }

  :root .xs\:focus\:ring-0:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:focus\:ring-1:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:focus\:ring-2:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:focus\:ring-4:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:focus\:ring-8:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:focus\:ring:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .xs\:focus\:ring-inset:focus{
    --tw-ring-inset: inset;
  }

  :root .xs\:ring-offset-current{
    --tw-ring-offset-color: currentColor;
  }

  :root .xs\:ring-offset-transparent{
    --tw-ring-offset-color: transparent;
  }

  :root .xs\:ring-offset-black{
    --tw-ring-offset-color: var(--text-color);
  }

  :root .xs\:ring-offset-white{
    --tw-ring-offset-color: var(--text-color-light);
  }

  :root .xs\:ring-offset-contrast-black{
    --tw-ring-offset-color: black;
  }

  :root .xs\:ring-offset-contrast-white{
    --tw-ring-offset-color: white;
  }

  :root .xs\:ring-offset-gray-light{
    --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:ring-offset-gray{
    --tw-ring-offset-color: rgb(158, 158, 158);
  }

  :root .xs\:ring-offset-red-light{
    --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:ring-offset-red{
    --tw-ring-offset-color: rgb(244, 67, 54);
  }

  :root .xs\:ring-offset-orange-light{
    --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:ring-offset-orange{
    --tw-ring-offset-color: rgb(255, 152, 0);
  }

  :root .xs\:ring-offset-deep-orange-light{
    --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:ring-offset-deep-orange{
    --tw-ring-offset-color: rgb(255, 87, 34);
  }

  :root .xs\:ring-offset-amber-light{
    --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:ring-offset-amber{
    --tw-ring-offset-color: rgb(255, 193, 7);
  }

  :root .xs\:ring-offset-green-light{
    --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:ring-offset-green{
    --tw-ring-offset-color: rgb(76, 175, 80);
  }

  :root .xs\:ring-offset-teal-light{
    --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:ring-offset-teal{
    --tw-ring-offset-color: rgb(0, 150, 136);
  }

  :root .xs\:ring-offset-cyan-light{
    --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:ring-offset-cyan{
    --tw-ring-offset-color: rgb(0, 188, 212);
  }

  :root .xs\:ring-offset-purple-light{
    --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:ring-offset-purple{
    --tw-ring-offset-color: rgb(156, 39, 176);
  }

  :root .xs\:ring-offset-deep-purple-light{
    --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:ring-offset-deep-purple{
    --tw-ring-offset-color: rgb(103, 58, 183);
  }

  :root .xs\:ring-offset-pink-light{
    --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:ring-offset-pink{
    --tw-ring-offset-color: rgb(233, 30, 99);
  }

  :root .xs\:ring-offset-primary-light{
    --tw-ring-offset-color: rgba(var(--color-primary), .1);
  }

  :root .xs\:ring-offset-primary{
    --tw-ring-offset-color: rgb(var(--color-primary));
  }

  :root .xs\:ring-offset-accent-light{
    --tw-ring-offset-color: rgba(var(--color-accent), .1);
  }

  :root .xs\:ring-offset-accent{
    --tw-ring-offset-color: rgb(var(--color-accent));
  }

  :root .xs\:ring-offset-warn-light{
    --tw-ring-offset-color: rgba(var(--color-warn), .1);
  }

  :root .xs\:ring-offset-warn{
    --tw-ring-offset-color: rgb(var(--color-warn));
  }

  :root .xs\:focus-within\:ring-offset-current:focus-within{
    --tw-ring-offset-color: currentColor;
  }

  :root .xs\:focus-within\:ring-offset-transparent:focus-within{
    --tw-ring-offset-color: transparent;
  }

  :root .xs\:focus-within\:ring-offset-black:focus-within{
    --tw-ring-offset-color: var(--text-color);
  }

  :root .xs\:focus-within\:ring-offset-white:focus-within{
    --tw-ring-offset-color: var(--text-color-light);
  }

  :root .xs\:focus-within\:ring-offset-contrast-black:focus-within{
    --tw-ring-offset-color: black;
  }

  :root .xs\:focus-within\:ring-offset-contrast-white:focus-within{
    --tw-ring-offset-color: white;
  }

  :root .xs\:focus-within\:ring-offset-gray-light:focus-within{
    --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:focus-within\:ring-offset-gray:focus-within{
    --tw-ring-offset-color: rgb(158, 158, 158);
  }

  :root .xs\:focus-within\:ring-offset-red-light:focus-within{
    --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:focus-within\:ring-offset-red:focus-within{
    --tw-ring-offset-color: rgb(244, 67, 54);
  }

  :root .xs\:focus-within\:ring-offset-orange-light:focus-within{
    --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:focus-within\:ring-offset-orange:focus-within{
    --tw-ring-offset-color: rgb(255, 152, 0);
  }

  :root .xs\:focus-within\:ring-offset-deep-orange-light:focus-within{
    --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:focus-within\:ring-offset-deep-orange:focus-within{
    --tw-ring-offset-color: rgb(255, 87, 34);
  }

  :root .xs\:focus-within\:ring-offset-amber-light:focus-within{
    --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:focus-within\:ring-offset-amber:focus-within{
    --tw-ring-offset-color: rgb(255, 193, 7);
  }

  :root .xs\:focus-within\:ring-offset-green-light:focus-within{
    --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:focus-within\:ring-offset-green:focus-within{
    --tw-ring-offset-color: rgb(76, 175, 80);
  }

  :root .xs\:focus-within\:ring-offset-teal-light:focus-within{
    --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:focus-within\:ring-offset-teal:focus-within{
    --tw-ring-offset-color: rgb(0, 150, 136);
  }

  :root .xs\:focus-within\:ring-offset-cyan-light:focus-within{
    --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:focus-within\:ring-offset-cyan:focus-within{
    --tw-ring-offset-color: rgb(0, 188, 212);
  }

  :root .xs\:focus-within\:ring-offset-purple-light:focus-within{
    --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:focus-within\:ring-offset-purple:focus-within{
    --tw-ring-offset-color: rgb(156, 39, 176);
  }

  :root .xs\:focus-within\:ring-offset-deep-purple-light:focus-within{
    --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:focus-within\:ring-offset-deep-purple:focus-within{
    --tw-ring-offset-color: rgb(103, 58, 183);
  }

  :root .xs\:focus-within\:ring-offset-pink-light:focus-within{
    --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:focus-within\:ring-offset-pink:focus-within{
    --tw-ring-offset-color: rgb(233, 30, 99);
  }

  :root .xs\:focus-within\:ring-offset-primary-light:focus-within{
    --tw-ring-offset-color: rgba(var(--color-primary), .1);
  }

  :root .xs\:focus-within\:ring-offset-primary:focus-within{
    --tw-ring-offset-color: rgb(var(--color-primary));
  }

  :root .xs\:focus-within\:ring-offset-accent-light:focus-within{
    --tw-ring-offset-color: rgba(var(--color-accent), .1);
  }

  :root .xs\:focus-within\:ring-offset-accent:focus-within{
    --tw-ring-offset-color: rgb(var(--color-accent));
  }

  :root .xs\:focus-within\:ring-offset-warn-light:focus-within{
    --tw-ring-offset-color: rgba(var(--color-warn), .1);
  }

  :root .xs\:focus-within\:ring-offset-warn:focus-within{
    --tw-ring-offset-color: rgb(var(--color-warn));
  }

  :root .xs\:focus\:ring-offset-current:focus{
    --tw-ring-offset-color: currentColor;
  }

  :root .xs\:focus\:ring-offset-transparent:focus{
    --tw-ring-offset-color: transparent;
  }

  :root .xs\:focus\:ring-offset-black:focus{
    --tw-ring-offset-color: var(--text-color);
  }

  :root .xs\:focus\:ring-offset-white:focus{
    --tw-ring-offset-color: var(--text-color-light);
  }

  :root .xs\:focus\:ring-offset-contrast-black:focus{
    --tw-ring-offset-color: black;
  }

  :root .xs\:focus\:ring-offset-contrast-white:focus{
    --tw-ring-offset-color: white;
  }

  :root .xs\:focus\:ring-offset-gray-light:focus{
    --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:focus\:ring-offset-gray:focus{
    --tw-ring-offset-color: rgb(158, 158, 158);
  }

  :root .xs\:focus\:ring-offset-red-light:focus{
    --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:focus\:ring-offset-red:focus{
    --tw-ring-offset-color: rgb(244, 67, 54);
  }

  :root .xs\:focus\:ring-offset-orange-light:focus{
    --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:focus\:ring-offset-orange:focus{
    --tw-ring-offset-color: rgb(255, 152, 0);
  }

  :root .xs\:focus\:ring-offset-deep-orange-light:focus{
    --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:focus\:ring-offset-deep-orange:focus{
    --tw-ring-offset-color: rgb(255, 87, 34);
  }

  :root .xs\:focus\:ring-offset-amber-light:focus{
    --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:focus\:ring-offset-amber:focus{
    --tw-ring-offset-color: rgb(255, 193, 7);
  }

  :root .xs\:focus\:ring-offset-green-light:focus{
    --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:focus\:ring-offset-green:focus{
    --tw-ring-offset-color: rgb(76, 175, 80);
  }

  :root .xs\:focus\:ring-offset-teal-light:focus{
    --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:focus\:ring-offset-teal:focus{
    --tw-ring-offset-color: rgb(0, 150, 136);
  }

  :root .xs\:focus\:ring-offset-cyan-light:focus{
    --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:focus\:ring-offset-cyan:focus{
    --tw-ring-offset-color: rgb(0, 188, 212);
  }

  :root .xs\:focus\:ring-offset-purple-light:focus{
    --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:focus\:ring-offset-purple:focus{
    --tw-ring-offset-color: rgb(156, 39, 176);
  }

  :root .xs\:focus\:ring-offset-deep-purple-light:focus{
    --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:focus\:ring-offset-deep-purple:focus{
    --tw-ring-offset-color: rgb(103, 58, 183);
  }

  :root .xs\:focus\:ring-offset-pink-light:focus{
    --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:focus\:ring-offset-pink:focus{
    --tw-ring-offset-color: rgb(233, 30, 99);
  }

  :root .xs\:focus\:ring-offset-primary-light:focus{
    --tw-ring-offset-color: rgba(var(--color-primary), .1);
  }

  :root .xs\:focus\:ring-offset-primary:focus{
    --tw-ring-offset-color: rgb(var(--color-primary));
  }

  :root .xs\:focus\:ring-offset-accent-light:focus{
    --tw-ring-offset-color: rgba(var(--color-accent), .1);
  }

  :root .xs\:focus\:ring-offset-accent:focus{
    --tw-ring-offset-color: rgb(var(--color-accent));
  }

  :root .xs\:focus\:ring-offset-warn-light:focus{
    --tw-ring-offset-color: rgba(var(--color-warn), .1);
  }

  :root .xs\:focus\:ring-offset-warn:focus{
    --tw-ring-offset-color: rgb(var(--color-warn));
  }

  :root .xs\:ring-offset-0{
    --tw-ring-offset-width: 0px;
  }

  :root .xs\:ring-offset-1{
    --tw-ring-offset-width: 1px;
  }

  :root .xs\:ring-offset-2{
    --tw-ring-offset-width: 2px;
  }

  :root .xs\:ring-offset-4{
    --tw-ring-offset-width: 4px;
  }

  :root .xs\:ring-offset-8{
    --tw-ring-offset-width: 8px;
  }

  :root .xs\:focus-within\:ring-offset-0:focus-within{
    --tw-ring-offset-width: 0px;
  }

  :root .xs\:focus-within\:ring-offset-1:focus-within{
    --tw-ring-offset-width: 1px;
  }

  :root .xs\:focus-within\:ring-offset-2:focus-within{
    --tw-ring-offset-width: 2px;
  }

  :root .xs\:focus-within\:ring-offset-4:focus-within{
    --tw-ring-offset-width: 4px;
  }

  :root .xs\:focus-within\:ring-offset-8:focus-within{
    --tw-ring-offset-width: 8px;
  }

  :root .xs\:focus\:ring-offset-0:focus{
    --tw-ring-offset-width: 0px;
  }

  :root .xs\:focus\:ring-offset-1:focus{
    --tw-ring-offset-width: 1px;
  }

  :root .xs\:focus\:ring-offset-2:focus{
    --tw-ring-offset-width: 2px;
  }

  :root .xs\:focus\:ring-offset-4:focus{
    --tw-ring-offset-width: 4px;
  }

  :root .xs\:focus\:ring-offset-8:focus{
    --tw-ring-offset-width: 8px;
  }

  :root .xs\:ring-current{
    --tw-ring-color: currentColor;
  }

  :root .xs\:ring-transparent{
    --tw-ring-color: transparent;
  }

  :root .xs\:ring-black{
    --tw-ring-color: var(--text-color);
  }

  :root .xs\:ring-white{
    --tw-ring-color: var(--text-color-light);
  }

  :root .xs\:ring-contrast-black{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
  }

  :root .xs\:ring-contrast-white{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
  }

  :root .xs\:ring-gray-light{
    --tw-ring-color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:ring-gray{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
  }

  :root .xs\:ring-red-light{
    --tw-ring-color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:ring-red{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
  }

  :root .xs\:ring-orange-light{
    --tw-ring-color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:ring-orange{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
  }

  :root .xs\:ring-deep-orange-light{
    --tw-ring-color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:ring-deep-orange{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
  }

  :root .xs\:ring-amber-light{
    --tw-ring-color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:ring-amber{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
  }

  :root .xs\:ring-green-light{
    --tw-ring-color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:ring-green{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
  }

  :root .xs\:ring-teal-light{
    --tw-ring-color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:ring-teal{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
  }

  :root .xs\:ring-cyan-light{
    --tw-ring-color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:ring-cyan{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
  }

  :root .xs\:ring-purple-light{
    --tw-ring-color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:ring-purple{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
  }

  :root .xs\:ring-deep-purple-light{
    --tw-ring-color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:ring-deep-purple{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
  }

  :root .xs\:ring-pink-light{
    --tw-ring-color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:ring-pink{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
  }

  :root .xs\:ring-primary-light{
    --tw-ring-color: rgba(var(--color-primary), .1);
  }

  :root .xs\:ring-primary{
    --tw-ring-color: rgb(var(--color-primary));
  }

  :root .xs\:ring-accent-light{
    --tw-ring-color: rgba(var(--color-accent), .1);
  }

  :root .xs\:ring-accent{
    --tw-ring-color: rgb(var(--color-accent));
  }

  :root .xs\:ring-warn-light{
    --tw-ring-color: rgba(var(--color-warn), .1);
  }

  :root .xs\:ring-warn{
    --tw-ring-color: rgb(var(--color-warn));
  }

  :root .xs\:focus-within\:ring-current:focus-within{
    --tw-ring-color: currentColor;
  }

  :root .xs\:focus-within\:ring-transparent:focus-within{
    --tw-ring-color: transparent;
  }

  :root .xs\:focus-within\:ring-black:focus-within{
    --tw-ring-color: var(--text-color);
  }

  :root .xs\:focus-within\:ring-white:focus-within{
    --tw-ring-color: var(--text-color-light);
  }

  :root .xs\:focus-within\:ring-contrast-black:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
  }

  :root .xs\:focus-within\:ring-contrast-white:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
  }

  :root .xs\:focus-within\:ring-gray-light:focus-within{
    --tw-ring-color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:focus-within\:ring-gray:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
  }

  :root .xs\:focus-within\:ring-red-light:focus-within{
    --tw-ring-color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:focus-within\:ring-red:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
  }

  :root .xs\:focus-within\:ring-orange-light:focus-within{
    --tw-ring-color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:focus-within\:ring-orange:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
  }

  :root .xs\:focus-within\:ring-deep-orange-light:focus-within{
    --tw-ring-color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:focus-within\:ring-deep-orange:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
  }

  :root .xs\:focus-within\:ring-amber-light:focus-within{
    --tw-ring-color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:focus-within\:ring-amber:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
  }

  :root .xs\:focus-within\:ring-green-light:focus-within{
    --tw-ring-color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:focus-within\:ring-green:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
  }

  :root .xs\:focus-within\:ring-teal-light:focus-within{
    --tw-ring-color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:focus-within\:ring-teal:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
  }

  :root .xs\:focus-within\:ring-cyan-light:focus-within{
    --tw-ring-color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:focus-within\:ring-cyan:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
  }

  :root .xs\:focus-within\:ring-purple-light:focus-within{
    --tw-ring-color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:focus-within\:ring-purple:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
  }

  :root .xs\:focus-within\:ring-deep-purple-light:focus-within{
    --tw-ring-color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:focus-within\:ring-deep-purple:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
  }

  :root .xs\:focus-within\:ring-pink-light:focus-within{
    --tw-ring-color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:focus-within\:ring-pink:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
  }

  :root .xs\:focus-within\:ring-primary-light:focus-within{
    --tw-ring-color: rgba(var(--color-primary), .1);
  }

  :root .xs\:focus-within\:ring-primary:focus-within{
    --tw-ring-color: rgb(var(--color-primary));
  }

  :root .xs\:focus-within\:ring-accent-light:focus-within{
    --tw-ring-color: rgba(var(--color-accent), .1);
  }

  :root .xs\:focus-within\:ring-accent:focus-within{
    --tw-ring-color: rgb(var(--color-accent));
  }

  :root .xs\:focus-within\:ring-warn-light:focus-within{
    --tw-ring-color: rgba(var(--color-warn), .1);
  }

  :root .xs\:focus-within\:ring-warn:focus-within{
    --tw-ring-color: rgb(var(--color-warn));
  }

  :root .xs\:focus\:ring-current:focus{
    --tw-ring-color: currentColor;
  }

  :root .xs\:focus\:ring-transparent:focus{
    --tw-ring-color: transparent;
  }

  :root .xs\:focus\:ring-black:focus{
    --tw-ring-color: var(--text-color);
  }

  :root .xs\:focus\:ring-white:focus{
    --tw-ring-color: var(--text-color-light);
  }

  :root .xs\:focus\:ring-contrast-black:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
  }

  :root .xs\:focus\:ring-contrast-white:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
  }

  :root .xs\:focus\:ring-gray-light:focus{
    --tw-ring-color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:focus\:ring-gray:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
  }

  :root .xs\:focus\:ring-red-light:focus{
    --tw-ring-color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:focus\:ring-red:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
  }

  :root .xs\:focus\:ring-orange-light:focus{
    --tw-ring-color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:focus\:ring-orange:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
  }

  :root .xs\:focus\:ring-deep-orange-light:focus{
    --tw-ring-color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:focus\:ring-deep-orange:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
  }

  :root .xs\:focus\:ring-amber-light:focus{
    --tw-ring-color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:focus\:ring-amber:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
  }

  :root .xs\:focus\:ring-green-light:focus{
    --tw-ring-color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:focus\:ring-green:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
  }

  :root .xs\:focus\:ring-teal-light:focus{
    --tw-ring-color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:focus\:ring-teal:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
  }

  :root .xs\:focus\:ring-cyan-light:focus{
    --tw-ring-color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:focus\:ring-cyan:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
  }

  :root .xs\:focus\:ring-purple-light:focus{
    --tw-ring-color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:focus\:ring-purple:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
  }

  :root .xs\:focus\:ring-deep-purple-light:focus{
    --tw-ring-color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:focus\:ring-deep-purple:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
  }

  :root .xs\:focus\:ring-pink-light:focus{
    --tw-ring-color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:focus\:ring-pink:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
  }

  :root .xs\:focus\:ring-primary-light:focus{
    --tw-ring-color: rgba(var(--color-primary), .1);
  }

  :root .xs\:focus\:ring-primary:focus{
    --tw-ring-color: rgb(var(--color-primary));
  }

  :root .xs\:focus\:ring-accent-light:focus{
    --tw-ring-color: rgba(var(--color-accent), .1);
  }

  :root .xs\:focus\:ring-accent:focus{
    --tw-ring-color: rgb(var(--color-accent));
  }

  :root .xs\:focus\:ring-warn-light:focus{
    --tw-ring-color: rgba(var(--color-warn), .1);
  }

  :root .xs\:focus\:ring-warn:focus{
    --tw-ring-color: rgb(var(--color-warn));
  }

  :root .xs\:ring-opacity-0{
    --tw-ring-opacity: 0;
  }

  :root .xs\:ring-opacity-25{
    --tw-ring-opacity: 0.25;
  }

  :root .xs\:ring-opacity-50{
    --tw-ring-opacity: 0.5;
  }

  :root .xs\:ring-opacity-75{
    --tw-ring-opacity: 0.75;
  }

  :root .xs\:ring-opacity-100{
    --tw-ring-opacity: 1;
  }

  :root .xs\:focus-within\:ring-opacity-0:focus-within{
    --tw-ring-opacity: 0;
  }

  :root .xs\:focus-within\:ring-opacity-25:focus-within{
    --tw-ring-opacity: 0.25;
  }

  :root .xs\:focus-within\:ring-opacity-50:focus-within{
    --tw-ring-opacity: 0.5;
  }

  :root .xs\:focus-within\:ring-opacity-75:focus-within{
    --tw-ring-opacity: 0.75;
  }

  :root .xs\:focus-within\:ring-opacity-100:focus-within{
    --tw-ring-opacity: 1;
  }

  :root .xs\:focus\:ring-opacity-0:focus{
    --tw-ring-opacity: 0;
  }

  :root .xs\:focus\:ring-opacity-25:focus{
    --tw-ring-opacity: 0.25;
  }

  :root .xs\:focus\:ring-opacity-50:focus{
    --tw-ring-opacity: 0.5;
  }

  :root .xs\:focus\:ring-opacity-75:focus{
    --tw-ring-opacity: 0.75;
  }

  :root .xs\:focus\:ring-opacity-100:focus{
    --tw-ring-opacity: 1;
  }

  :root .xs\:fill-current{
    fill: currentColor;
  }

  :root .xs\:stroke-current{
    stroke: currentColor;
  }

  :root .xs\:stroke-0{
    stroke-width: 0;
  }

  :root .xs\:stroke-1{
    stroke-width: 1;
  }

  :root .xs\:stroke-2{
    stroke-width: 2;
  }

  :root .xs\:table-auto{
    table-layout: auto;
  }

  :root .xs\:table-fixed{
    table-layout: fixed;
  }

  :root .xs\:text-left{
    text-align: left;
  }

  :root .xs\:text-center{
    text-align: center;
  }

  :root .xs\:text-right{
    text-align: right;
  }

  :root .xs\:text-justify{
    text-align: justify;
  }

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

  :root .xs\:text-hint{
    color: var(--text-hint);
  }

  :root .xs\:text-current{
    color: currentColor;
  }

  :root .xs\:text-transparent{
    color: transparent;
  }

  :root .xs\:text-black{
    color: var(--text-color);
  }

  :root .xs\:text-white{
    color: var(--text-color-light);
  }

  :root .xs\:text-contrast-black{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .xs\:text-contrast-white{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:text-gray-light{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:text-gray{
    --tw-text-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-text-opacity));
  }

  :root .xs\:text-red-light{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:text-red{
    --tw-text-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-text-opacity));
  }

  :root .xs\:text-orange-light{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:text-orange{
    --tw-text-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-text-opacity));
  }

  :root .xs\:text-deep-orange-light{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:text-deep-orange{
    --tw-text-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-text-opacity));
  }

  :root .xs\:text-amber-light{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:text-amber{
    --tw-text-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-text-opacity));
  }

  :root .xs\:text-green-light{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:text-green{
    --tw-text-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-text-opacity));
  }

  :root .xs\:text-teal-light{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:text-teal{
    --tw-text-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-text-opacity));
  }

  :root .xs\:text-cyan-light{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:text-cyan{
    --tw-text-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-text-opacity));
  }

  :root .xs\:text-purple-light{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:text-purple{
    --tw-text-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-text-opacity));
  }

  :root .xs\:text-deep-purple-light{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:text-deep-purple{
    --tw-text-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-text-opacity));
  }

  :root .xs\:text-pink-light{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:text-pink{
    --tw-text-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-text-opacity));
  }

  :root .xs\:text-primary-light{
    color: rgba(var(--color-primary), .1);
  }

  :root .xs\:text-primary{
    color: rgb(var(--color-primary));
  }

  :root .xs\:text-accent-light{
    color: rgba(var(--color-accent), .1);
  }

  :root .xs\:text-accent{
    color: rgb(var(--color-accent));
  }

  :root .xs\:text-warn-light{
    color: rgba(var(--color-warn), .1);
  }

  :root .xs\:text-warn{
    color: rgb(var(--color-warn));
  }

  :root .xs\:text-primary-contrast{
    color: rgb(var(--color-primary-contrast));
  }

  :root .xs\:text-accent-contrast{
    color: rgb(var(--color-accent-contrast));
  }

  :root .xs\:text-warn-contrast{
    color: rgb(var(--color-warn-contrast));
  }

  :root .xs\:text-red-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:text-green-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:text-amber-contrast{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .xs\:text-orange-contrast{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .xs\:text-deep-orange-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:text-purple-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:text-deep-purple-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:text-cyan-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:text-teal-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:text-gray-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:text-light-green-contrast{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-secondary:hover{
    color: var(--text-secondary);
  }

  :root .xs\:hover\:text-hint:hover{
    color: var(--text-hint);
  }

  :root .xs\:hover\:text-current:hover{
    color: currentColor;
  }

  :root .xs\:hover\:text-transparent:hover{
    color: transparent;
  }

  :root .xs\:hover\:text-black:hover{
    color: var(--text-color);
  }

  :root .xs\:hover\:text-white:hover{
    color: var(--text-color-light);
  }

  :root .xs\:hover\:text-contrast-black:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-contrast-white:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-gray-light:hover{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:hover\:text-gray:hover{
    --tw-text-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-red-light:hover{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:hover\:text-red:hover{
    --tw-text-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-orange-light:hover{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:hover\:text-orange:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-deep-orange-light:hover{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:hover\:text-deep-orange:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-amber-light:hover{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:hover\:text-amber:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-green-light:hover{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:hover\:text-green:hover{
    --tw-text-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-teal-light:hover{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:hover\:text-teal:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-cyan-light:hover{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:hover\:text-cyan:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-purple-light:hover{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:hover\:text-purple:hover{
    --tw-text-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-deep-purple-light:hover{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:hover\:text-deep-purple:hover{
    --tw-text-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-pink-light:hover{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:hover\:text-pink:hover{
    --tw-text-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-primary-light:hover{
    color: rgba(var(--color-primary), .1);
  }

  :root .xs\:hover\:text-primary:hover{
    color: rgb(var(--color-primary));
  }

  :root .xs\:hover\:text-accent-light:hover{
    color: rgba(var(--color-accent), .1);
  }

  :root .xs\:hover\:text-accent:hover{
    color: rgb(var(--color-accent));
  }

  :root .xs\:hover\:text-warn-light:hover{
    color: rgba(var(--color-warn), .1);
  }

  :root .xs\:hover\:text-warn:hover{
    color: rgb(var(--color-warn));
  }

  :root .xs\:hover\:text-primary-contrast:hover{
    color: rgb(var(--color-primary-contrast));
  }

  :root .xs\:hover\:text-accent-contrast:hover{
    color: rgb(var(--color-accent-contrast));
  }

  :root .xs\:hover\:text-warn-contrast:hover{
    color: rgb(var(--color-warn-contrast));
  }

  :root .xs\:hover\:text-red-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-green-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-amber-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-orange-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-deep-orange-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-purple-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-deep-purple-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-cyan-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-teal-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-gray-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:hover\:text-light-green-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-secondary:focus{
    color: var(--text-secondary);
  }

  :root .xs\:focus\:text-hint:focus{
    color: var(--text-hint);
  }

  :root .xs\:focus\:text-current:focus{
    color: currentColor;
  }

  :root .xs\:focus\:text-transparent:focus{
    color: transparent;
  }

  :root .xs\:focus\:text-black:focus{
    color: var(--text-color);
  }

  :root .xs\:focus\:text-white:focus{
    color: var(--text-color-light);
  }

  :root .xs\:focus\:text-contrast-black:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-contrast-white:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-gray-light:focus{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .xs\:focus\:text-gray:focus{
    --tw-text-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-red-light:focus{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .xs\:focus\:text-red:focus{
    --tw-text-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-orange-light:focus{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .xs\:focus\:text-orange:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-deep-orange-light:focus{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .xs\:focus\:text-deep-orange:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-amber-light:focus{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .xs\:focus\:text-amber:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-green-light:focus{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .xs\:focus\:text-green:focus{
    --tw-text-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-teal-light:focus{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .xs\:focus\:text-teal:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-cyan-light:focus{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .xs\:focus\:text-cyan:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-purple-light:focus{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .xs\:focus\:text-purple:focus{
    --tw-text-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-deep-purple-light:focus{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .xs\:focus\:text-deep-purple:focus{
    --tw-text-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-pink-light:focus{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .xs\:focus\:text-pink:focus{
    --tw-text-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-primary-light:focus{
    color: rgba(var(--color-primary), .1);
  }

  :root .xs\:focus\:text-primary:focus{
    color: rgb(var(--color-primary));
  }

  :root .xs\:focus\:text-accent-light:focus{
    color: rgba(var(--color-accent), .1);
  }

  :root .xs\:focus\:text-accent:focus{
    color: rgb(var(--color-accent));
  }

  :root .xs\:focus\:text-warn-light:focus{
    color: rgba(var(--color-warn), .1);
  }

  :root .xs\:focus\:text-warn:focus{
    color: rgb(var(--color-warn));
  }

  :root .xs\:focus\:text-primary-contrast:focus{
    color: rgb(var(--color-primary-contrast));
  }

  :root .xs\:focus\:text-accent-contrast:focus{
    color: rgb(var(--color-accent-contrast));
  }

  :root .xs\:focus\:text-warn-contrast:focus{
    color: rgb(var(--color-warn-contrast));
  }

  :root .xs\:focus\:text-red-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-green-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-amber-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-orange-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-deep-orange-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-purple-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-deep-purple-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-cyan-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-teal-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-gray-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .xs\:focus\:text-light-green-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .xs\:text-opacity-0{
    --tw-text-opacity: 0;
  }

  :root .xs\:text-opacity-25{
    --tw-text-opacity: 0.25;
  }

  :root .xs\:text-opacity-50{
    --tw-text-opacity: 0.5;
  }

  :root .xs\:text-opacity-75{
    --tw-text-opacity: 0.75;
  }

  :root .xs\:text-opacity-100{
    --tw-text-opacity: 1;
  }

  :root .group:hover .xs\:group-hover\:text-opacity-0{
    --tw-text-opacity: 0;
  }

  :root .group:hover .xs\:group-hover\:text-opacity-25{
    --tw-text-opacity: 0.25;
  }

  :root .group:hover .xs\:group-hover\:text-opacity-50{
    --tw-text-opacity: 0.5;
  }

  :root .group:hover .xs\:group-hover\:text-opacity-75{
    --tw-text-opacity: 0.75;
  }

  :root .group:hover .xs\:group-hover\:text-opacity-100{
    --tw-text-opacity: 1;
  }

  :root .xs\:focus-within\:text-opacity-0:focus-within{
    --tw-text-opacity: 0;
  }

  :root .xs\:focus-within\:text-opacity-25:focus-within{
    --tw-text-opacity: 0.25;
  }

  :root .xs\:focus-within\:text-opacity-50:focus-within{
    --tw-text-opacity: 0.5;
  }

  :root .xs\:focus-within\:text-opacity-75:focus-within{
    --tw-text-opacity: 0.75;
  }

  :root .xs\:focus-within\:text-opacity-100:focus-within{
    --tw-text-opacity: 1;
  }

  :root .xs\:hover\:text-opacity-0:hover{
    --tw-text-opacity: 0;
  }

  :root .xs\:hover\:text-opacity-25:hover{
    --tw-text-opacity: 0.25;
  }

  :root .xs\:hover\:text-opacity-50:hover{
    --tw-text-opacity: 0.5;
  }

  :root .xs\:hover\:text-opacity-75:hover{
    --tw-text-opacity: 0.75;
  }

  :root .xs\:hover\:text-opacity-100:hover{
    --tw-text-opacity: 1;
  }

  :root .xs\:focus\:text-opacity-0:focus{
    --tw-text-opacity: 0;
  }

  :root .xs\:focus\:text-opacity-25:focus{
    --tw-text-opacity: 0.25;
  }

  :root .xs\:focus\:text-opacity-50:focus{
    --tw-text-opacity: 0.5;
  }

  :root .xs\:focus\:text-opacity-75:focus{
    --tw-text-opacity: 0.75;
  }

  :root .xs\:focus\:text-opacity-100:focus{
    --tw-text-opacity: 1;
  }

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

  :root .xs\:overflow-ellipsis{
    text-overflow: ellipsis;
  }

  :root .xs\:overflow-clip{
    text-overflow: clip;
  }

  :root .xs\:italic{
    font-style: italic;
  }

  :root .xs\:not-italic{
    font-style: normal;
  }

  :root .xs\:uppercase{
    text-transform: uppercase;
  }

  :root .xs\:lowercase{
    text-transform: lowercase;
  }

  :root .xs\:capitalize{
    text-transform: capitalize;
  }

  :root .xs\:normal-case{
    text-transform: none;
  }

  :root .xs\:underline{
    text-decoration: underline;
  }

  :root .xs\:line-through{
    text-decoration: line-through;
  }

  :root .xs\:no-underline{
    text-decoration: none;
  }

  :root .xs\:hover\:underline:hover{
    text-decoration: underline;
  }

  :root .xs\:hover\:line-through:hover{
    text-decoration: line-through;
  }

  :root .xs\:hover\:no-underline:hover{
    text-decoration: none;
  }

  :root .xs\:focus\:underline:focus{
    text-decoration: underline;
  }

  :root .xs\:focus\:line-through:focus{
    text-decoration: line-through;
  }

  :root .xs\:focus\:no-underline:focus{
    text-decoration: none;
  }

  :root .xs\:antialiased{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  :root .xs\:subpixel-antialiased{
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
  }

  :root .xs\:ordinal, :root .xs\:slashed-zero, :root .xs\:lining-nums, :root .xs\:oldstyle-nums, :root .xs\:proportional-nums, :root .xs\:tabular-nums, :root .xs\:diagonal-fractions, :root .xs\:stacked-fractions{
    --tw-ordinal: var(--tw-empty,/*!*/ /*!*/);
    --tw-slashed-zero: var(--tw-empty,/*!*/ /*!*/);
    --tw-numeric-figure: var(--tw-empty,/*!*/ /*!*/);
    --tw-numeric-spacing: var(--tw-empty,/*!*/ /*!*/);
    --tw-numeric-fraction: var(--tw-empty,/*!*/ /*!*/);
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  }

  :root .xs\:normal-nums{
    font-variant-numeric: normal;
  }

  :root .xs\:ordinal{
    --tw-ordinal: ordinal;
  }

  :root .xs\:slashed-zero{
    --tw-slashed-zero: slashed-zero;
  }

  :root .xs\:lining-nums{
    --tw-numeric-figure: lining-nums;
  }

  :root .xs\:oldstyle-nums{
    --tw-numeric-figure: oldstyle-nums;
  }

  :root .xs\:proportional-nums{
    --tw-numeric-spacing: proportional-nums;
  }

  :root .xs\:tabular-nums{
    --tw-numeric-spacing: tabular-nums;
  }

  :root .xs\:diagonal-fractions{
    --tw-numeric-fraction: diagonal-fractions;
  }

  :root .xs\:stacked-fractions{
    --tw-numeric-fraction: stacked-fractions;
  }

  :root .xs\:tracking-tighter{
    letter-spacing: -0.05em;
  }

  :root .xs\:tracking-tight{
    letter-spacing: -0.025em;
  }

  :root .xs\:tracking-normal{
    letter-spacing: 0;
  }

  :root .xs\:tracking-wide{
    letter-spacing: 0.025em;
  }

  :root .xs\:tracking-wider{
    letter-spacing: 0.05em;
  }

  :root .xs\:tracking-widest{
    letter-spacing: 0.1em;
  }

  :root .xs\:select-none{
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }

  :root .xs\:select-text{
    -webkit-user-select: text;
       -moz-user-select: text;
            user-select: text;
  }

  :root .xs\:select-all{
    -webkit-user-select: all;
       -moz-user-select: all;
            user-select: all;
  }

  :root .xs\:select-auto{
    -webkit-user-select: auto;
       -moz-user-select: auto;
            user-select: auto;
  }

  :root .xs\:align-baseline{
    vertical-align: baseline;
  }

  :root .xs\:align-top{
    vertical-align: top;
  }

  :root .xs\:align-middle{
    vertical-align: middle;
  }

  :root .xs\:align-bottom{
    vertical-align: bottom;
  }

  :root .xs\:align-text-top{
    vertical-align: text-top;
  }

  :root .xs\:align-text-bottom{
    vertical-align: text-bottom;
  }

  :root .xs\:visible{
    visibility: visible;
  }

  :root .xs\:invisible{
    visibility: hidden;
  }

  :root .xs\:whitespace-normal{
    white-space: normal;
  }

  :root .xs\:whitespace-nowrap{
    white-space: nowrap;
  }

  :root .xs\:whitespace-pre{
    white-space: pre;
  }

  :root .xs\:whitespace-pre-line{
    white-space: pre-line;
  }

  :root .xs\:whitespace-pre-wrap{
    white-space: pre-wrap;
  }

  :root .xs\:break-normal{
    overflow-wrap: normal;
    word-break: normal;
  }

  :root .xs\:break-words{
    overflow-wrap: break-word;
  }

  :root .xs\:break-all{
    word-break: break-all;
  }

  :root .xs\:w-0{
    width: 0;
  }

  :root .xs\:w-1{
    width: 0.25rem;
  }

  :root .xs\:w-2{
    width: 0.5rem;
  }

  :root .xs\:w-3{
    width: 0.75rem;
  }

  :root .xs\:w-4{
    width: 1rem;
  }

  :root .xs\:w-5{
    width: 1.25rem;
  }

  :root .xs\:w-6{
    width: 1.5rem;
  }

  :root .xs\:w-8{
    width: 2rem;
  }

  :root .xs\:w-9{
    width: 2.25rem;
  }

  :root .xs\:w-10{
    width: 2.5rem;
  }

  :root .xs\:w-12{
    width: 3rem;
  }

  :root .xs\:w-14{
    width: 3.5rem;
  }

  :root .xs\:w-16{
    width: 4rem;
  }

  :root .xs\:w-20{
    width: 5rem;
  }

  :root .xs\:w-24{
    width: 6rem;
  }

  :root .xs\:w-32{
    width: 8rem;
  }

  :root .xs\:w-40{
    width: 10rem;
  }

  :root .xs\:w-48{
    width: 12rem;
  }

  :root .xs\:w-56{
    width: 14rem;
  }

  :root .xs\:w-64{
    width: 16rem;
  }

  :root .xs\:w-auto{
    width: auto;
  }

  :root .xs\:w-px{
    width: 1px;
  }

  :root .xs\:w-gutter{
    width: var(--padding-gutter);
  }

  :root .xs\:w-1\/2{
    width: 50%;
  }

  :root .xs\:w-1\/3{
    width: 33.333333%;
  }

  :root .xs\:w-2\/3{
    width: 66.666667%;
  }

  :root .xs\:w-1\/4{
    width: 25%;
  }

  :root .xs\:w-2\/4{
    width: 50%;
  }

  :root .xs\:w-3\/4{
    width: 75%;
  }

  :root .xs\:w-1\/5{
    width: 20%;
  }

  :root .xs\:w-2\/5{
    width: 40%;
  }

  :root .xs\:w-3\/5{
    width: 60%;
  }

  :root .xs\:w-4\/5{
    width: 80%;
  }

  :root .xs\:w-1\/6{
    width: 16.666667%;
  }

  :root .xs\:w-2\/6{
    width: 33.333333%;
  }

  :root .xs\:w-3\/6{
    width: 50%;
  }

  :root .xs\:w-4\/6{
    width: 66.666667%;
  }

  :root .xs\:w-5\/6{
    width: 83.333333%;
  }

  :root .xs\:w-1\/12{
    width: 8.333333%;
  }

  :root .xs\:w-2\/12{
    width: 16.666667%;
  }

  :root .xs\:w-3\/12{
    width: 25%;
  }

  :root .xs\:w-4\/12{
    width: 33.333333%;
  }

  :root .xs\:w-5\/12{
    width: 41.666667%;
  }

  :root .xs\:w-6\/12{
    width: 50%;
  }

  :root .xs\:w-7\/12{
    width: 58.333333%;
  }

  :root .xs\:w-8\/12{
    width: 66.666667%;
  }

  :root .xs\:w-9\/12{
    width: 75%;
  }

  :root .xs\:w-10\/12{
    width: 83.333333%;
  }

  :root .xs\:w-11\/12{
    width: 91.666667%;
  }

  :root .xs\:w-full{
    width: 100%;
  }

  :root .xs\:w-screen{
    width: 100vw;
  }

  :root .xs\:z-0{
    z-index: 0;
  }

  :root .xs\:z-10{
    z-index: 10;
  }

  :root .xs\:z-20{
    z-index: 20;
  }

  :root .xs\:z-30{
    z-index: 30;
  }

  :root .xs\:z-40{
    z-index: 40;
  }

  :root .xs\:z-50{
    z-index: 50;
  }

  :root .xs\:z-auto{
    z-index: auto;
  }

  :root .xs\:gap-0{
    gap: 0;
  }

  :root .xs\:gap-1{
    gap: 0.25rem;
  }

  :root .xs\:gap-2{
    gap: 0.5rem;
  }

  :root .xs\:gap-3{
    gap: 0.75rem;
  }

  :root .xs\:gap-4{
    gap: 1rem;
  }

  :root .xs\:gap-5{
    gap: 1.25rem;
  }

  :root .xs\:gap-6{
    gap: 1.5rem;
  }

  :root .xs\:gap-8{
    gap: 2rem;
  }

  :root .xs\:gap-9{
    gap: 2.25rem;
  }

  :root .xs\:gap-10{
    gap: 2.5rem;
  }

  :root .xs\:gap-12{
    gap: 3rem;
  }

  :root .xs\:gap-14{
    gap: 3.5rem;
  }

  :root .xs\:gap-16{
    gap: 4rem;
  }

  :root .xs\:gap-20{
    gap: 5rem;
  }

  :root .xs\:gap-24{
    gap: 6rem;
  }

  :root .xs\:gap-32{
    gap: 8rem;
  }

  :root .xs\:gap-40{
    gap: 10rem;
  }

  :root .xs\:gap-48{
    gap: 12rem;
  }

  :root .xs\:gap-56{
    gap: 14rem;
  }

  :root .xs\:gap-64{
    gap: 16rem;
  }

  :root .xs\:gap-px{
    gap: 1px;
  }

  :root .xs\:gap-gutter{
    gap: var(--padding-gutter);
  }

  :root .xs\:gap-x-0{
    -moz-column-gap: 0;
         column-gap: 0;
  }

  :root .xs\:gap-x-1{
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }

  :root .xs\:gap-x-2{
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }

  :root .xs\:gap-x-3{
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
  }

  :root .xs\:gap-x-4{
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }

  :root .xs\:gap-x-5{
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
  }

  :root .xs\:gap-x-6{
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }

  :root .xs\:gap-x-8{
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }

  :root .xs\:gap-x-9{
    -moz-column-gap: 2.25rem;
         column-gap: 2.25rem;
  }

  :root .xs\:gap-x-10{
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }

  :root .xs\:gap-x-12{
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }

  :root .xs\:gap-x-14{
    -moz-column-gap: 3.5rem;
         column-gap: 3.5rem;
  }

  :root .xs\:gap-x-16{
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }

  :root .xs\:gap-x-20{
    -moz-column-gap: 5rem;
         column-gap: 5rem;
  }

  :root .xs\:gap-x-24{
    -moz-column-gap: 6rem;
         column-gap: 6rem;
  }

  :root .xs\:gap-x-32{
    -moz-column-gap: 8rem;
         column-gap: 8rem;
  }

  :root .xs\:gap-x-40{
    -moz-column-gap: 10rem;
         column-gap: 10rem;
  }

  :root .xs\:gap-x-48{
    -moz-column-gap: 12rem;
         column-gap: 12rem;
  }

  :root .xs\:gap-x-56{
    -moz-column-gap: 14rem;
         column-gap: 14rem;
  }

  :root .xs\:gap-x-64{
    -moz-column-gap: 16rem;
         column-gap: 16rem;
  }

  :root .xs\:gap-x-px{
    -moz-column-gap: 1px;
         column-gap: 1px;
  }

  :root .xs\:gap-x-gutter{
    -moz-column-gap: var(--padding-gutter);
         column-gap: var(--padding-gutter);
  }

  :root .xs\:gap-y-0{
    row-gap: 0;
  }

  :root .xs\:gap-y-1{
    row-gap: 0.25rem;
  }

  :root .xs\:gap-y-2{
    row-gap: 0.5rem;
  }

  :root .xs\:gap-y-3{
    row-gap: 0.75rem;
  }

  :root .xs\:gap-y-4{
    row-gap: 1rem;
  }

  :root .xs\:gap-y-5{
    row-gap: 1.25rem;
  }

  :root .xs\:gap-y-6{
    row-gap: 1.5rem;
  }

  :root .xs\:gap-y-8{
    row-gap: 2rem;
  }

  :root .xs\:gap-y-9{
    row-gap: 2.25rem;
  }

  :root .xs\:gap-y-10{
    row-gap: 2.5rem;
  }

  :root .xs\:gap-y-12{
    row-gap: 3rem;
  }

  :root .xs\:gap-y-14{
    row-gap: 3.5rem;
  }

  :root .xs\:gap-y-16{
    row-gap: 4rem;
  }

  :root .xs\:gap-y-20{
    row-gap: 5rem;
  }

  :root .xs\:gap-y-24{
    row-gap: 6rem;
  }

  :root .xs\:gap-y-32{
    row-gap: 8rem;
  }

  :root .xs\:gap-y-40{
    row-gap: 10rem;
  }

  :root .xs\:gap-y-48{
    row-gap: 12rem;
  }

  :root .xs\:gap-y-56{
    row-gap: 14rem;
  }

  :root .xs\:gap-y-64{
    row-gap: 16rem;
  }

  :root .xs\:gap-y-px{
    row-gap: 1px;
  }

  :root .xs\:gap-y-gutter{
    row-gap: var(--padding-gutter);
  }

  :root .xs\:grid-flow-row{
    grid-auto-flow: row;
  }

  :root .xs\:grid-flow-col{
    grid-auto-flow: column;
  }

  :root .xs\:grid-flow-row-dense{
    grid-auto-flow: row dense;
  }

  :root .xs\:grid-flow-col-dense{
    grid-auto-flow: column dense;
  }

  :root .xs\:grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  :root .xs\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :root .xs\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  :root .xs\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  :root .xs\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  :root .xs\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  :root .xs\:grid-cols-7{
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  :root .xs\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  :root .xs\:grid-cols-9{
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }

  :root .xs\:grid-cols-10{
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  :root .xs\:grid-cols-11{
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }

  :root .xs\:grid-cols-12{
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  :root .xs\:grid-cols-none{
    grid-template-columns: none;
  }

  :root .xs\:auto-cols-auto{
    grid-auto-columns: auto;
  }

  :root .xs\:auto-cols-min{
    grid-auto-columns: -webkit-min-content;
    grid-auto-columns: min-content;
  }

  :root .xs\:auto-cols-max{
    grid-auto-columns: -webkit-max-content;
    grid-auto-columns: max-content;
  }

  :root .xs\:auto-cols-fr{
    grid-auto-columns: minmax(0, 1fr);
  }

  :root .xs\:col-auto{
    grid-column: auto;
  }

  :root .xs\:col-span-1{
    grid-column: span 1 / span 1;
  }

  :root .xs\:col-span-2{
    grid-column: span 2 / span 2;
  }

  :root .xs\:col-span-3{
    grid-column: span 3 / span 3;
  }

  :root .xs\:col-span-4{
    grid-column: span 4 / span 4;
  }

  :root .xs\:col-span-5{
    grid-column: span 5 / span 5;
  }

  :root .xs\:col-span-6{
    grid-column: span 6 / span 6;
  }

  :root .xs\:col-span-7{
    grid-column: span 7 / span 7;
  }

  :root .xs\:col-span-8{
    grid-column: span 8 / span 8;
  }

  :root .xs\:col-span-9{
    grid-column: span 9 / span 9;
  }

  :root .xs\:col-span-10{
    grid-column: span 10 / span 10;
  }

  :root .xs\:col-span-11{
    grid-column: span 11 / span 11;
  }

  :root .xs\:col-span-12{
    grid-column: span 12 / span 12;
  }

  :root .xs\:col-span-full{
    grid-column: 1 / -1;
  }

  :root .xs\:col-start-1{
    grid-column-start: 1;
  }

  :root .xs\:col-start-2{
    grid-column-start: 2;
  }

  :root .xs\:col-start-3{
    grid-column-start: 3;
  }

  :root .xs\:col-start-4{
    grid-column-start: 4;
  }

  :root .xs\:col-start-5{
    grid-column-start: 5;
  }

  :root .xs\:col-start-6{
    grid-column-start: 6;
  }

  :root .xs\:col-start-7{
    grid-column-start: 7;
  }

  :root .xs\:col-start-8{
    grid-column-start: 8;
  }

  :root .xs\:col-start-9{
    grid-column-start: 9;
  }

  :root .xs\:col-start-10{
    grid-column-start: 10;
  }

  :root .xs\:col-start-11{
    grid-column-start: 11;
  }

  :root .xs\:col-start-12{
    grid-column-start: 12;
  }

  :root .xs\:col-start-13{
    grid-column-start: 13;
  }

  :root .xs\:col-start-auto{
    grid-column-start: auto;
  }

  :root .xs\:col-end-1{
    grid-column-end: 1;
  }

  :root .xs\:col-end-2{
    grid-column-end: 2;
  }

  :root .xs\:col-end-3{
    grid-column-end: 3;
  }

  :root .xs\:col-end-4{
    grid-column-end: 4;
  }

  :root .xs\:col-end-5{
    grid-column-end: 5;
  }

  :root .xs\:col-end-6{
    grid-column-end: 6;
  }

  :root .xs\:col-end-7{
    grid-column-end: 7;
  }

  :root .xs\:col-end-8{
    grid-column-end: 8;
  }

  :root .xs\:col-end-9{
    grid-column-end: 9;
  }

  :root .xs\:col-end-10{
    grid-column-end: 10;
  }

  :root .xs\:col-end-11{
    grid-column-end: 11;
  }

  :root .xs\:col-end-12{
    grid-column-end: 12;
  }

  :root .xs\:col-end-13{
    grid-column-end: 13;
  }

  :root .xs\:col-end-auto{
    grid-column-end: auto;
  }

  :root .xs\:grid-rows-1{
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }

  :root .xs\:grid-rows-2{
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }

  :root .xs\:grid-rows-3{
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }

  :root .xs\:grid-rows-4{
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }

  :root .xs\:grid-rows-5{
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }

  :root .xs\:grid-rows-6{
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }

  :root .xs\:grid-rows-none{
    grid-template-rows: none;
  }

  :root .xs\:auto-rows-auto{
    grid-auto-rows: auto;
  }

  :root .xs\:auto-rows-min{
    grid-auto-rows: -webkit-min-content;
    grid-auto-rows: min-content;
  }

  :root .xs\:auto-rows-max{
    grid-auto-rows: -webkit-max-content;
    grid-auto-rows: max-content;
  }

  :root .xs\:auto-rows-fr{
    grid-auto-rows: minmax(0, 1fr);
  }

  :root .xs\:row-auto{
    grid-row: auto;
  }

  :root .xs\:row-span-1{
    grid-row: span 1 / span 1;
  }

  :root .xs\:row-span-2{
    grid-row: span 2 / span 2;
  }

  :root .xs\:row-span-3{
    grid-row: span 3 / span 3;
  }

  :root .xs\:row-span-4{
    grid-row: span 4 / span 4;
  }

  :root .xs\:row-span-5{
    grid-row: span 5 / span 5;
  }

  :root .xs\:row-span-6{
    grid-row: span 6 / span 6;
  }

  :root .xs\:row-span-full{
    grid-row: 1 / -1;
  }

  :root .xs\:row-start-1{
    grid-row-start: 1;
  }

  :root .xs\:row-start-2{
    grid-row-start: 2;
  }

  :root .xs\:row-start-3{
    grid-row-start: 3;
  }

  :root .xs\:row-start-4{
    grid-row-start: 4;
  }

  :root .xs\:row-start-5{
    grid-row-start: 5;
  }

  :root .xs\:row-start-6{
    grid-row-start: 6;
  }

  :root .xs\:row-start-7{
    grid-row-start: 7;
  }

  :root .xs\:row-start-auto{
    grid-row-start: auto;
  }

  :root .xs\:row-end-1{
    grid-row-end: 1;
  }

  :root .xs\:row-end-2{
    grid-row-end: 2;
  }

  :root .xs\:row-end-3{
    grid-row-end: 3;
  }

  :root .xs\:row-end-4{
    grid-row-end: 4;
  }

  :root .xs\:row-end-5{
    grid-row-end: 5;
  }

  :root .xs\:row-end-6{
    grid-row-end: 6;
  }

  :root .xs\:row-end-7{
    grid-row-end: 7;
  }

  :root .xs\:row-end-auto{
    grid-row-end: auto;
  }

  :root .xs\:transform{
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  :root .xs\:transform-gpu{
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  :root .xs\:transform-none{
    transform: none;
  }

  :root .xs\:origin-center{
    transform-origin: center;
  }

  :root .xs\:origin-top{
    transform-origin: top;
  }

  :root .xs\:origin-top-right{
    transform-origin: top right;
  }

  :root .xs\:origin-right{
    transform-origin: right;
  }

  :root .xs\:origin-bottom-right{
    transform-origin: bottom right;
  }

  :root .xs\:origin-bottom{
    transform-origin: bottom;
  }

  :root .xs\:origin-bottom-left{
    transform-origin: bottom left;
  }

  :root .xs\:origin-left{
    transform-origin: left;
  }

  :root .xs\:origin-top-left{
    transform-origin: top left;
  }

  :root .xs\:scale-0{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
  }

  :root .xs\:scale-50{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
  }

  :root .xs\:scale-75{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
  }

  :root .xs\:scale-90{
    --tw-scale-x: .9;
    --tw-scale-y: .9;
  }

  :root .xs\:scale-95{
    --tw-scale-x: .95;
    --tw-scale-y: .95;
  }

  :root .xs\:scale-100{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
  }

  :root .xs\:scale-105{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  :root .xs\:scale-110{
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
  }

  :root .xs\:scale-125{
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
  }

  :root .xs\:scale-150{
    --tw-scale-x: 1.5;
    --tw-scale-y: 1.5;
  }

  :root .xs\:scale-x-0{
    --tw-scale-x: 0;
  }

  :root .xs\:scale-x-50{
    --tw-scale-x: .5;
  }

  :root .xs\:scale-x-75{
    --tw-scale-x: .75;
  }

  :root .xs\:scale-x-90{
    --tw-scale-x: .9;
  }

  :root .xs\:scale-x-95{
    --tw-scale-x: .95;
  }

  :root .xs\:scale-x-100{
    --tw-scale-x: 1;
  }

  :root .xs\:scale-x-105{
    --tw-scale-x: 1.05;
  }

  :root .xs\:scale-x-110{
    --tw-scale-x: 1.1;
  }

  :root .xs\:scale-x-125{
    --tw-scale-x: 1.25;
  }

  :root .xs\:scale-x-150{
    --tw-scale-x: 1.5;
  }

  :root .xs\:scale-y-0{
    --tw-scale-y: 0;
  }

  :root .xs\:scale-y-50{
    --tw-scale-y: .5;
  }

  :root .xs\:scale-y-75{
    --tw-scale-y: .75;
  }

  :root .xs\:scale-y-90{
    --tw-scale-y: .9;
  }

  :root .xs\:scale-y-95{
    --tw-scale-y: .95;
  }

  :root .xs\:scale-y-100{
    --tw-scale-y: 1;
  }

  :root .xs\:scale-y-105{
    --tw-scale-y: 1.05;
  }

  :root .xs\:scale-y-110{
    --tw-scale-y: 1.1;
  }

  :root .xs\:scale-y-125{
    --tw-scale-y: 1.25;
  }

  :root .xs\:scale-y-150{
    --tw-scale-y: 1.5;
  }

  :root .xs\:hover\:scale-0:hover{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
  }

  :root .xs\:hover\:scale-50:hover{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
  }

  :root .xs\:hover\:scale-75:hover{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
  }

  :root .xs\:hover\:scale-90:hover{
    --tw-scale-x: .9;
    --tw-scale-y: .9;
  }

  :root .xs\:hover\:scale-95:hover{
    --tw-scale-x: .95;
    --tw-scale-y: .95;
  }

  :root .xs\:hover\:scale-100:hover{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
  }

  :root .xs\:hover\:scale-105:hover{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  :root .xs\:hover\:scale-110:hover{
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
  }

  :root .xs\:hover\:scale-125:hover{
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
  }

  :root .xs\:hover\:scale-150:hover{
    --tw-scale-x: 1.5;
    --tw-scale-y: 1.5;
  }

  :root .xs\:hover\:scale-x-0:hover{
    --tw-scale-x: 0;
  }

  :root .xs\:hover\:scale-x-50:hover{
    --tw-scale-x: .5;
  }

  :root .xs\:hover\:scale-x-75:hover{
    --tw-scale-x: .75;
  }

  :root .xs\:hover\:scale-x-90:hover{
    --tw-scale-x: .9;
  }

  :root .xs\:hover\:scale-x-95:hover{
    --tw-scale-x: .95;
  }

  :root .xs\:hover\:scale-x-100:hover{
    --tw-scale-x: 1;
  }

  :root .xs\:hover\:scale-x-105:hover{
    --tw-scale-x: 1.05;
  }

  :root .xs\:hover\:scale-x-110:hover{
    --tw-scale-x: 1.1;
  }

  :root .xs\:hover\:scale-x-125:hover{
    --tw-scale-x: 1.25;
  }

  :root .xs\:hover\:scale-x-150:hover{
    --tw-scale-x: 1.5;
  }

  :root .xs\:hover\:scale-y-0:hover{
    --tw-scale-y: 0;
  }

  :root .xs\:hover\:scale-y-50:hover{
    --tw-scale-y: .5;
  }

  :root .xs\:hover\:scale-y-75:hover{
    --tw-scale-y: .75;
  }

  :root .xs\:hover\:scale-y-90:hover{
    --tw-scale-y: .9;
  }

  :root .xs\:hover\:scale-y-95:hover{
    --tw-scale-y: .95;
  }

  :root .xs\:hover\:scale-y-100:hover{
    --tw-scale-y: 1;
  }

  :root .xs\:hover\:scale-y-105:hover{
    --tw-scale-y: 1.05;
  }

  :root .xs\:hover\:scale-y-110:hover{
    --tw-scale-y: 1.1;
  }

  :root .xs\:hover\:scale-y-125:hover{
    --tw-scale-y: 1.25;
  }

  :root .xs\:hover\:scale-y-150:hover{
    --tw-scale-y: 1.5;
  }

  :root .xs\:focus\:scale-0:focus{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
  }

  :root .xs\:focus\:scale-50:focus{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
  }

  :root .xs\:focus\:scale-75:focus{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
  }

  :root .xs\:focus\:scale-90:focus{
    --tw-scale-x: .9;
    --tw-scale-y: .9;
  }

  :root .xs\:focus\:scale-95:focus{
    --tw-scale-x: .95;
    --tw-scale-y: .95;
  }

  :root .xs\:focus\:scale-100:focus{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
  }

  :root .xs\:focus\:scale-105:focus{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  :root .xs\:focus\:scale-110:focus{
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
  }

  :root .xs\:focus\:scale-125:focus{
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
  }

  :root .xs\:focus\:scale-150:focus{
    --tw-scale-x: 1.5;
    --tw-scale-y: 1.5;
  }

  :root .xs\:focus\:scale-x-0:focus{
    --tw-scale-x: 0;
  }

  :root .xs\:focus\:scale-x-50:focus{
    --tw-scale-x: .5;
  }

  :root .xs\:focus\:scale-x-75:focus{
    --tw-scale-x: .75;
  }

  :root .xs\:focus\:scale-x-90:focus{
    --tw-scale-x: .9;
  }

  :root .xs\:focus\:scale-x-95:focus{
    --tw-scale-x: .95;
  }

  :root .xs\:focus\:scale-x-100:focus{
    --tw-scale-x: 1;
  }

  :root .xs\:focus\:scale-x-105:focus{
    --tw-scale-x: 1.05;
  }

  :root .xs\:focus\:scale-x-110:focus{
    --tw-scale-x: 1.1;
  }

  :root .xs\:focus\:scale-x-125:focus{
    --tw-scale-x: 1.25;
  }

  :root .xs\:focus\:scale-x-150:focus{
    --tw-scale-x: 1.5;
  }

  :root .xs\:focus\:scale-y-0:focus{
    --tw-scale-y: 0;
  }

  :root .xs\:focus\:scale-y-50:focus{
    --tw-scale-y: .5;
  }

  :root .xs\:focus\:scale-y-75:focus{
    --tw-scale-y: .75;
  }

  :root .xs\:focus\:scale-y-90:focus{
    --tw-scale-y: .9;
  }

  :root .xs\:focus\:scale-y-95:focus{
    --tw-scale-y: .95;
  }

  :root .xs\:focus\:scale-y-100:focus{
    --tw-scale-y: 1;
  }

  :root .xs\:focus\:scale-y-105:focus{
    --tw-scale-y: 1.05;
  }

  :root .xs\:focus\:scale-y-110:focus{
    --tw-scale-y: 1.1;
  }

  :root .xs\:focus\:scale-y-125:focus{
    --tw-scale-y: 1.25;
  }

  :root .xs\:focus\:scale-y-150:focus{
    --tw-scale-y: 1.5;
  }

  :root .xs\:rotate-0{
    --tw-rotate: 0deg;
  }

  :root .xs\:rotate-1{
    --tw-rotate: 1deg;
  }

  :root .xs\:rotate-2{
    --tw-rotate: 2deg;
  }

  :root .xs\:rotate-3{
    --tw-rotate: 3deg;
  }

  :root .xs\:rotate-6{
    --tw-rotate: 6deg;
  }

  :root .xs\:rotate-12{
    --tw-rotate: 12deg;
  }

  :root .xs\:rotate-45{
    --tw-rotate: 45deg;
  }

  :root .xs\:rotate-90{
    --tw-rotate: 90deg;
  }

  :root .xs\:rotate-180{
    --tw-rotate: 180deg;
  }

  :root .xs\:-rotate-180{
    --tw-rotate: -180deg;
  }

  :root .xs\:-rotate-90{
    --tw-rotate: -90deg;
  }

  :root .xs\:-rotate-45{
    --tw-rotate: -45deg;
  }

  :root .xs\:-rotate-12{
    --tw-rotate: -12deg;
  }

  :root .xs\:-rotate-6{
    --tw-rotate: -6deg;
  }

  :root .xs\:-rotate-3{
    --tw-rotate: -3deg;
  }

  :root .xs\:-rotate-2{
    --tw-rotate: -2deg;
  }

  :root .xs\:-rotate-1{
    --tw-rotate: -1deg;
  }

  :root .xs\:hover\:rotate-0:hover{
    --tw-rotate: 0deg;
  }

  :root .xs\:hover\:rotate-1:hover{
    --tw-rotate: 1deg;
  }

  :root .xs\:hover\:rotate-2:hover{
    --tw-rotate: 2deg;
  }

  :root .xs\:hover\:rotate-3:hover{
    --tw-rotate: 3deg;
  }

  :root .xs\:hover\:rotate-6:hover{
    --tw-rotate: 6deg;
  }

  :root .xs\:hover\:rotate-12:hover{
    --tw-rotate: 12deg;
  }

  :root .xs\:hover\:rotate-45:hover{
    --tw-rotate: 45deg;
  }

  :root .xs\:hover\:rotate-90:hover{
    --tw-rotate: 90deg;
  }

  :root .xs\:hover\:rotate-180:hover{
    --tw-rotate: 180deg;
  }

  :root .xs\:hover\:-rotate-180:hover{
    --tw-rotate: -180deg;
  }

  :root .xs\:hover\:-rotate-90:hover{
    --tw-rotate: -90deg;
  }

  :root .xs\:hover\:-rotate-45:hover{
    --tw-rotate: -45deg;
  }

  :root .xs\:hover\:-rotate-12:hover{
    --tw-rotate: -12deg;
  }

  :root .xs\:hover\:-rotate-6:hover{
    --tw-rotate: -6deg;
  }

  :root .xs\:hover\:-rotate-3:hover{
    --tw-rotate: -3deg;
  }

  :root .xs\:hover\:-rotate-2:hover{
    --tw-rotate: -2deg;
  }

  :root .xs\:hover\:-rotate-1:hover{
    --tw-rotate: -1deg;
  }

  :root .xs\:focus\:rotate-0:focus{
    --tw-rotate: 0deg;
  }

  :root .xs\:focus\:rotate-1:focus{
    --tw-rotate: 1deg;
  }

  :root .xs\:focus\:rotate-2:focus{
    --tw-rotate: 2deg;
  }

  :root .xs\:focus\:rotate-3:focus{
    --tw-rotate: 3deg;
  }

  :root .xs\:focus\:rotate-6:focus{
    --tw-rotate: 6deg;
  }

  :root .xs\:focus\:rotate-12:focus{
    --tw-rotate: 12deg;
  }

  :root .xs\:focus\:rotate-45:focus{
    --tw-rotate: 45deg;
  }

  :root .xs\:focus\:rotate-90:focus{
    --tw-rotate: 90deg;
  }

  :root .xs\:focus\:rotate-180:focus{
    --tw-rotate: 180deg;
  }

  :root .xs\:focus\:-rotate-180:focus{
    --tw-rotate: -180deg;
  }

  :root .xs\:focus\:-rotate-90:focus{
    --tw-rotate: -90deg;
  }

  :root .xs\:focus\:-rotate-45:focus{
    --tw-rotate: -45deg;
  }

  :root .xs\:focus\:-rotate-12:focus{
    --tw-rotate: -12deg;
  }

  :root .xs\:focus\:-rotate-6:focus{
    --tw-rotate: -6deg;
  }

  :root .xs\:focus\:-rotate-3:focus{
    --tw-rotate: -3deg;
  }

  :root .xs\:focus\:-rotate-2:focus{
    --tw-rotate: -2deg;
  }

  :root .xs\:focus\:-rotate-1:focus{
    --tw-rotate: -1deg;
  }

  :root .xs\:translate-x-0{
    --tw-translate-x: 0;
  }

  :root .xs\:translate-x-1{
    --tw-translate-x: 0.25rem;
  }

  :root .xs\:translate-x-2{
    --tw-translate-x: 0.5rem;
  }

  :root .xs\:translate-x-3{
    --tw-translate-x: 0.75rem;
  }

  :root .xs\:translate-x-4{
    --tw-translate-x: 1rem;
  }

  :root .xs\:translate-x-5{
    --tw-translate-x: 1.25rem;
  }

  :root .xs\:translate-x-6{
    --tw-translate-x: 1.5rem;
  }

  :root .xs\:translate-x-8{
    --tw-translate-x: 2rem;
  }

  :root .xs\:translate-x-9{
    --tw-translate-x: 2.25rem;
  }

  :root .xs\:translate-x-10{
    --tw-translate-x: 2.5rem;
  }

  :root .xs\:translate-x-12{
    --tw-translate-x: 3rem;
  }

  :root .xs\:translate-x-14{
    --tw-translate-x: 3.5rem;
  }

  :root .xs\:translate-x-16{
    --tw-translate-x: 4rem;
  }

  :root .xs\:translate-x-20{
    --tw-translate-x: 5rem;
  }

  :root .xs\:translate-x-24{
    --tw-translate-x: 6rem;
  }

  :root .xs\:translate-x-32{
    --tw-translate-x: 8rem;
  }

  :root .xs\:translate-x-40{
    --tw-translate-x: 10rem;
  }

  :root .xs\:translate-x-48{
    --tw-translate-x: 12rem;
  }

  :root .xs\:translate-x-56{
    --tw-translate-x: 14rem;
  }

  :root .xs\:translate-x-64{
    --tw-translate-x: 16rem;
  }

  :root .xs\:translate-x-px{
    --tw-translate-x: 1px;
  }

  :root .xs\:translate-x-gutter{
    --tw-translate-x: var(--padding-gutter);
  }

  :root .xs\:-translate-x-1{
    --tw-translate-x: -0.25rem;
  }

  :root .xs\:-translate-x-2{
    --tw-translate-x: -0.5rem;
  }

  :root .xs\:-translate-x-3{
    --tw-translate-x: -0.75rem;
  }

  :root .xs\:-translate-x-4{
    --tw-translate-x: -1rem;
  }

  :root .xs\:-translate-x-5{
    --tw-translate-x: -1.25rem;
  }

  :root .xs\:-translate-x-6{
    --tw-translate-x: -1.5rem;
  }

  :root .xs\:-translate-x-8{
    --tw-translate-x: -2rem;
  }

  :root .xs\:-translate-x-9{
    --tw-translate-x: -2.25rem;
  }

  :root .xs\:-translate-x-10{
    --tw-translate-x: -2.5rem;
  }

  :root .xs\:-translate-x-12{
    --tw-translate-x: -3rem;
  }

  :root .xs\:-translate-x-14{
    --tw-translate-x: -3.5rem;
  }

  :root .xs\:-translate-x-16{
    --tw-translate-x: -4rem;
  }

  :root .xs\:-translate-x-20{
    --tw-translate-x: -5rem;
  }

  :root .xs\:-translate-x-24{
    --tw-translate-x: -6rem;
  }

  :root .xs\:-translate-x-32{
    --tw-translate-x: -8rem;
  }

  :root .xs\:-translate-x-40{
    --tw-translate-x: -10rem;
  }

  :root .xs\:-translate-x-48{
    --tw-translate-x: -12rem;
  }

  :root .xs\:-translate-x-56{
    --tw-translate-x: -14rem;
  }

  :root .xs\:-translate-x-64{
    --tw-translate-x: -16rem;
  }

  :root .xs\:-translate-x-px{
    --tw-translate-x: -1px;
  }

  :root .xs\:-translate-x-gutter{
    --tw-translate-x: calc(var(--padding-gutter) * -1);
  }

  :root .xs\:translate-x-1\/2{
    --tw-translate-x: 50%;
  }

  :root .xs\:translate-x-1\/3{
    --tw-translate-x: 33.333333%;
  }

  :root .xs\:translate-x-2\/3{
    --tw-translate-x: 66.666667%;
  }

  :root .xs\:translate-x-1\/4{
    --tw-translate-x: 25%;
  }

  :root .xs\:translate-x-2\/4{
    --tw-translate-x: 50%;
  }

  :root .xs\:translate-x-3\/4{
    --tw-translate-x: 75%;
  }

  :root .xs\:translate-x-full{
    --tw-translate-x: 100%;
  }

  :root .xs\:-translate-x-1\/2{
    --tw-translate-x: -50%;
  }

  :root .xs\:-translate-x-1\/3{
    --tw-translate-x: -33.333333%;
  }

  :root .xs\:-translate-x-2\/3{
    --tw-translate-x: -66.666667%;
  }

  :root .xs\:-translate-x-1\/4{
    --tw-translate-x: -25%;
  }

  :root .xs\:-translate-x-2\/4{
    --tw-translate-x: -50%;
  }

  :root .xs\:-translate-x-3\/4{
    --tw-translate-x: -75%;
  }

  :root .xs\:-translate-x-full{
    --tw-translate-x: -100%;
  }

  :root .xs\:translate-y-0{
    --tw-translate-y: 0;
  }

  :root .xs\:translate-y-1{
    --tw-translate-y: 0.25rem;
  }

  :root .xs\:translate-y-2{
    --tw-translate-y: 0.5rem;
  }

  :root .xs\:translate-y-3{
    --tw-translate-y: 0.75rem;
  }

  :root .xs\:translate-y-4{
    --tw-translate-y: 1rem;
  }

  :root .xs\:translate-y-5{
    --tw-translate-y: 1.25rem;
  }

  :root .xs\:translate-y-6{
    --tw-translate-y: 1.5rem;
  }

  :root .xs\:translate-y-8{
    --tw-translate-y: 2rem;
  }

  :root .xs\:translate-y-9{
    --tw-translate-y: 2.25rem;
  }

  :root .xs\:translate-y-10{
    --tw-translate-y: 2.5rem;
  }

  :root .xs\:translate-y-12{
    --tw-translate-y: 3rem;
  }

  :root .xs\:translate-y-14{
    --tw-translate-y: 3.5rem;
  }

  :root .xs\:translate-y-16{
    --tw-translate-y: 4rem;
  }

  :root .xs\:translate-y-20{
    --tw-translate-y: 5rem;
  }

  :root .xs\:translate-y-24{
    --tw-translate-y: 6rem;
  }

  :root .xs\:translate-y-32{
    --tw-translate-y: 8rem;
  }

  :root .xs\:translate-y-40{
    --tw-translate-y: 10rem;
  }

  :root .xs\:translate-y-48{
    --tw-translate-y: 12rem;
  }

  :root .xs\:translate-y-56{
    --tw-translate-y: 14rem;
  }

  :root .xs\:translate-y-64{
    --tw-translate-y: 16rem;
  }

  :root .xs\:translate-y-px{
    --tw-translate-y: 1px;
  }

  :root .xs\:translate-y-gutter{
    --tw-translate-y: var(--padding-gutter);
  }

  :root .xs\:-translate-y-1{
    --tw-translate-y: -0.25rem;
  }

  :root .xs\:-translate-y-2{
    --tw-translate-y: -0.5rem;
  }

  :root .xs\:-translate-y-3{
    --tw-translate-y: -0.75rem;
  }

  :root .xs\:-translate-y-4{
    --tw-translate-y: -1rem;
  }

  :root .xs\:-translate-y-5{
    --tw-translate-y: -1.25rem;
  }

  :root .xs\:-translate-y-6{
    --tw-translate-y: -1.5rem;
  }

  :root .xs\:-translate-y-8{
    --tw-translate-y: -2rem;
  }

  :root .xs\:-translate-y-9{
    --tw-translate-y: -2.25rem;
  }

  :root .xs\:-translate-y-10{
    --tw-translate-y: -2.5rem;
  }

  :root .xs\:-translate-y-12{
    --tw-translate-y: -3rem;
  }

  :root .xs\:-translate-y-14{
    --tw-translate-y: -3.5rem;
  }

  :root .xs\:-translate-y-16{
    --tw-translate-y: -4rem;
  }

  :root .xs\:-translate-y-20{
    --tw-translate-y: -5rem;
  }

  :root .xs\:-translate-y-24{
    --tw-translate-y: -6rem;
  }

  :root .xs\:-translate-y-32{
    --tw-translate-y: -8rem;
  }

  :root .xs\:-translate-y-40{
    --tw-translate-y: -10rem;
  }

  :root .xs\:-translate-y-48{
    --tw-translate-y: -12rem;
  }

  :root .xs\:-translate-y-56{
    --tw-translate-y: -14rem;
  }

  :root .xs\:-translate-y-64{
    --tw-translate-y: -16rem;
  }

  :root .xs\:-translate-y-px{
    --tw-translate-y: -1px;
  }

  :root .xs\:-translate-y-gutter{
    --tw-translate-y: calc(var(--padding-gutter) * -1);
  }

  :root .xs\:translate-y-1\/2{
    --tw-translate-y: 50%;
  }

  :root .xs\:translate-y-1\/3{
    --tw-translate-y: 33.333333%;
  }

  :root .xs\:translate-y-2\/3{
    --tw-translate-y: 66.666667%;
  }

  :root .xs\:translate-y-1\/4{
    --tw-translate-y: 25%;
  }

  :root .xs\:translate-y-2\/4{
    --tw-translate-y: 50%;
  }

  :root .xs\:translate-y-3\/4{
    --tw-translate-y: 75%;
  }

  :root .xs\:translate-y-full{
    --tw-translate-y: 100%;
  }

  :root .xs\:-translate-y-1\/2{
    --tw-translate-y: -50%;
  }

  :root .xs\:-translate-y-1\/3{
    --tw-translate-y: -33.333333%;
  }

  :root .xs\:-translate-y-2\/3{
    --tw-translate-y: -66.666667%;
  }

  :root .xs\:-translate-y-1\/4{
    --tw-translate-y: -25%;
  }

  :root .xs\:-translate-y-2\/4{
    --tw-translate-y: -50%;
  }

  :root .xs\:-translate-y-3\/4{
    --tw-translate-y: -75%;
  }

  :root .xs\:-translate-y-full{
    --tw-translate-y: -100%;
  }

  :root .xs\:hover\:translate-x-0:hover{
    --tw-translate-x: 0;
  }

  :root .xs\:hover\:translate-x-1:hover{
    --tw-translate-x: 0.25rem;
  }

  :root .xs\:hover\:translate-x-2:hover{
    --tw-translate-x: 0.5rem;
  }

  :root .xs\:hover\:translate-x-3:hover{
    --tw-translate-x: 0.75rem;
  }

  :root .xs\:hover\:translate-x-4:hover{
    --tw-translate-x: 1rem;
  }

  :root .xs\:hover\:translate-x-5:hover{
    --tw-translate-x: 1.25rem;
  }

  :root .xs\:hover\:translate-x-6:hover{
    --tw-translate-x: 1.5rem;
  }

  :root .xs\:hover\:translate-x-8:hover{
    --tw-translate-x: 2rem;
  }

  :root .xs\:hover\:translate-x-9:hover{
    --tw-translate-x: 2.25rem;
  }

  :root .xs\:hover\:translate-x-10:hover{
    --tw-translate-x: 2.5rem;
  }

  :root .xs\:hover\:translate-x-12:hover{
    --tw-translate-x: 3rem;
  }

  :root .xs\:hover\:translate-x-14:hover{
    --tw-translate-x: 3.5rem;
  }

  :root .xs\:hover\:translate-x-16:hover{
    --tw-translate-x: 4rem;
  }

  :root .xs\:hover\:translate-x-20:hover{
    --tw-translate-x: 5rem;
  }

  :root .xs\:hover\:translate-x-24:hover{
    --tw-translate-x: 6rem;
  }

  :root .xs\:hover\:translate-x-32:hover{
    --tw-translate-x: 8rem;
  }

  :root .xs\:hover\:translate-x-40:hover{
    --tw-translate-x: 10rem;
  }

  :root .xs\:hover\:translate-x-48:hover{
    --tw-translate-x: 12rem;
  }

  :root .xs\:hover\:translate-x-56:hover{
    --tw-translate-x: 14rem;
  }

  :root .xs\:hover\:translate-x-64:hover{
    --tw-translate-x: 16rem;
  }

  :root .xs\:hover\:translate-x-px:hover{
    --tw-translate-x: 1px;
  }

  :root .xs\:hover\:translate-x-gutter:hover{
    --tw-translate-x: var(--padding-gutter);
  }

  :root .xs\:hover\:-translate-x-1:hover{
    --tw-translate-x: -0.25rem;
  }

  :root .xs\:hover\:-translate-x-2:hover{
    --tw-translate-x: -0.5rem;
  }

  :root .xs\:hover\:-translate-x-3:hover{
    --tw-translate-x: -0.75rem;
  }

  :root .xs\:hover\:-translate-x-4:hover{
    --tw-translate-x: -1rem;
  }

  :root .xs\:hover\:-translate-x-5:hover{
    --tw-translate-x: -1.25rem;
  }

  :root .xs\:hover\:-translate-x-6:hover{
    --tw-translate-x: -1.5rem;
  }

  :root .xs\:hover\:-translate-x-8:hover{
    --tw-translate-x: -2rem;
  }

  :root .xs\:hover\:-translate-x-9:hover{
    --tw-translate-x: -2.25rem;
  }

  :root .xs\:hover\:-translate-x-10:hover{
    --tw-translate-x: -2.5rem;
  }

  :root .xs\:hover\:-translate-x-12:hover{
    --tw-translate-x: -3rem;
  }

  :root .xs\:hover\:-translate-x-14:hover{
    --tw-translate-x: -3.5rem;
  }

  :root .xs\:hover\:-translate-x-16:hover{
    --tw-translate-x: -4rem;
  }

  :root .xs\:hover\:-translate-x-20:hover{
    --tw-translate-x: -5rem;
  }

  :root .xs\:hover\:-translate-x-24:hover{
    --tw-translate-x: -6rem;
  }

  :root .xs\:hover\:-translate-x-32:hover{
    --tw-translate-x: -8rem;
  }

  :root .xs\:hover\:-translate-x-40:hover{
    --tw-translate-x: -10rem;
  }

  :root .xs\:hover\:-translate-x-48:hover{
    --tw-translate-x: -12rem;
  }

  :root .xs\:hover\:-translate-x-56:hover{
    --tw-translate-x: -14rem;
  }

  :root .xs\:hover\:-translate-x-64:hover{
    --tw-translate-x: -16rem;
  }

  :root .xs\:hover\:-translate-x-px:hover{
    --tw-translate-x: -1px;
  }

  :root .xs\:hover\:-translate-x-gutter:hover{
    --tw-translate-x: calc(var(--padding-gutter) * -1);
  }

  :root .xs\:hover\:translate-x-1\/2:hover{
    --tw-translate-x: 50%;
  }

  :root .xs\:hover\:translate-x-1\/3:hover{
    --tw-translate-x: 33.333333%;
  }

  :root .xs\:hover\:translate-x-2\/3:hover{
    --tw-translate-x: 66.666667%;
  }

  :root .xs\:hover\:translate-x-1\/4:hover{
    --tw-translate-x: 25%;
  }

  :root .xs\:hover\:translate-x-2\/4:hover{
    --tw-translate-x: 50%;
  }

  :root .xs\:hover\:translate-x-3\/4:hover{
    --tw-translate-x: 75%;
  }

  :root .xs\:hover\:translate-x-full:hover{
    --tw-translate-x: 100%;
  }

  :root .xs\:hover\:-translate-x-1\/2:hover{
    --tw-translate-x: -50%;
  }

  :root .xs\:hover\:-translate-x-1\/3:hover{
    --tw-translate-x: -33.333333%;
  }

  :root .xs\:hover\:-translate-x-2\/3:hover{
    --tw-translate-x: -66.666667%;
  }

  :root .xs\:hover\:-translate-x-1\/4:hover{
    --tw-translate-x: -25%;
  }

  :root .xs\:hover\:-translate-x-2\/4:hover{
    --tw-translate-x: -50%;
  }

  :root .xs\:hover\:-translate-x-3\/4:hover{
    --tw-translate-x: -75%;
  }

  :root .xs\:hover\:-translate-x-full:hover{
    --tw-translate-x: -100%;
  }

  :root .xs\:hover\:translate-y-0:hover{
    --tw-translate-y: 0;
  }

  :root .xs\:hover\:translate-y-1:hover{
    --tw-translate-y: 0.25rem;
  }

  :root .xs\:hover\:translate-y-2:hover{
    --tw-translate-y: 0.5rem;
  }

  :root .xs\:hover\:translate-y-3:hover{
    --tw-translate-y: 0.75rem;
  }

  :root .xs\:hover\:translate-y-4:hover{
    --tw-translate-y: 1rem;
  }

  :root .xs\:hover\:translate-y-5:hover{
    --tw-translate-y: 1.25rem;
  }

  :root .xs\:hover\:translate-y-6:hover{
    --tw-translate-y: 1.5rem;
  }

  :root .xs\:hover\:translate-y-8:hover{
    --tw-translate-y: 2rem;
  }

  :root .xs\:hover\:translate-y-9:hover{
    --tw-translate-y: 2.25rem;
  }

  :root .xs\:hover\:translate-y-10:hover{
    --tw-translate-y: 2.5rem;
  }

  :root .xs\:hover\:translate-y-12:hover{
    --tw-translate-y: 3rem;
  }

  :root .xs\:hover\:translate-y-14:hover{
    --tw-translate-y: 3.5rem;
  }

  :root .xs\:hover\:translate-y-16:hover{
    --tw-translate-y: 4rem;
  }

  :root .xs\:hover\:translate-y-20:hover{
    --tw-translate-y: 5rem;
  }

  :root .xs\:hover\:translate-y-24:hover{
    --tw-translate-y: 6rem;
  }

  :root .xs\:hover\:translate-y-32:hover{
    --tw-translate-y: 8rem;
  }

  :root .xs\:hover\:translate-y-40:hover{
    --tw-translate-y: 10rem;
  }

  :root .xs\:hover\:translate-y-48:hover{
    --tw-translate-y: 12rem;
  }

  :root .xs\:hover\:translate-y-56:hover{
    --tw-translate-y: 14rem;
  }

  :root .xs\:hover\:translate-y-64:hover{
    --tw-translate-y: 16rem;
  }

  :root .xs\:hover\:translate-y-px:hover{
    --tw-translate-y: 1px;
  }

  :root .xs\:hover\:translate-y-gutter:hover{
    --tw-translate-y: var(--padding-gutter);
  }

  :root .xs\:hover\:-translate-y-1:hover{
    --tw-translate-y: -0.25rem;
  }

  :root .xs\:hover\:-translate-y-2:hover{
    --tw-translate-y: -0.5rem;
  }

  :root .xs\:hover\:-translate-y-3:hover{
    --tw-translate-y: -0.75rem;
  }

  :root .xs\:hover\:-translate-y-4:hover{
    --tw-translate-y: -1rem;
  }

  :root .xs\:hover\:-translate-y-5:hover{
    --tw-translate-y: -1.25rem;
  }

  :root .xs\:hover\:-translate-y-6:hover{
    --tw-translate-y: -1.5rem;
  }

  :root .xs\:hover\:-translate-y-8:hover{
    --tw-translate-y: -2rem;
  }

  :root .xs\:hover\:-translate-y-9:hover{
    --tw-translate-y: -2.25rem;
  }

  :root .xs\:hover\:-translate-y-10:hover{
    --tw-translate-y: -2.5rem;
  }

  :root .xs\:hover\:-translate-y-12:hover{
    --tw-translate-y: -3rem;
  }

  :root .xs\:hover\:-translate-y-14:hover{
    --tw-translate-y: -3.5rem;
  }

  :root .xs\:hover\:-translate-y-16:hover{
    --tw-translate-y: -4rem;
  }

  :root .xs\:hover\:-translate-y-20:hover{
    --tw-translate-y: -5rem;
  }

  :root .xs\:hover\:-translate-y-24:hover{
    --tw-translate-y: -6rem;
  }

  :root .xs\:hover\:-translate-y-32:hover{
    --tw-translate-y: -8rem;
  }

  :root .xs\:hover\:-translate-y-40:hover{
    --tw-translate-y: -10rem;
  }

  :root .xs\:hover\:-translate-y-48:hover{
    --tw-translate-y: -12rem;
  }

  :root .xs\:hover\:-translate-y-56:hover{
    --tw-translate-y: -14rem;
  }

  :root .xs\:hover\:-translate-y-64:hover{
    --tw-translate-y: -16rem;
  }

  :root .xs\:hover\:-translate-y-px:hover{
    --tw-translate-y: -1px;
  }

  :root .xs\:hover\:-translate-y-gutter:hover{
    --tw-translate-y: calc(var(--padding-gutter) * -1);
  }

  :root .xs\:hover\:translate-y-1\/2:hover{
    --tw-translate-y: 50%;
  }

  :root .xs\:hover\:translate-y-1\/3:hover{
    --tw-translate-y: 33.333333%;
  }

  :root .xs\:hover\:translate-y-2\/3:hover{
    --tw-translate-y: 66.666667%;
  }

  :root .xs\:hover\:translate-y-1\/4:hover{
    --tw-translate-y: 25%;
  }

  :root .xs\:hover\:translate-y-2\/4:hover{
    --tw-translate-y: 50%;
  }

  :root .xs\:hover\:translate-y-3\/4:hover{
    --tw-translate-y: 75%;
  }

  :root .xs\:hover\:translate-y-full:hover{
    --tw-translate-y: 100%;
  }

  :root .xs\:hover\:-translate-y-1\/2:hover{
    --tw-translate-y: -50%;
  }

  :root .xs\:hover\:-translate-y-1\/3:hover{
    --tw-translate-y: -33.333333%;
  }

  :root .xs\:hover\:-translate-y-2\/3:hover{
    --tw-translate-y: -66.666667%;
  }

  :root .xs\:hover\:-translate-y-1\/4:hover{
    --tw-translate-y: -25%;
  }

  :root .xs\:hover\:-translate-y-2\/4:hover{
    --tw-translate-y: -50%;
  }

  :root .xs\:hover\:-translate-y-3\/4:hover{
    --tw-translate-y: -75%;
  }

  :root .xs\:hover\:-translate-y-full:hover{
    --tw-translate-y: -100%;
  }

  :root .xs\:focus\:translate-x-0:focus{
    --tw-translate-x: 0;
  }

  :root .xs\:focus\:translate-x-1:focus{
    --tw-translate-x: 0.25rem;
  }

  :root .xs\:focus\:translate-x-2:focus{
    --tw-translate-x: 0.5rem;
  }

  :root .xs\:focus\:translate-x-3:focus{
    --tw-translate-x: 0.75rem;
  }

  :root .xs\:focus\:translate-x-4:focus{
    --tw-translate-x: 1rem;
  }

  :root .xs\:focus\:translate-x-5:focus{
    --tw-translate-x: 1.25rem;
  }

  :root .xs\:focus\:translate-x-6:focus{
    --tw-translate-x: 1.5rem;
  }

  :root .xs\:focus\:translate-x-8:focus{
    --tw-translate-x: 2rem;
  }

  :root .xs\:focus\:translate-x-9:focus{
    --tw-translate-x: 2.25rem;
  }

  :root .xs\:focus\:translate-x-10:focus{
    --tw-translate-x: 2.5rem;
  }

  :root .xs\:focus\:translate-x-12:focus{
    --tw-translate-x: 3rem;
  }

  :root .xs\:focus\:translate-x-14:focus{
    --tw-translate-x: 3.5rem;
  }

  :root .xs\:focus\:translate-x-16:focus{
    --tw-translate-x: 4rem;
  }

  :root .xs\:focus\:translate-x-20:focus{
    --tw-translate-x: 5rem;
  }

  :root .xs\:focus\:translate-x-24:focus{
    --tw-translate-x: 6rem;
  }

  :root .xs\:focus\:translate-x-32:focus{
    --tw-translate-x: 8rem;
  }

  :root .xs\:focus\:translate-x-40:focus{
    --tw-translate-x: 10rem;
  }

  :root .xs\:focus\:translate-x-48:focus{
    --tw-translate-x: 12rem;
  }

  :root .xs\:focus\:translate-x-56:focus{
    --tw-translate-x: 14rem;
  }

  :root .xs\:focus\:translate-x-64:focus{
    --tw-translate-x: 16rem;
  }

  :root .xs\:focus\:translate-x-px:focus{
    --tw-translate-x: 1px;
  }

  :root .xs\:focus\:translate-x-gutter:focus{
    --tw-translate-x: var(--padding-gutter);
  }

  :root .xs\:focus\:-translate-x-1:focus{
    --tw-translate-x: -0.25rem;
  }

  :root .xs\:focus\:-translate-x-2:focus{
    --tw-translate-x: -0.5rem;
  }

  :root .xs\:focus\:-translate-x-3:focus{
    --tw-translate-x: -0.75rem;
  }

  :root .xs\:focus\:-translate-x-4:focus{
    --tw-translate-x: -1rem;
  }

  :root .xs\:focus\:-translate-x-5:focus{
    --tw-translate-x: -1.25rem;
  }

  :root .xs\:focus\:-translate-x-6:focus{
    --tw-translate-x: -1.5rem;
  }

  :root .xs\:focus\:-translate-x-8:focus{
    --tw-translate-x: -2rem;
  }

  :root .xs\:focus\:-translate-x-9:focus{
    --tw-translate-x: -2.25rem;
  }

  :root .xs\:focus\:-translate-x-10:focus{
    --tw-translate-x: -2.5rem;
  }

  :root .xs\:focus\:-translate-x-12:focus{
    --tw-translate-x: -3rem;
  }

  :root .xs\:focus\:-translate-x-14:focus{
    --tw-translate-x: -3.5rem;
  }

  :root .xs\:focus\:-translate-x-16:focus{
    --tw-translate-x: -4rem;
  }

  :root .xs\:focus\:-translate-x-20:focus{
    --tw-translate-x: -5rem;
  }

  :root .xs\:focus\:-translate-x-24:focus{
    --tw-translate-x: -6rem;
  }

  :root .xs\:focus\:-translate-x-32:focus{
    --tw-translate-x: -8rem;
  }

  :root .xs\:focus\:-translate-x-40:focus{
    --tw-translate-x: -10rem;
  }

  :root .xs\:focus\:-translate-x-48:focus{
    --tw-translate-x: -12rem;
  }

  :root .xs\:focus\:-translate-x-56:focus{
    --tw-translate-x: -14rem;
  }

  :root .xs\:focus\:-translate-x-64:focus{
    --tw-translate-x: -16rem;
  }

  :root .xs\:focus\:-translate-x-px:focus{
    --tw-translate-x: -1px;
  }

  :root .xs\:focus\:-translate-x-gutter:focus{
    --tw-translate-x: calc(var(--padding-gutter) * -1);
  }

  :root .xs\:focus\:translate-x-1\/2:focus{
    --tw-translate-x: 50%;
  }

  :root .xs\:focus\:translate-x-1\/3:focus{
    --tw-translate-x: 33.333333%;
  }

  :root .xs\:focus\:translate-x-2\/3:focus{
    --tw-translate-x: 66.666667%;
  }

  :root .xs\:focus\:translate-x-1\/4:focus{
    --tw-translate-x: 25%;
  }

  :root .xs\:focus\:translate-x-2\/4:focus{
    --tw-translate-x: 50%;
  }

  :root .xs\:focus\:translate-x-3\/4:focus{
    --tw-translate-x: 75%;
  }

  :root .xs\:focus\:translate-x-full:focus{
    --tw-translate-x: 100%;
  }

  :root .xs\:focus\:-translate-x-1\/2:focus{
    --tw-translate-x: -50%;
  }

  :root .xs\:focus\:-translate-x-1\/3:focus{
    --tw-translate-x: -33.333333%;
  }

  :root .xs\:focus\:-translate-x-2\/3:focus{
    --tw-translate-x: -66.666667%;
  }

  :root .xs\:focus\:-translate-x-1\/4:focus{
    --tw-translate-x: -25%;
  }

  :root .xs\:focus\:-translate-x-2\/4:focus{
    --tw-translate-x: -50%;
  }

  :root .xs\:focus\:-translate-x-3\/4:focus{
    --tw-translate-x: -75%;
  }

  :root .xs\:focus\:-translate-x-full:focus{
    --tw-translate-x: -100%;
  }

  :root .xs\:focus\:translate-y-0:focus{
    --tw-translate-y: 0;
  }

  :root .xs\:focus\:translate-y-1:focus{
    --tw-translate-y: 0.25rem;
  }

  :root .xs\:focus\:translate-y-2:focus{
    --tw-translate-y: 0.5rem;
  }

  :root .xs\:focus\:translate-y-3:focus{
    --tw-translate-y: 0.75rem;
  }

  :root .xs\:focus\:translate-y-4:focus{
    --tw-translate-y: 1rem;
  }

  :root .xs\:focus\:translate-y-5:focus{
    --tw-translate-y: 1.25rem;
  }

  :root .xs\:focus\:translate-y-6:focus{
    --tw-translate-y: 1.5rem;
  }

  :root .xs\:focus\:translate-y-8:focus{
    --tw-translate-y: 2rem;
  }

  :root .xs\:focus\:translate-y-9:focus{
    --tw-translate-y: 2.25rem;
  }

  :root .xs\:focus\:translate-y-10:focus{
    --tw-translate-y: 2.5rem;
  }

  :root .xs\:focus\:translate-y-12:focus{
    --tw-translate-y: 3rem;
  }

  :root .xs\:focus\:translate-y-14:focus{
    --tw-translate-y: 3.5rem;
  }

  :root .xs\:focus\:translate-y-16:focus{
    --tw-translate-y: 4rem;
  }

  :root .xs\:focus\:translate-y-20:focus{
    --tw-translate-y: 5rem;
  }

  :root .xs\:focus\:translate-y-24:focus{
    --tw-translate-y: 6rem;
  }

  :root .xs\:focus\:translate-y-32:focus{
    --tw-translate-y: 8rem;
  }

  :root .xs\:focus\:translate-y-40:focus{
    --tw-translate-y: 10rem;
  }

  :root .xs\:focus\:translate-y-48:focus{
    --tw-translate-y: 12rem;
  }

  :root .xs\:focus\:translate-y-56:focus{
    --tw-translate-y: 14rem;
  }

  :root .xs\:focus\:translate-y-64:focus{
    --tw-translate-y: 16rem;
  }

  :root .xs\:focus\:translate-y-px:focus{
    --tw-translate-y: 1px;
  }

  :root .xs\:focus\:translate-y-gutter:focus{
    --tw-translate-y: var(--padding-gutter);
  }

  :root .xs\:focus\:-translate-y-1:focus{
    --tw-translate-y: -0.25rem;
  }

  :root .xs\:focus\:-translate-y-2:focus{
    --tw-translate-y: -0.5rem;
  }

  :root .xs\:focus\:-translate-y-3:focus{
    --tw-translate-y: -0.75rem;
  }

  :root .xs\:focus\:-translate-y-4:focus{
    --tw-translate-y: -1rem;
  }

  :root .xs\:focus\:-translate-y-5:focus{
    --tw-translate-y: -1.25rem;
  }

  :root .xs\:focus\:-translate-y-6:focus{
    --tw-translate-y: -1.5rem;
  }

  :root .xs\:focus\:-translate-y-8:focus{
    --tw-translate-y: -2rem;
  }

  :root .xs\:focus\:-translate-y-9:focus{
    --tw-translate-y: -2.25rem;
  }

  :root .xs\:focus\:-translate-y-10:focus{
    --tw-translate-y: -2.5rem;
  }

  :root .xs\:focus\:-translate-y-12:focus{
    --tw-translate-y: -3rem;
  }

  :root .xs\:focus\:-translate-y-14:focus{
    --tw-translate-y: -3.5rem;
  }

  :root .xs\:focus\:-translate-y-16:focus{
    --tw-translate-y: -4rem;
  }

  :root .xs\:focus\:-translate-y-20:focus{
    --tw-translate-y: -5rem;
  }

  :root .xs\:focus\:-translate-y-24:focus{
    --tw-translate-y: -6rem;
  }

  :root .xs\:focus\:-translate-y-32:focus{
    --tw-translate-y: -8rem;
  }

  :root .xs\:focus\:-translate-y-40:focus{
    --tw-translate-y: -10rem;
  }

  :root .xs\:focus\:-translate-y-48:focus{
    --tw-translate-y: -12rem;
  }

  :root .xs\:focus\:-translate-y-56:focus{
    --tw-translate-y: -14rem;
  }

  :root .xs\:focus\:-translate-y-64:focus{
    --tw-translate-y: -16rem;
  }

  :root .xs\:focus\:-translate-y-px:focus{
    --tw-translate-y: -1px;
  }

  :root .xs\:focus\:-translate-y-gutter:focus{
    --tw-translate-y: calc(var(--padding-gutter) * -1);
  }

  :root .xs\:focus\:translate-y-1\/2:focus{
    --tw-translate-y: 50%;
  }

  :root .xs\:focus\:translate-y-1\/3:focus{
    --tw-translate-y: 33.333333%;
  }

  :root .xs\:focus\:translate-y-2\/3:focus{
    --tw-translate-y: 66.666667%;
  }

  :root .xs\:focus\:translate-y-1\/4:focus{
    --tw-translate-y: 25%;
  }

  :root .xs\:focus\:translate-y-2\/4:focus{
    --tw-translate-y: 50%;
  }

  :root .xs\:focus\:translate-y-3\/4:focus{
    --tw-translate-y: 75%;
  }

  :root .xs\:focus\:translate-y-full:focus{
    --tw-translate-y: 100%;
  }

  :root .xs\:focus\:-translate-y-1\/2:focus{
    --tw-translate-y: -50%;
  }

  :root .xs\:focus\:-translate-y-1\/3:focus{
    --tw-translate-y: -33.333333%;
  }

  :root .xs\:focus\:-translate-y-2\/3:focus{
    --tw-translate-y: -66.666667%;
  }

  :root .xs\:focus\:-translate-y-1\/4:focus{
    --tw-translate-y: -25%;
  }

  :root .xs\:focus\:-translate-y-2\/4:focus{
    --tw-translate-y: -50%;
  }

  :root .xs\:focus\:-translate-y-3\/4:focus{
    --tw-translate-y: -75%;
  }

  :root .xs\:focus\:-translate-y-full:focus{
    --tw-translate-y: -100%;
  }

  :root .xs\:skew-x-0{
    --tw-skew-x: 0deg;
  }

  :root .xs\:skew-x-1{
    --tw-skew-x: 1deg;
  }

  :root .xs\:skew-x-2{
    --tw-skew-x: 2deg;
  }

  :root .xs\:skew-x-3{
    --tw-skew-x: 3deg;
  }

  :root .xs\:skew-x-6{
    --tw-skew-x: 6deg;
  }

  :root .xs\:skew-x-12{
    --tw-skew-x: 12deg;
  }

  :root .xs\:-skew-x-12{
    --tw-skew-x: -12deg;
  }

  :root .xs\:-skew-x-6{
    --tw-skew-x: -6deg;
  }

  :root .xs\:-skew-x-3{
    --tw-skew-x: -3deg;
  }

  :root .xs\:-skew-x-2{
    --tw-skew-x: -2deg;
  }

  :root .xs\:-skew-x-1{
    --tw-skew-x: -1deg;
  }

  :root .xs\:skew-y-0{
    --tw-skew-y: 0deg;
  }

  :root .xs\:skew-y-1{
    --tw-skew-y: 1deg;
  }

  :root .xs\:skew-y-2{
    --tw-skew-y: 2deg;
  }

  :root .xs\:skew-y-3{
    --tw-skew-y: 3deg;
  }

  :root .xs\:skew-y-6{
    --tw-skew-y: 6deg;
  }

  :root .xs\:skew-y-12{
    --tw-skew-y: 12deg;
  }

  :root .xs\:-skew-y-12{
    --tw-skew-y: -12deg;
  }

  :root .xs\:-skew-y-6{
    --tw-skew-y: -6deg;
  }

  :root .xs\:-skew-y-3{
    --tw-skew-y: -3deg;
  }

  :root .xs\:-skew-y-2{
    --tw-skew-y: -2deg;
  }

  :root .xs\:-skew-y-1{
    --tw-skew-y: -1deg;
  }

  :root .xs\:hover\:skew-x-0:hover{
    --tw-skew-x: 0deg;
  }

  :root .xs\:hover\:skew-x-1:hover{
    --tw-skew-x: 1deg;
  }

  :root .xs\:hover\:skew-x-2:hover{
    --tw-skew-x: 2deg;
  }

  :root .xs\:hover\:skew-x-3:hover{
    --tw-skew-x: 3deg;
  }

  :root .xs\:hover\:skew-x-6:hover{
    --tw-skew-x: 6deg;
  }

  :root .xs\:hover\:skew-x-12:hover{
    --tw-skew-x: 12deg;
  }

  :root .xs\:hover\:-skew-x-12:hover{
    --tw-skew-x: -12deg;
  }

  :root .xs\:hover\:-skew-x-6:hover{
    --tw-skew-x: -6deg;
  }

  :root .xs\:hover\:-skew-x-3:hover{
    --tw-skew-x: -3deg;
  }

  :root .xs\:hover\:-skew-x-2:hover{
    --tw-skew-x: -2deg;
  }

  :root .xs\:hover\:-skew-x-1:hover{
    --tw-skew-x: -1deg;
  }

  :root .xs\:hover\:skew-y-0:hover{
    --tw-skew-y: 0deg;
  }

  :root .xs\:hover\:skew-y-1:hover{
    --tw-skew-y: 1deg;
  }

  :root .xs\:hover\:skew-y-2:hover{
    --tw-skew-y: 2deg;
  }

  :root .xs\:hover\:skew-y-3:hover{
    --tw-skew-y: 3deg;
  }

  :root .xs\:hover\:skew-y-6:hover{
    --tw-skew-y: 6deg;
  }

  :root .xs\:hover\:skew-y-12:hover{
    --tw-skew-y: 12deg;
  }

  :root .xs\:hover\:-skew-y-12:hover{
    --tw-skew-y: -12deg;
  }

  :root .xs\:hover\:-skew-y-6:hover{
    --tw-skew-y: -6deg;
  }

  :root .xs\:hover\:-skew-y-3:hover{
    --tw-skew-y: -3deg;
  }

  :root .xs\:hover\:-skew-y-2:hover{
    --tw-skew-y: -2deg;
  }

  :root .xs\:hover\:-skew-y-1:hover{
    --tw-skew-y: -1deg;
  }

  :root .xs\:focus\:skew-x-0:focus{
    --tw-skew-x: 0deg;
  }

  :root .xs\:focus\:skew-x-1:focus{
    --tw-skew-x: 1deg;
  }

  :root .xs\:focus\:skew-x-2:focus{
    --tw-skew-x: 2deg;
  }

  :root .xs\:focus\:skew-x-3:focus{
    --tw-skew-x: 3deg;
  }

  :root .xs\:focus\:skew-x-6:focus{
    --tw-skew-x: 6deg;
  }

  :root .xs\:focus\:skew-x-12:focus{
    --tw-skew-x: 12deg;
  }

  :root .xs\:focus\:-skew-x-12:focus{
    --tw-skew-x: -12deg;
  }

  :root .xs\:focus\:-skew-x-6:focus{
    --tw-skew-x: -6deg;
  }

  :root .xs\:focus\:-skew-x-3:focus{
    --tw-skew-x: -3deg;
  }

  :root .xs\:focus\:-skew-x-2:focus{
    --tw-skew-x: -2deg;
  }

  :root .xs\:focus\:-skew-x-1:focus{
    --tw-skew-x: -1deg;
  }

  :root .xs\:focus\:skew-y-0:focus{
    --tw-skew-y: 0deg;
  }

  :root .xs\:focus\:skew-y-1:focus{
    --tw-skew-y: 1deg;
  }

  :root .xs\:focus\:skew-y-2:focus{
    --tw-skew-y: 2deg;
  }

  :root .xs\:focus\:skew-y-3:focus{
    --tw-skew-y: 3deg;
  }

  :root .xs\:focus\:skew-y-6:focus{
    --tw-skew-y: 6deg;
  }

  :root .xs\:focus\:skew-y-12:focus{
    --tw-skew-y: 12deg;
  }

  :root .xs\:focus\:-skew-y-12:focus{
    --tw-skew-y: -12deg;
  }

  :root .xs\:focus\:-skew-y-6:focus{
    --tw-skew-y: -6deg;
  }

  :root .xs\:focus\:-skew-y-3:focus{
    --tw-skew-y: -3deg;
  }

  :root .xs\:focus\:-skew-y-2:focus{
    --tw-skew-y: -2deg;
  }

  :root .xs\:focus\:-skew-y-1:focus{
    --tw-skew-y: -1deg;
  }

  :root .xs\:transition-none{
    transition-property: none;
  }

  :root .xs\:transition-all{
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .xs\:transition{
    transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .xs\:transition-colors{
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .xs\:transition-opacity{
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .xs\:transition-shadow{
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .xs\:transition-transform{
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .xs\:ease-linear{
    transition-timing-function: linear;
  }

  :root .xs\:ease-in{
    transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  }

  :root .xs\:ease-out{
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }

  :root .xs\:ease-in-out{
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }

  :root .xs\:duration-75{
    transition-duration: 75ms;
  }

  :root .xs\:duration-100{
    transition-duration: 100ms;
  }

  :root .xs\:duration-150{
    transition-duration: 150ms;
  }

  :root .xs\:duration-200{
    transition-duration: 200ms;
  }

  :root .xs\:duration-300{
    transition-duration: 300ms;
  }

  :root .xs\:duration-500{
    transition-duration: 500ms;
  }

  :root .xs\:duration-700{
    transition-duration: 700ms;
  }

  :root .xs\:duration-1000{
    transition-duration: 1000ms;
  }

  :root .xs\:delay-75{
    transition-delay: 75ms;
  }

  :root .xs\:delay-100{
    transition-delay: 100ms;
  }

  :root .xs\:delay-150{
    transition-delay: 150ms;
  }

  :root .xs\:delay-200{
    transition-delay: 200ms;
  }

  :root .xs\:delay-300{
    transition-delay: 300ms;
  }

  :root .xs\:delay-500{
    transition-delay: 500ms;
  }

  :root .xs\:delay-700{
    transition-delay: 700ms;
  }

  :root .xs\:delay-1000{
    transition-delay: 1000ms;
  }

  :root .xs\:animate-none{
    -webkit-animation: none;
            animation: none;
  }

  :root .xs\:animate-spin{
    -webkit-animation: spin 1s linear infinite;
            animation: spin 1s linear infinite;
  }

  :root .xs\:animate-ping{
    -webkit-animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
            animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
  }

  :root .xs\:animate-pulse{
    -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
            animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  }

  :root .xs\:animate-bounce{
    -webkit-animation: bounce 1s infinite;
            animation: bounce 1s infinite;
  }
}

@media (min-width: 600px){
  :root .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0px * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-0 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0px * var(--tw-space-x-reverse));
    margin-left: calc(0px * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1.25rem * var(--tw-space-x-reverse));
    margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1.5rem * var(--tw-space-x-reverse));
    margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2rem * var(--tw-space-x-reverse));
    margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.25rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2.25rem * var(--tw-space-x-reverse));
    margin-left: calc(2.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2.5rem * var(--tw-space-x-reverse));
    margin-left: calc(2.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(3rem * var(--tw-space-x-reverse));
    margin-left: calc(3rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3.5rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(3.5rem * var(--tw-space-x-reverse));
    margin-left: calc(3.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(4rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(4rem * var(--tw-space-x-reverse));
    margin-left: calc(4rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(5rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(5rem * var(--tw-space-x-reverse));
    margin-left: calc(5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(6rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(6rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(6rem * var(--tw-space-x-reverse));
    margin-left: calc(6rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(8rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(8rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(8rem * var(--tw-space-x-reverse));
    margin-left: calc(8rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(10rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(10rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(10rem * var(--tw-space-x-reverse));
    margin-left: calc(10rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(12rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(12rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(12rem * var(--tw-space-x-reverse));
    margin-left: calc(12rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(14rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(14rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(14rem * var(--tw-space-x-reverse));
    margin-left: calc(14rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(16rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(16rem * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(16rem * var(--tw-space-x-reverse));
    margin-left: calc(16rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1px * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1px * var(--tw-space-x-reverse));
    margin-left: calc(1px * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(var(--padding-gutter) * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(var(--padding-gutter) * var(--tw-space-y-reverse));
  }

  :root .sm\:space-x-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(var(--padding-gutter) * var(--tw-space-x-reverse));
    margin-left: calc(var(--padding-gutter) * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-0.25rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-0.5rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-0.75rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1rem * var(--tw-space-x-reverse));
    margin-left: calc(-1rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1.25rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1.25rem * var(--tw-space-x-reverse));
    margin-left: calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1.5rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-2rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-2rem * var(--tw-space-x-reverse));
    margin-left: calc(-2rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-2.25rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-2.25rem * var(--tw-space-x-reverse));
    margin-left: calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-2.5rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-2.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-3rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-3rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-3rem * var(--tw-space-x-reverse));
    margin-left: calc(-3rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-3.5rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-3.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-4rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-4rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-4rem * var(--tw-space-x-reverse));
    margin-left: calc(-4rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-5rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-5rem * var(--tw-space-x-reverse));
    margin-left: calc(-5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-6rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-6rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-6rem * var(--tw-space-x-reverse));
    margin-left: calc(-6rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-8rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-8rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-8rem * var(--tw-space-x-reverse));
    margin-left: calc(-8rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-10rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-10rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-10rem * var(--tw-space-x-reverse));
    margin-left: calc(-10rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-12rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-12rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-12rem * var(--tw-space-x-reverse));
    margin-left: calc(-12rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-14rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-14rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-14rem * var(--tw-space-x-reverse));
    margin-left: calc(-14rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-16rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-16rem * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-16rem * var(--tw-space-x-reverse));
    margin-left: calc(-16rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1px * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1px * var(--tw-space-x-reverse));
    margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:-space-y-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(calc(var(--padding-gutter) * -1) * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(calc(var(--padding-gutter) * -1) * var(--tw-space-y-reverse));
  }

  :root .sm\:-space-x-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(calc(var(--padding-gutter) * -1) * var(--tw-space-x-reverse));
    margin-left: calc(calc(var(--padding-gutter) * -1) * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .sm\:space-y-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 1;
  }

  :root .sm\:space-x-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 1;
  }

  :root .sm\:divide-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(0px * var(--tw-divide-y-reverse));
  }

  :root .sm\:divide-x-0 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(0px * var(--tw-divide-x-reverse));
    border-left-width: calc(0px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .sm\:divide-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(2px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(2px * var(--tw-divide-y-reverse));
  }

  :root .sm\:divide-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(2px * var(--tw-divide-x-reverse));
    border-left-width: calc(2px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .sm\:divide-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(3px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(3px * var(--tw-divide-y-reverse));
  }

  :root .sm\:divide-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(3px * var(--tw-divide-x-reverse));
    border-left-width: calc(3px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .sm\:divide-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(4px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(4px * var(--tw-divide-y-reverse));
  }

  :root .sm\:divide-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(4px * var(--tw-divide-x-reverse));
    border-left-width: calc(4px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .sm\:divide-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(8px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(8px * var(--tw-divide-y-reverse));
  }

  :root .sm\:divide-x-8 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(8px * var(--tw-divide-x-reverse));
    border-left-width: calc(8px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .sm\:divide-y > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
  }

  :root .sm\:divide-x > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .sm\:divide-y-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 1;
  }

  :root .sm\:divide-x-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 1;
  }

  :root .sm\:divide-current > :not([hidden]) ~ :not([hidden]){
    border-color: currentColor;
  }

  :root .sm\:divide-transparent > :not([hidden]) ~ :not([hidden]){
    border-color: transparent;
  }

  :root .sm\:divide-black > :not([hidden]) ~ :not([hidden]){
    border-color: var(--text-color);
  }

  :root .sm\:divide-white > :not([hidden]) ~ :not([hidden]){
    border-color: var(--text-color-light);
  }

  :root .sm\:divide-contrast-black > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-divide-opacity));
  }

  :root .sm\:divide-contrast-white > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-divide-opacity));
  }

  :root .sm\:divide-gray-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:divide-gray > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-divide-opacity));
  }

  :root .sm\:divide-red-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:divide-red > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-divide-opacity));
  }

  :root .sm\:divide-orange-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:divide-orange > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-divide-opacity));
  }

  :root .sm\:divide-deep-orange-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:divide-deep-orange > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-divide-opacity));
  }

  :root .sm\:divide-amber-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:divide-amber > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-divide-opacity));
  }

  :root .sm\:divide-green-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:divide-green > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-divide-opacity));
  }

  :root .sm\:divide-teal-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:divide-teal > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-divide-opacity));
  }

  :root .sm\:divide-cyan-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:divide-cyan > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-divide-opacity));
  }

  :root .sm\:divide-purple-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:divide-purple > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-divide-opacity));
  }

  :root .sm\:divide-deep-purple-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:divide-deep-purple > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-divide-opacity));
  }

  :root .sm\:divide-pink-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:divide-pink > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-divide-opacity));
  }

  :root .sm\:divide-primary-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(var(--color-primary), .1);
  }

  :root .sm\:divide-primary > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(var(--color-primary));
  }

  :root .sm\:divide-accent-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(var(--color-accent), .1);
  }

  :root .sm\:divide-accent > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(var(--color-accent));
  }

  :root .sm\:divide-warn-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(var(--color-warn), .1);
  }

  :root .sm\:divide-warn > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(var(--color-warn));
  }

  :root .sm\:divide-solid > :not([hidden]) ~ :not([hidden]){
    border-style: solid;
  }

  :root .sm\:divide-dashed > :not([hidden]) ~ :not([hidden]){
    border-style: dashed;
  }

  :root .sm\:divide-dotted > :not([hidden]) ~ :not([hidden]){
    border-style: dotted;
  }

  :root .sm\:divide-double > :not([hidden]) ~ :not([hidden]){
    border-style: double;
  }

  :root .sm\:divide-none > :not([hidden]) ~ :not([hidden]){
    border-style: none;
  }

  :root .sm\:divide-opacity-0 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0;
  }

  :root .sm\:divide-opacity-25 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0.25;
  }

  :root .sm\:divide-opacity-50 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0.5;
  }

  :root .sm\:divide-opacity-75 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0.75;
  }

  :root .sm\:divide-opacity-100 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
  }

  :root .sm\:sr-only{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }

  :root .sm\:not-sr-only{
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }

  :root .sm\:focus\:sr-only:focus{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }

  :root .sm\:focus\:not-sr-only:focus{
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }

  :root .sm\:appearance-none{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }

  :root .sm\:bg-fixed{
    background-attachment: fixed;
  }

  :root .sm\:bg-local{
    background-attachment: local;
  }

  :root .sm\:bg-scroll{
    background-attachment: scroll;
  }

  :root .sm\:bg-clip-border{
    background-clip: border-box;
  }

  :root .sm\:bg-clip-padding{
    background-clip: padding-box;
  }

  :root .sm\:bg-clip-content{
    background-clip: content-box;
  }

  :root .sm\:bg-clip-text{
    -webkit-background-clip: text;
            background-clip: text;
  }

  :root .sm\:bg-base{
    background-color: var(--background-base);
  }

  :root .sm\:bg-card{
    background-color: var(--background-card);
  }

  :root .sm\:bg-app-bar{
    background-color: var(--background-app-bar);
  }

  :root .sm\:bg-hover{
    background-color: var(--background-hover);
  }

  :root .sm\:bg-current{
    background-color: currentColor;
  }

  :root .sm\:bg-transparent{
    background-color: transparent;
  }

  :root .sm\:bg-black{
    background-color: var(--text-color);
  }

  :root .sm\:bg-white{
    background-color: var(--text-color-light);
  }

  :root .sm\:bg-contrast-black{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
  }

  :root .sm\:bg-contrast-white{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  }

  :root .sm\:bg-gray-light{
    background-color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:bg-gray{
    --tw-bg-opacity: 1;
    background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
  }

  :root .sm\:bg-red-light{
    background-color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:bg-red{
    --tw-bg-opacity: 1;
    background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
  }

  :root .sm\:bg-orange-light{
    background-color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:bg-orange{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
  }

  :root .sm\:bg-deep-orange-light{
    background-color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:bg-deep-orange{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
  }

  :root .sm\:bg-amber-light{
    background-color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:bg-amber{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
  }

  :root .sm\:bg-green-light{
    background-color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:bg-green{
    --tw-bg-opacity: 1;
    background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
  }

  :root .sm\:bg-teal-light{
    background-color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:bg-teal{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
  }

  :root .sm\:bg-cyan-light{
    background-color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:bg-cyan{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
  }

  :root .sm\:bg-purple-light{
    background-color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:bg-purple{
    --tw-bg-opacity: 1;
    background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
  }

  :root .sm\:bg-deep-purple-light{
    background-color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:bg-deep-purple{
    --tw-bg-opacity: 1;
    background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
  }

  :root .sm\:bg-pink-light{
    background-color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:bg-pink{
    --tw-bg-opacity: 1;
    background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
  }

  :root .sm\:bg-primary-light{
    background-color: rgba(var(--color-primary), .1);
  }

  :root .sm\:bg-primary{
    background-color: rgb(var(--color-primary));
  }

  :root .sm\:bg-accent-light{
    background-color: rgba(var(--color-accent), .1);
  }

  :root .sm\:bg-accent{
    background-color: rgb(var(--color-accent));
  }

  :root .sm\:bg-warn-light{
    background-color: rgba(var(--color-warn), .1);
  }

  :root .sm\:bg-warn{
    background-color: rgb(var(--color-warn));
  }

  :root .sm\:hover\:bg-base:hover{
    background-color: var(--background-base);
  }

  :root .sm\:hover\:bg-card:hover{
    background-color: var(--background-card);
  }

  :root .sm\:hover\:bg-app-bar:hover{
    background-color: var(--background-app-bar);
  }

  :root .sm\:hover\:bg-hover:hover{
    background-color: var(--background-hover);
  }

  :root .sm\:hover\:bg-current:hover{
    background-color: currentColor;
  }

  :root .sm\:hover\:bg-transparent:hover{
    background-color: transparent;
  }

  :root .sm\:hover\:bg-black:hover{
    background-color: var(--text-color);
  }

  :root .sm\:hover\:bg-white:hover{
    background-color: var(--text-color-light);
  }

  :root .sm\:hover\:bg-contrast-black:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
  }

  :root .sm\:hover\:bg-contrast-white:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  }

  :root .sm\:hover\:bg-gray-light:hover{
    background-color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:hover\:bg-gray:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
  }

  :root .sm\:hover\:bg-red-light:hover{
    background-color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:hover\:bg-red:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
  }

  :root .sm\:hover\:bg-orange-light:hover{
    background-color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:hover\:bg-orange:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
  }

  :root .sm\:hover\:bg-deep-orange-light:hover{
    background-color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:hover\:bg-deep-orange:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
  }

  :root .sm\:hover\:bg-amber-light:hover{
    background-color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:hover\:bg-amber:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
  }

  :root .sm\:hover\:bg-green-light:hover{
    background-color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:hover\:bg-green:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
  }

  :root .sm\:hover\:bg-teal-light:hover{
    background-color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:hover\:bg-teal:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
  }

  :root .sm\:hover\:bg-cyan-light:hover{
    background-color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:hover\:bg-cyan:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
  }

  :root .sm\:hover\:bg-purple-light:hover{
    background-color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:hover\:bg-purple:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
  }

  :root .sm\:hover\:bg-deep-purple-light:hover{
    background-color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:hover\:bg-deep-purple:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
  }

  :root .sm\:hover\:bg-pink-light:hover{
    background-color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:hover\:bg-pink:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
  }

  :root .sm\:hover\:bg-primary-light:hover{
    background-color: rgba(var(--color-primary), .1);
  }

  :root .sm\:hover\:bg-primary:hover{
    background-color: rgb(var(--color-primary));
  }

  :root .sm\:hover\:bg-accent-light:hover{
    background-color: rgba(var(--color-accent), .1);
  }

  :root .sm\:hover\:bg-accent:hover{
    background-color: rgb(var(--color-accent));
  }

  :root .sm\:hover\:bg-warn-light:hover{
    background-color: rgba(var(--color-warn), .1);
  }

  :root .sm\:hover\:bg-warn:hover{
    background-color: rgb(var(--color-warn));
  }

  :root .sm\:focus\:bg-base:focus{
    background-color: var(--background-base);
  }

  :root .sm\:focus\:bg-card:focus{
    background-color: var(--background-card);
  }

  :root .sm\:focus\:bg-app-bar:focus{
    background-color: var(--background-app-bar);
  }

  :root .sm\:focus\:bg-hover:focus{
    background-color: var(--background-hover);
  }

  :root .sm\:focus\:bg-current:focus{
    background-color: currentColor;
  }

  :root .sm\:focus\:bg-transparent:focus{
    background-color: transparent;
  }

  :root .sm\:focus\:bg-black:focus{
    background-color: var(--text-color);
  }

  :root .sm\:focus\:bg-white:focus{
    background-color: var(--text-color-light);
  }

  :root .sm\:focus\:bg-contrast-black:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
  }

  :root .sm\:focus\:bg-contrast-white:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  }

  :root .sm\:focus\:bg-gray-light:focus{
    background-color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:focus\:bg-gray:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
  }

  :root .sm\:focus\:bg-red-light:focus{
    background-color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:focus\:bg-red:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
  }

  :root .sm\:focus\:bg-orange-light:focus{
    background-color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:focus\:bg-orange:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
  }

  :root .sm\:focus\:bg-deep-orange-light:focus{
    background-color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:focus\:bg-deep-orange:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
  }

  :root .sm\:focus\:bg-amber-light:focus{
    background-color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:focus\:bg-amber:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
  }

  :root .sm\:focus\:bg-green-light:focus{
    background-color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:focus\:bg-green:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
  }

  :root .sm\:focus\:bg-teal-light:focus{
    background-color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:focus\:bg-teal:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
  }

  :root .sm\:focus\:bg-cyan-light:focus{
    background-color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:focus\:bg-cyan:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
  }

  :root .sm\:focus\:bg-purple-light:focus{
    background-color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:focus\:bg-purple:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
  }

  :root .sm\:focus\:bg-deep-purple-light:focus{
    background-color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:focus\:bg-deep-purple:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
  }

  :root .sm\:focus\:bg-pink-light:focus{
    background-color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:focus\:bg-pink:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
  }

  :root .sm\:focus\:bg-primary-light:focus{
    background-color: rgba(var(--color-primary), .1);
  }

  :root .sm\:focus\:bg-primary:focus{
    background-color: rgb(var(--color-primary));
  }

  :root .sm\:focus\:bg-accent-light:focus{
    background-color: rgba(var(--color-accent), .1);
  }

  :root .sm\:focus\:bg-accent:focus{
    background-color: rgb(var(--color-accent));
  }

  :root .sm\:focus\:bg-warn-light:focus{
    background-color: rgba(var(--color-warn), .1);
  }

  :root .sm\:focus\:bg-warn:focus{
    background-color: rgb(var(--color-warn));
  }

  :root .sm\:bg-none{
    background-image: none;
  }

  :root .sm\:bg-gradient-to-t{
    background-image: linear-gradient(to top, var(--tw-gradient-stops));
  }

  :root .sm\:bg-gradient-to-tr{
    background-image: linear-gradient(to top right, var(--tw-gradient-stops));
  }

  :root .sm\:bg-gradient-to-r{
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
  }

  :root .sm\:bg-gradient-to-br{
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
  }

  :root .sm\:bg-gradient-to-b{
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
  }

  :root .sm\:bg-gradient-to-bl{
    background-image: linear-gradient(to bottom left, var(--tw-gradient-stops));
  }

  :root .sm\:bg-gradient-to-l{
    background-image: linear-gradient(to left, var(--tw-gradient-stops));
  }

  :root .sm\:bg-gradient-to-tl{
    background-image: linear-gradient(to top left, var(--tw-gradient-stops));
  }

  :root .sm\:from-current{
    --tw-gradient-from: currentColor;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:from-transparent{
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .sm\:from-black{
    --tw-gradient-from: var(--text-color);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:from-white{
    --tw-gradient-from: var(--text-color-light);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:from-contrast-black{
    --tw-gradient-from: black;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .sm\:from-contrast-white{
    --tw-gradient-from: white;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:from-gray-light{
    --tw-gradient-from: rgba(158, 158, 158, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .sm\:from-gray{
    --tw-gradient-from: rgb(158, 158, 158);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .sm\:from-red-light{
    --tw-gradient-from: rgba(244, 67, 54, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .sm\:from-red{
    --tw-gradient-from: rgb(244, 67, 54);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .sm\:from-orange-light{
    --tw-gradient-from: rgba(255, 152, 0, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .sm\:from-orange{
    --tw-gradient-from: rgb(255, 152, 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .sm\:from-deep-orange-light{
    --tw-gradient-from: rgba(255, 87, 34, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .sm\:from-deep-orange{
    --tw-gradient-from: rgb(255, 87, 34);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .sm\:from-amber-light{
    --tw-gradient-from: rgba(255, 193, 7, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .sm\:from-amber{
    --tw-gradient-from: rgb(255, 193, 7);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .sm\:from-green-light{
    --tw-gradient-from: rgba(76, 175, 80, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .sm\:from-green{
    --tw-gradient-from: rgb(76, 175, 80);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .sm\:from-teal-light{
    --tw-gradient-from: rgba(0, 150, 136, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .sm\:from-teal{
    --tw-gradient-from: rgb(0, 150, 136);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .sm\:from-cyan-light{
    --tw-gradient-from: rgba(0, 188, 212, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .sm\:from-cyan{
    --tw-gradient-from: rgb(0, 188, 212);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .sm\:from-purple-light{
    --tw-gradient-from: rgba(156, 39, 176, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .sm\:from-purple{
    --tw-gradient-from: rgb(156, 39, 176);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .sm\:from-deep-purple-light{
    --tw-gradient-from: rgba(103, 58, 183, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .sm\:from-deep-purple{
    --tw-gradient-from: rgb(103, 58, 183);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .sm\:from-pink-light{
    --tw-gradient-from: rgba(233, 30, 99, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .sm\:from-pink{
    --tw-gradient-from: rgb(233, 30, 99);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .sm\:from-primary-light{
    --tw-gradient-from: rgba(var(--color-primary), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:from-primary{
    --tw-gradient-from: rgb(var(--color-primary));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:from-accent-light{
    --tw-gradient-from: rgba(var(--color-accent), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:from-accent{
    --tw-gradient-from: rgb(var(--color-accent));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:from-warn-light{
    --tw-gradient-from: rgba(var(--color-warn), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:from-warn{
    --tw-gradient-from: rgb(var(--color-warn));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:via-current{
    --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:via-transparent{
    --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .sm\:via-black{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:via-white{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:via-contrast-black{
    --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .sm\:via-contrast-white{
    --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:via-gray-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .sm\:via-gray{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .sm\:via-red-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .sm\:via-red{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .sm\:via-orange-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .sm\:via-orange{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .sm\:via-deep-orange-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .sm\:via-deep-orange{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .sm\:via-amber-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .sm\:via-amber{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .sm\:via-green-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .sm\:via-green{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .sm\:via-teal-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .sm\:via-teal{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .sm\:via-cyan-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .sm\:via-cyan{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .sm\:via-purple-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .sm\:via-purple{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .sm\:via-deep-purple-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .sm\:via-deep-purple{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .sm\:via-pink-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .sm\:via-pink{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .sm\:via-primary-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:via-primary{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:via-accent-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:via-accent{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:via-warn-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:via-warn{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:to-current{
    --tw-gradient-to: currentColor;
  }

  :root .sm\:to-transparent{
    --tw-gradient-to: transparent;
  }

  :root .sm\:to-black{
    --tw-gradient-to: var(--text-color);
  }

  :root .sm\:to-white{
    --tw-gradient-to: var(--text-color-light);
  }

  :root .sm\:to-contrast-black{
    --tw-gradient-to: black;
  }

  :root .sm\:to-contrast-white{
    --tw-gradient-to: white;
  }

  :root .sm\:to-gray-light{
    --tw-gradient-to: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:to-gray{
    --tw-gradient-to: rgb(158, 158, 158);
  }

  :root .sm\:to-red-light{
    --tw-gradient-to: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:to-red{
    --tw-gradient-to: rgb(244, 67, 54);
  }

  :root .sm\:to-orange-light{
    --tw-gradient-to: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:to-orange{
    --tw-gradient-to: rgb(255, 152, 0);
  }

  :root .sm\:to-deep-orange-light{
    --tw-gradient-to: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:to-deep-orange{
    --tw-gradient-to: rgb(255, 87, 34);
  }

  :root .sm\:to-amber-light{
    --tw-gradient-to: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:to-amber{
    --tw-gradient-to: rgb(255, 193, 7);
  }

  :root .sm\:to-green-light{
    --tw-gradient-to: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:to-green{
    --tw-gradient-to: rgb(76, 175, 80);
  }

  :root .sm\:to-teal-light{
    --tw-gradient-to: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:to-teal{
    --tw-gradient-to: rgb(0, 150, 136);
  }

  :root .sm\:to-cyan-light{
    --tw-gradient-to: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:to-cyan{
    --tw-gradient-to: rgb(0, 188, 212);
  }

  :root .sm\:to-purple-light{
    --tw-gradient-to: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:to-purple{
    --tw-gradient-to: rgb(156, 39, 176);
  }

  :root .sm\:to-deep-purple-light{
    --tw-gradient-to: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:to-deep-purple{
    --tw-gradient-to: rgb(103, 58, 183);
  }

  :root .sm\:to-pink-light{
    --tw-gradient-to: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:to-pink{
    --tw-gradient-to: rgb(233, 30, 99);
  }

  :root .sm\:to-primary-light{
    --tw-gradient-to: rgba(var(--color-primary), .1);
  }

  :root .sm\:to-primary{
    --tw-gradient-to: rgb(var(--color-primary));
  }

  :root .sm\:to-accent-light{
    --tw-gradient-to: rgba(var(--color-accent), .1);
  }

  :root .sm\:to-accent{
    --tw-gradient-to: rgb(var(--color-accent));
  }

  :root .sm\:to-warn-light{
    --tw-gradient-to: rgba(var(--color-warn), .1);
  }

  :root .sm\:to-warn{
    --tw-gradient-to: rgb(var(--color-warn));
  }

  :root .sm\:hover\:from-current:hover{
    --tw-gradient-from: currentColor;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:from-transparent:hover{
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .sm\:hover\:from-black:hover{
    --tw-gradient-from: var(--text-color);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:from-white:hover{
    --tw-gradient-from: var(--text-color-light);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:from-contrast-black:hover{
    --tw-gradient-from: black;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .sm\:hover\:from-contrast-white:hover{
    --tw-gradient-from: white;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:from-gray-light:hover{
    --tw-gradient-from: rgba(158, 158, 158, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .sm\:hover\:from-gray:hover{
    --tw-gradient-from: rgb(158, 158, 158);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .sm\:hover\:from-red-light:hover{
    --tw-gradient-from: rgba(244, 67, 54, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .sm\:hover\:from-red:hover{
    --tw-gradient-from: rgb(244, 67, 54);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .sm\:hover\:from-orange-light:hover{
    --tw-gradient-from: rgba(255, 152, 0, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .sm\:hover\:from-orange:hover{
    --tw-gradient-from: rgb(255, 152, 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .sm\:hover\:from-deep-orange-light:hover{
    --tw-gradient-from: rgba(255, 87, 34, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .sm\:hover\:from-deep-orange:hover{
    --tw-gradient-from: rgb(255, 87, 34);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .sm\:hover\:from-amber-light:hover{
    --tw-gradient-from: rgba(255, 193, 7, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .sm\:hover\:from-amber:hover{
    --tw-gradient-from: rgb(255, 193, 7);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .sm\:hover\:from-green-light:hover{
    --tw-gradient-from: rgba(76, 175, 80, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .sm\:hover\:from-green:hover{
    --tw-gradient-from: rgb(76, 175, 80);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .sm\:hover\:from-teal-light:hover{
    --tw-gradient-from: rgba(0, 150, 136, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .sm\:hover\:from-teal:hover{
    --tw-gradient-from: rgb(0, 150, 136);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .sm\:hover\:from-cyan-light:hover{
    --tw-gradient-from: rgba(0, 188, 212, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .sm\:hover\:from-cyan:hover{
    --tw-gradient-from: rgb(0, 188, 212);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .sm\:hover\:from-purple-light:hover{
    --tw-gradient-from: rgba(156, 39, 176, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .sm\:hover\:from-purple:hover{
    --tw-gradient-from: rgb(156, 39, 176);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .sm\:hover\:from-deep-purple-light:hover{
    --tw-gradient-from: rgba(103, 58, 183, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .sm\:hover\:from-deep-purple:hover{
    --tw-gradient-from: rgb(103, 58, 183);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .sm\:hover\:from-pink-light:hover{
    --tw-gradient-from: rgba(233, 30, 99, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .sm\:hover\:from-pink:hover{
    --tw-gradient-from: rgb(233, 30, 99);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .sm\:hover\:from-primary-light:hover{
    --tw-gradient-from: rgba(var(--color-primary), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:from-primary:hover{
    --tw-gradient-from: rgb(var(--color-primary));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:from-accent-light:hover{
    --tw-gradient-from: rgba(var(--color-accent), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:from-accent:hover{
    --tw-gradient-from: rgb(var(--color-accent));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:from-warn-light:hover{
    --tw-gradient-from: rgba(var(--color-warn), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:from-warn:hover{
    --tw-gradient-from: rgb(var(--color-warn));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:via-current:hover{
    --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:via-transparent:hover{
    --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .sm\:hover\:via-black:hover{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:via-white:hover{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:via-contrast-black:hover{
    --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .sm\:hover\:via-contrast-white:hover{
    --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:via-gray-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .sm\:hover\:via-gray:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .sm\:hover\:via-red-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .sm\:hover\:via-red:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .sm\:hover\:via-orange-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .sm\:hover\:via-orange:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .sm\:hover\:via-deep-orange-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .sm\:hover\:via-deep-orange:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .sm\:hover\:via-amber-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .sm\:hover\:via-amber:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .sm\:hover\:via-green-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .sm\:hover\:via-green:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .sm\:hover\:via-teal-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .sm\:hover\:via-teal:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .sm\:hover\:via-cyan-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .sm\:hover\:via-cyan:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .sm\:hover\:via-purple-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .sm\:hover\:via-purple:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .sm\:hover\:via-deep-purple-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .sm\:hover\:via-deep-purple:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .sm\:hover\:via-pink-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .sm\:hover\:via-pink:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .sm\:hover\:via-primary-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:via-primary:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:via-accent-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:via-accent:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:via-warn-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:via-warn:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:hover\:to-current:hover{
    --tw-gradient-to: currentColor;
  }

  :root .sm\:hover\:to-transparent:hover{
    --tw-gradient-to: transparent;
  }

  :root .sm\:hover\:to-black:hover{
    --tw-gradient-to: var(--text-color);
  }

  :root .sm\:hover\:to-white:hover{
    --tw-gradient-to: var(--text-color-light);
  }

  :root .sm\:hover\:to-contrast-black:hover{
    --tw-gradient-to: black;
  }

  :root .sm\:hover\:to-contrast-white:hover{
    --tw-gradient-to: white;
  }

  :root .sm\:hover\:to-gray-light:hover{
    --tw-gradient-to: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:hover\:to-gray:hover{
    --tw-gradient-to: rgb(158, 158, 158);
  }

  :root .sm\:hover\:to-red-light:hover{
    --tw-gradient-to: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:hover\:to-red:hover{
    --tw-gradient-to: rgb(244, 67, 54);
  }

  :root .sm\:hover\:to-orange-light:hover{
    --tw-gradient-to: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:hover\:to-orange:hover{
    --tw-gradient-to: rgb(255, 152, 0);
  }

  :root .sm\:hover\:to-deep-orange-light:hover{
    --tw-gradient-to: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:hover\:to-deep-orange:hover{
    --tw-gradient-to: rgb(255, 87, 34);
  }

  :root .sm\:hover\:to-amber-light:hover{
    --tw-gradient-to: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:hover\:to-amber:hover{
    --tw-gradient-to: rgb(255, 193, 7);
  }

  :root .sm\:hover\:to-green-light:hover{
    --tw-gradient-to: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:hover\:to-green:hover{
    --tw-gradient-to: rgb(76, 175, 80);
  }

  :root .sm\:hover\:to-teal-light:hover{
    --tw-gradient-to: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:hover\:to-teal:hover{
    --tw-gradient-to: rgb(0, 150, 136);
  }

  :root .sm\:hover\:to-cyan-light:hover{
    --tw-gradient-to: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:hover\:to-cyan:hover{
    --tw-gradient-to: rgb(0, 188, 212);
  }

  :root .sm\:hover\:to-purple-light:hover{
    --tw-gradient-to: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:hover\:to-purple:hover{
    --tw-gradient-to: rgb(156, 39, 176);
  }

  :root .sm\:hover\:to-deep-purple-light:hover{
    --tw-gradient-to: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:hover\:to-deep-purple:hover{
    --tw-gradient-to: rgb(103, 58, 183);
  }

  :root .sm\:hover\:to-pink-light:hover{
    --tw-gradient-to: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:hover\:to-pink:hover{
    --tw-gradient-to: rgb(233, 30, 99);
  }

  :root .sm\:hover\:to-primary-light:hover{
    --tw-gradient-to: rgba(var(--color-primary), .1);
  }

  :root .sm\:hover\:to-primary:hover{
    --tw-gradient-to: rgb(var(--color-primary));
  }

  :root .sm\:hover\:to-accent-light:hover{
    --tw-gradient-to: rgba(var(--color-accent), .1);
  }

  :root .sm\:hover\:to-accent:hover{
    --tw-gradient-to: rgb(var(--color-accent));
  }

  :root .sm\:hover\:to-warn-light:hover{
    --tw-gradient-to: rgba(var(--color-warn), .1);
  }

  :root .sm\:hover\:to-warn:hover{
    --tw-gradient-to: rgb(var(--color-warn));
  }

  :root .sm\:focus\:from-current:focus{
    --tw-gradient-from: currentColor;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:from-transparent:focus{
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .sm\:focus\:from-black:focus{
    --tw-gradient-from: var(--text-color);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:from-white:focus{
    --tw-gradient-from: var(--text-color-light);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:from-contrast-black:focus{
    --tw-gradient-from: black;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .sm\:focus\:from-contrast-white:focus{
    --tw-gradient-from: white;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:from-gray-light:focus{
    --tw-gradient-from: rgba(158, 158, 158, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .sm\:focus\:from-gray:focus{
    --tw-gradient-from: rgb(158, 158, 158);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .sm\:focus\:from-red-light:focus{
    --tw-gradient-from: rgba(244, 67, 54, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .sm\:focus\:from-red:focus{
    --tw-gradient-from: rgb(244, 67, 54);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .sm\:focus\:from-orange-light:focus{
    --tw-gradient-from: rgba(255, 152, 0, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .sm\:focus\:from-orange:focus{
    --tw-gradient-from: rgb(255, 152, 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .sm\:focus\:from-deep-orange-light:focus{
    --tw-gradient-from: rgba(255, 87, 34, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .sm\:focus\:from-deep-orange:focus{
    --tw-gradient-from: rgb(255, 87, 34);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .sm\:focus\:from-amber-light:focus{
    --tw-gradient-from: rgba(255, 193, 7, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .sm\:focus\:from-amber:focus{
    --tw-gradient-from: rgb(255, 193, 7);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .sm\:focus\:from-green-light:focus{
    --tw-gradient-from: rgba(76, 175, 80, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .sm\:focus\:from-green:focus{
    --tw-gradient-from: rgb(76, 175, 80);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .sm\:focus\:from-teal-light:focus{
    --tw-gradient-from: rgba(0, 150, 136, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .sm\:focus\:from-teal:focus{
    --tw-gradient-from: rgb(0, 150, 136);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .sm\:focus\:from-cyan-light:focus{
    --tw-gradient-from: rgba(0, 188, 212, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .sm\:focus\:from-cyan:focus{
    --tw-gradient-from: rgb(0, 188, 212);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .sm\:focus\:from-purple-light:focus{
    --tw-gradient-from: rgba(156, 39, 176, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .sm\:focus\:from-purple:focus{
    --tw-gradient-from: rgb(156, 39, 176);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .sm\:focus\:from-deep-purple-light:focus{
    --tw-gradient-from: rgba(103, 58, 183, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .sm\:focus\:from-deep-purple:focus{
    --tw-gradient-from: rgb(103, 58, 183);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .sm\:focus\:from-pink-light:focus{
    --tw-gradient-from: rgba(233, 30, 99, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .sm\:focus\:from-pink:focus{
    --tw-gradient-from: rgb(233, 30, 99);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .sm\:focus\:from-primary-light:focus{
    --tw-gradient-from: rgba(var(--color-primary), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:from-primary:focus{
    --tw-gradient-from: rgb(var(--color-primary));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:from-accent-light:focus{
    --tw-gradient-from: rgba(var(--color-accent), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:from-accent:focus{
    --tw-gradient-from: rgb(var(--color-accent));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:from-warn-light:focus{
    --tw-gradient-from: rgba(var(--color-warn), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:from-warn:focus{
    --tw-gradient-from: rgb(var(--color-warn));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:via-current:focus{
    --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:via-transparent:focus{
    --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .sm\:focus\:via-black:focus{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:via-white:focus{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:via-contrast-black:focus{
    --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .sm\:focus\:via-contrast-white:focus{
    --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:via-gray-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .sm\:focus\:via-gray:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .sm\:focus\:via-red-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .sm\:focus\:via-red:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .sm\:focus\:via-orange-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .sm\:focus\:via-orange:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .sm\:focus\:via-deep-orange-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .sm\:focus\:via-deep-orange:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .sm\:focus\:via-amber-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .sm\:focus\:via-amber:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .sm\:focus\:via-green-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .sm\:focus\:via-green:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .sm\:focus\:via-teal-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .sm\:focus\:via-teal:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .sm\:focus\:via-cyan-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .sm\:focus\:via-cyan:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .sm\:focus\:via-purple-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .sm\:focus\:via-purple:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .sm\:focus\:via-deep-purple-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .sm\:focus\:via-deep-purple:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .sm\:focus\:via-pink-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .sm\:focus\:via-pink:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .sm\:focus\:via-primary-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:via-primary:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:via-accent-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:via-accent:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:via-warn-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:via-warn:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .sm\:focus\:to-current:focus{
    --tw-gradient-to: currentColor;
  }

  :root .sm\:focus\:to-transparent:focus{
    --tw-gradient-to: transparent;
  }

  :root .sm\:focus\:to-black:focus{
    --tw-gradient-to: var(--text-color);
  }

  :root .sm\:focus\:to-white:focus{
    --tw-gradient-to: var(--text-color-light);
  }

  :root .sm\:focus\:to-contrast-black:focus{
    --tw-gradient-to: black;
  }

  :root .sm\:focus\:to-contrast-white:focus{
    --tw-gradient-to: white;
  }

  :root .sm\:focus\:to-gray-light:focus{
    --tw-gradient-to: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:focus\:to-gray:focus{
    --tw-gradient-to: rgb(158, 158, 158);
  }

  :root .sm\:focus\:to-red-light:focus{
    --tw-gradient-to: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:focus\:to-red:focus{
    --tw-gradient-to: rgb(244, 67, 54);
  }

  :root .sm\:focus\:to-orange-light:focus{
    --tw-gradient-to: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:focus\:to-orange:focus{
    --tw-gradient-to: rgb(255, 152, 0);
  }

  :root .sm\:focus\:to-deep-orange-light:focus{
    --tw-gradient-to: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:focus\:to-deep-orange:focus{
    --tw-gradient-to: rgb(255, 87, 34);
  }

  :root .sm\:focus\:to-amber-light:focus{
    --tw-gradient-to: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:focus\:to-amber:focus{
    --tw-gradient-to: rgb(255, 193, 7);
  }

  :root .sm\:focus\:to-green-light:focus{
    --tw-gradient-to: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:focus\:to-green:focus{
    --tw-gradient-to: rgb(76, 175, 80);
  }

  :root .sm\:focus\:to-teal-light:focus{
    --tw-gradient-to: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:focus\:to-teal:focus{
    --tw-gradient-to: rgb(0, 150, 136);
  }

  :root .sm\:focus\:to-cyan-light:focus{
    --tw-gradient-to: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:focus\:to-cyan:focus{
    --tw-gradient-to: rgb(0, 188, 212);
  }

  :root .sm\:focus\:to-purple-light:focus{
    --tw-gradient-to: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:focus\:to-purple:focus{
    --tw-gradient-to: rgb(156, 39, 176);
  }

  :root .sm\:focus\:to-deep-purple-light:focus{
    --tw-gradient-to: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:focus\:to-deep-purple:focus{
    --tw-gradient-to: rgb(103, 58, 183);
  }

  :root .sm\:focus\:to-pink-light:focus{
    --tw-gradient-to: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:focus\:to-pink:focus{
    --tw-gradient-to: rgb(233, 30, 99);
  }

  :root .sm\:focus\:to-primary-light:focus{
    --tw-gradient-to: rgba(var(--color-primary), .1);
  }

  :root .sm\:focus\:to-primary:focus{
    --tw-gradient-to: rgb(var(--color-primary));
  }

  :root .sm\:focus\:to-accent-light:focus{
    --tw-gradient-to: rgba(var(--color-accent), .1);
  }

  :root .sm\:focus\:to-accent:focus{
    --tw-gradient-to: rgb(var(--color-accent));
  }

  :root .sm\:focus\:to-warn-light:focus{
    --tw-gradient-to: rgba(var(--color-warn), .1);
  }

  :root .sm\:focus\:to-warn:focus{
    --tw-gradient-to: rgb(var(--color-warn));
  }

  :root .sm\:bg-opacity-0{
    --tw-bg-opacity: 0;
  }

  :root .sm\:bg-opacity-25{
    --tw-bg-opacity: 0.25;
  }

  :root .sm\:bg-opacity-50{
    --tw-bg-opacity: 0.5;
  }

  :root .sm\:bg-opacity-75{
    --tw-bg-opacity: 0.75;
  }

  :root .sm\:bg-opacity-100{
    --tw-bg-opacity: 1;
  }

  :root .group:hover .sm\:group-hover\:bg-opacity-0{
    --tw-bg-opacity: 0;
  }

  :root .group:hover .sm\:group-hover\:bg-opacity-25{
    --tw-bg-opacity: 0.25;
  }

  :root .group:hover .sm\:group-hover\:bg-opacity-50{
    --tw-bg-opacity: 0.5;
  }

  :root .group:hover .sm\:group-hover\:bg-opacity-75{
    --tw-bg-opacity: 0.75;
  }

  :root .group:hover .sm\:group-hover\:bg-opacity-100{
    --tw-bg-opacity: 1;
  }

  :root .sm\:focus-within\:bg-opacity-0:focus-within{
    --tw-bg-opacity: 0;
  }

  :root .sm\:focus-within\:bg-opacity-25:focus-within{
    --tw-bg-opacity: 0.25;
  }

  :root .sm\:focus-within\:bg-opacity-50:focus-within{
    --tw-bg-opacity: 0.5;
  }

  :root .sm\:focus-within\:bg-opacity-75:focus-within{
    --tw-bg-opacity: 0.75;
  }

  :root .sm\:focus-within\:bg-opacity-100:focus-within{
    --tw-bg-opacity: 1;
  }

  :root .sm\:hover\:bg-opacity-0:hover{
    --tw-bg-opacity: 0;
  }

  :root .sm\:hover\:bg-opacity-25:hover{
    --tw-bg-opacity: 0.25;
  }

  :root .sm\:hover\:bg-opacity-50:hover{
    --tw-bg-opacity: 0.5;
  }

  :root .sm\:hover\:bg-opacity-75:hover{
    --tw-bg-opacity: 0.75;
  }

  :root .sm\:hover\:bg-opacity-100:hover{
    --tw-bg-opacity: 1;
  }

  :root .sm\:focus\:bg-opacity-0:focus{
    --tw-bg-opacity: 0;
  }

  :root .sm\:focus\:bg-opacity-25:focus{
    --tw-bg-opacity: 0.25;
  }

  :root .sm\:focus\:bg-opacity-50:focus{
    --tw-bg-opacity: 0.5;
  }

  :root .sm\:focus\:bg-opacity-75:focus{
    --tw-bg-opacity: 0.75;
  }

  :root .sm\:focus\:bg-opacity-100:focus{
    --tw-bg-opacity: 1;
  }

  :root .sm\:bg-bottom{
    background-position: bottom;
  }

  :root .sm\:bg-center{
    background-position: center;
  }

  :root .sm\:bg-left{
    background-position: left;
  }

  :root .sm\:bg-left-bottom{
    background-position: left bottom;
  }

  :root .sm\:bg-left-top{
    background-position: left top;
  }

  :root .sm\:bg-right{
    background-position: right;
  }

  :root .sm\:bg-right-bottom{
    background-position: right bottom;
  }

  :root .sm\:bg-right-top{
    background-position: right top;
  }

  :root .sm\:bg-top{
    background-position: top;
  }

  :root .sm\:bg-repeat{
    background-repeat: repeat;
  }

  :root .sm\:bg-no-repeat{
    background-repeat: no-repeat;
  }

  :root .sm\:bg-repeat-x{
    background-repeat: repeat-x;
  }

  :root .sm\:bg-repeat-y{
    background-repeat: repeat-y;
  }

  :root .sm\:bg-repeat-round{
    background-repeat: round;
  }

  :root .sm\:bg-repeat-space{
    background-repeat: space;
  }

  :root .sm\:bg-auto{
    background-size: auto;
  }

  :root .sm\:bg-cover{
    background-size: cover;
  }

  :root .sm\:bg-contain{
    background-size: contain;
  }

  :root .sm\:border-collapse{
    border-collapse: collapse;
  }

  :root .sm\:border-separate{
    border-collapse: separate;
  }

  :root .sm\:border-current{
    border-color: currentColor;
  }

  :root .sm\:border-transparent{
    border-color: transparent;
  }

  :root .sm\:border-black{
    border-color: var(--text-color);
  }

  :root .sm\:border-white{
    border-color: var(--text-color-light);
  }

  :root .sm\:border-contrast-black{
    --tw-border-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-border-opacity));
  }

  :root .sm\:border-contrast-white{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  }

  :root .sm\:border-gray-light{
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:border-gray{
    --tw-border-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-border-opacity));
  }

  :root .sm\:border-red-light{
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:border-red{
    --tw-border-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-border-opacity));
  }

  :root .sm\:border-orange-light{
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:border-orange{
    --tw-border-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-border-opacity));
  }

  :root .sm\:border-deep-orange-light{
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:border-deep-orange{
    --tw-border-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-border-opacity));
  }

  :root .sm\:border-amber-light{
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:border-amber{
    --tw-border-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-border-opacity));
  }

  :root .sm\:border-green-light{
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:border-green{
    --tw-border-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-border-opacity));
  }

  :root .sm\:border-teal-light{
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:border-teal{
    --tw-border-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-border-opacity));
  }

  :root .sm\:border-cyan-light{
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:border-cyan{
    --tw-border-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-border-opacity));
  }

  :root .sm\:border-purple-light{
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:border-purple{
    --tw-border-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-border-opacity));
  }

  :root .sm\:border-deep-purple-light{
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:border-deep-purple{
    --tw-border-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-border-opacity));
  }

  :root .sm\:border-pink-light{
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:border-pink{
    --tw-border-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-border-opacity));
  }

  :root .sm\:border-primary-light{
    border-color: rgba(var(--color-primary), .1);
  }

  :root .sm\:border-primary{
    border-color: rgb(var(--color-primary));
  }

  :root .sm\:border-accent-light{
    border-color: rgba(var(--color-accent), .1);
  }

  :root .sm\:border-accent{
    border-color: rgb(var(--color-accent));
  }

  :root .sm\:border-warn-light{
    border-color: rgba(var(--color-warn), .1);
  }

  :root .sm\:border-warn{
    border-color: rgb(var(--color-warn));
  }

  :root .sm\:hover\:border-current:hover{
    border-color: currentColor;
  }

  :root .sm\:hover\:border-transparent:hover{
    border-color: transparent;
  }

  :root .sm\:hover\:border-black:hover{
    border-color: var(--text-color);
  }

  :root .sm\:hover\:border-white:hover{
    border-color: var(--text-color-light);
  }

  :root .sm\:hover\:border-contrast-black:hover{
    --tw-border-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-border-opacity));
  }

  :root .sm\:hover\:border-contrast-white:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  }

  :root .sm\:hover\:border-gray-light:hover{
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:hover\:border-gray:hover{
    --tw-border-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-border-opacity));
  }

  :root .sm\:hover\:border-red-light:hover{
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:hover\:border-red:hover{
    --tw-border-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-border-opacity));
  }

  :root .sm\:hover\:border-orange-light:hover{
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:hover\:border-orange:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-border-opacity));
  }

  :root .sm\:hover\:border-deep-orange-light:hover{
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:hover\:border-deep-orange:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-border-opacity));
  }

  :root .sm\:hover\:border-amber-light:hover{
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:hover\:border-amber:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-border-opacity));
  }

  :root .sm\:hover\:border-green-light:hover{
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:hover\:border-green:hover{
    --tw-border-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-border-opacity));
  }

  :root .sm\:hover\:border-teal-light:hover{
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:hover\:border-teal:hover{
    --tw-border-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-border-opacity));
  }

  :root .sm\:hover\:border-cyan-light:hover{
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:hover\:border-cyan:hover{
    --tw-border-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-border-opacity));
  }

  :root .sm\:hover\:border-purple-light:hover{
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:hover\:border-purple:hover{
    --tw-border-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-border-opacity));
  }

  :root .sm\:hover\:border-deep-purple-light:hover{
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:hover\:border-deep-purple:hover{
    --tw-border-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-border-opacity));
  }

  :root .sm\:hover\:border-pink-light:hover{
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:hover\:border-pink:hover{
    --tw-border-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-border-opacity));
  }

  :root .sm\:hover\:border-primary-light:hover{
    border-color: rgba(var(--color-primary), .1);
  }

  :root .sm\:hover\:border-primary:hover{
    border-color: rgb(var(--color-primary));
  }

  :root .sm\:hover\:border-accent-light:hover{
    border-color: rgba(var(--color-accent), .1);
  }

  :root .sm\:hover\:border-accent:hover{
    border-color: rgb(var(--color-accent));
  }

  :root .sm\:hover\:border-warn-light:hover{
    border-color: rgba(var(--color-warn), .1);
  }

  :root .sm\:hover\:border-warn:hover{
    border-color: rgb(var(--color-warn));
  }

  :root .sm\:focus\:border-current:focus{
    border-color: currentColor;
  }

  :root .sm\:focus\:border-transparent:focus{
    border-color: transparent;
  }

  :root .sm\:focus\:border-black:focus{
    border-color: var(--text-color);
  }

  :root .sm\:focus\:border-white:focus{
    border-color: var(--text-color-light);
  }

  :root .sm\:focus\:border-contrast-black:focus{
    --tw-border-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-border-opacity));
  }

  :root .sm\:focus\:border-contrast-white:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  }

  :root .sm\:focus\:border-gray-light:focus{
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:focus\:border-gray:focus{
    --tw-border-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-border-opacity));
  }

  :root .sm\:focus\:border-red-light:focus{
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:focus\:border-red:focus{
    --tw-border-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-border-opacity));
  }

  :root .sm\:focus\:border-orange-light:focus{
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:focus\:border-orange:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-border-opacity));
  }

  :root .sm\:focus\:border-deep-orange-light:focus{
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:focus\:border-deep-orange:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-border-opacity));
  }

  :root .sm\:focus\:border-amber-light:focus{
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:focus\:border-amber:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-border-opacity));
  }

  :root .sm\:focus\:border-green-light:focus{
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:focus\:border-green:focus{
    --tw-border-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-border-opacity));
  }

  :root .sm\:focus\:border-teal-light:focus{
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:focus\:border-teal:focus{
    --tw-border-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-border-opacity));
  }

  :root .sm\:focus\:border-cyan-light:focus{
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:focus\:border-cyan:focus{
    --tw-border-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-border-opacity));
  }

  :root .sm\:focus\:border-purple-light:focus{
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:focus\:border-purple:focus{
    --tw-border-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-border-opacity));
  }

  :root .sm\:focus\:border-deep-purple-light:focus{
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:focus\:border-deep-purple:focus{
    --tw-border-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-border-opacity));
  }

  :root .sm\:focus\:border-pink-light:focus{
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:focus\:border-pink:focus{
    --tw-border-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-border-opacity));
  }

  :root .sm\:focus\:border-primary-light:focus{
    border-color: rgba(var(--color-primary), .1);
  }

  :root .sm\:focus\:border-primary:focus{
    border-color: rgb(var(--color-primary));
  }

  :root .sm\:focus\:border-accent-light:focus{
    border-color: rgba(var(--color-accent), .1);
  }

  :root .sm\:focus\:border-accent:focus{
    border-color: rgb(var(--color-accent));
  }

  :root .sm\:focus\:border-warn-light:focus{
    border-color: rgba(var(--color-warn), .1);
  }

  :root .sm\:focus\:border-warn:focus{
    border-color: rgb(var(--color-warn));
  }

  :root .sm\:border-opacity-0{
    --tw-border-opacity: 0;
  }

  :root .sm\:border-opacity-25{
    --tw-border-opacity: 0.25;
  }

  :root .sm\:border-opacity-50{
    --tw-border-opacity: 0.5;
  }

  :root .sm\:border-opacity-75{
    --tw-border-opacity: 0.75;
  }

  :root .sm\:border-opacity-100{
    --tw-border-opacity: 1;
  }

  :root .group:hover .sm\:group-hover\:border-opacity-0{
    --tw-border-opacity: 0;
  }

  :root .group:hover .sm\:group-hover\:border-opacity-25{
    --tw-border-opacity: 0.25;
  }

  :root .group:hover .sm\:group-hover\:border-opacity-50{
    --tw-border-opacity: 0.5;
  }

  :root .group:hover .sm\:group-hover\:border-opacity-75{
    --tw-border-opacity: 0.75;
  }

  :root .group:hover .sm\:group-hover\:border-opacity-100{
    --tw-border-opacity: 1;
  }

  :root .sm\:focus-within\:border-opacity-0:focus-within{
    --tw-border-opacity: 0;
  }

  :root .sm\:focus-within\:border-opacity-25:focus-within{
    --tw-border-opacity: 0.25;
  }

  :root .sm\:focus-within\:border-opacity-50:focus-within{
    --tw-border-opacity: 0.5;
  }

  :root .sm\:focus-within\:border-opacity-75:focus-within{
    --tw-border-opacity: 0.75;
  }

  :root .sm\:focus-within\:border-opacity-100:focus-within{
    --tw-border-opacity: 1;
  }

  :root .sm\:hover\:border-opacity-0:hover{
    --tw-border-opacity: 0;
  }

  :root .sm\:hover\:border-opacity-25:hover{
    --tw-border-opacity: 0.25;
  }

  :root .sm\:hover\:border-opacity-50:hover{
    --tw-border-opacity: 0.5;
  }

  :root .sm\:hover\:border-opacity-75:hover{
    --tw-border-opacity: 0.75;
  }

  :root .sm\:hover\:border-opacity-100:hover{
    --tw-border-opacity: 1;
  }

  :root .sm\:focus\:border-opacity-0:focus{
    --tw-border-opacity: 0;
  }

  :root .sm\:focus\:border-opacity-25:focus{
    --tw-border-opacity: 0.25;
  }

  :root .sm\:focus\:border-opacity-50:focus{
    --tw-border-opacity: 0.5;
  }

  :root .sm\:focus\:border-opacity-75:focus{
    --tw-border-opacity: 0.75;
  }

  :root .sm\:focus\:border-opacity-100:focus{
    --tw-border-opacity: 1;
  }

  :root .sm\:rounded-none{
    border-radius: 0;
  }

  :root .sm\:rounded-sm{
    border-radius: 0.125rem;
  }

  :root .sm\:rounded{
    border-radius: 0.25rem;
  }

  :root .sm\:rounded-lg{
    border-radius: 0.5rem;
  }

  :root .sm\:rounded-full{
    border-radius: 9999px;
  }

  :root .sm\:rounded-t-none{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  :root .sm\:rounded-r-none{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  :root .sm\:rounded-b-none{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root .sm\:rounded-l-none{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root .sm\:rounded-t-sm{
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
  }

  :root .sm\:rounded-r-sm{
    border-top-right-radius: 0.125rem;
    border-bottom-right-radius: 0.125rem;
  }

  :root .sm\:rounded-b-sm{
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root .sm\:rounded-l-sm{
    border-top-left-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root .sm\:rounded-t{
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }

  :root .sm\:rounded-r{
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }

  :root .sm\:rounded-b{
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root .sm\:rounded-l{
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root .sm\:rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }

  :root .sm\:rounded-r-lg{
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
  }

  :root .sm\:rounded-b-lg{
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root .sm\:rounded-l-lg{
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root .sm\:rounded-t-full{
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
  }

  :root .sm\:rounded-r-full{
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }

  :root .sm\:rounded-b-full{
    border-bottom-right-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root .sm\:rounded-l-full{
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root .sm\:rounded-tl-none{
    border-top-left-radius: 0;
  }

  :root .sm\:rounded-tr-none{
    border-top-right-radius: 0;
  }

  :root .sm\:rounded-br-none{
    border-bottom-right-radius: 0;
  }

  :root .sm\:rounded-bl-none{
    border-bottom-left-radius: 0;
  }

  :root .sm\:rounded-tl-sm{
    border-top-left-radius: 0.125rem;
  }

  :root .sm\:rounded-tr-sm{
    border-top-right-radius: 0.125rem;
  }

  :root .sm\:rounded-br-sm{
    border-bottom-right-radius: 0.125rem;
  }

  :root .sm\:rounded-bl-sm{
    border-bottom-left-radius: 0.125rem;
  }

  :root .sm\:rounded-tl{
    border-top-left-radius: 0.25rem;
  }

  :root .sm\:rounded-tr{
    border-top-right-radius: 0.25rem;
  }

  :root .sm\:rounded-br{
    border-bottom-right-radius: 0.25rem;
  }

  :root .sm\:rounded-bl{
    border-bottom-left-radius: 0.25rem;
  }

  :root .sm\:rounded-tl-lg{
    border-top-left-radius: 0.5rem;
  }

  :root .sm\:rounded-tr-lg{
    border-top-right-radius: 0.5rem;
  }

  :root .sm\:rounded-br-lg{
    border-bottom-right-radius: 0.5rem;
  }

  :root .sm\:rounded-bl-lg{
    border-bottom-left-radius: 0.5rem;
  }

  :root .sm\:rounded-tl-full{
    border-top-left-radius: 9999px;
  }

  :root .sm\:rounded-tr-full{
    border-top-right-radius: 9999px;
  }

  :root .sm\:rounded-br-full{
    border-bottom-right-radius: 9999px;
  }

  :root .sm\:rounded-bl-full{
    border-bottom-left-radius: 9999px;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-none{
    border-radius: 0;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-sm{
    border-radius: 0.125rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded{
    border-radius: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-lg{
    border-radius: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-full{
    border-radius: 9999px;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-t-none{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-r-none{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-b-none{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-l-none{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-t-sm{
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-r-sm{
    border-top-right-radius: 0.125rem;
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-b-sm{
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-l-sm{
    border-top-left-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-t{
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-r{
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-b{
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-l{
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-r-lg{
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-b-lg{
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-l-lg{
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-t-full{
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-r-full{
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-b-full{
    border-bottom-right-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-l-full{
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-tl-none{
    border-top-left-radius: 0;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-tr-none{
    border-top-right-radius: 0;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-br-none{
    border-bottom-right-radius: 0;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-bl-none{
    border-bottom-left-radius: 0;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-tl-sm{
    border-top-left-radius: 0.125rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-tr-sm{
    border-top-right-radius: 0.125rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-br-sm{
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-bl-sm{
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-tl{
    border-top-left-radius: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-tr{
    border-top-right-radius: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-br{
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-bl{
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-tl-lg{
    border-top-left-radius: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-tr-lg{
    border-top-right-radius: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-br-lg{
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-bl-lg{
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-tl-full{
    border-top-left-radius: 9999px;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-tr-full{
    border-top-right-radius: 9999px;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-br-full{
    border-bottom-right-radius: 9999px;
  }

  :root [dir=ltr] .sm\:ltr\:rounded-bl-full{
    border-bottom-left-radius: 9999px;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-none{
    border-radius: 0;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-sm{
    border-radius: 0.125rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded{
    border-radius: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-lg{
    border-radius: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-full{
    border-radius: 9999px;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-t-none{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-r-none{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-b-none{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-l-none{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-t-sm{
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-r-sm{
    border-top-right-radius: 0.125rem;
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-b-sm{
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-l-sm{
    border-top-left-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-t{
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-r{
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-b{
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-l{
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-r-lg{
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-b-lg{
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-l-lg{
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-t-full{
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-r-full{
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-b-full{
    border-bottom-right-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-l-full{
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-tl-none{
    border-top-left-radius: 0;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-tr-none{
    border-top-right-radius: 0;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-br-none{
    border-bottom-right-radius: 0;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-bl-none{
    border-bottom-left-radius: 0;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-tl-sm{
    border-top-left-radius: 0.125rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-tr-sm{
    border-top-right-radius: 0.125rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-br-sm{
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-bl-sm{
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-tl{
    border-top-left-radius: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-tr{
    border-top-right-radius: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-br{
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-bl{
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-tl-lg{
    border-top-left-radius: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-tr-lg{
    border-top-right-radius: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-br-lg{
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-bl-lg{
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-tl-full{
    border-top-left-radius: 9999px;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-tr-full{
    border-top-right-radius: 9999px;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-br-full{
    border-bottom-right-radius: 9999px;
  }

  :root [dir=rtl] .sm\:rtl\:rounded-bl-full{
    border-bottom-left-radius: 9999px;
  }

  :root .sm\:border-solid{
    border-style: solid;
  }

  :root .sm\:border-dashed{
    border-style: dashed;
  }

  :root .sm\:border-dotted{
    border-style: dotted;
  }

  :root .sm\:border-double{
    border-style: double;
  }

  :root .sm\:border-none{
    border-style: none;
  }

  :root .sm\:border-0{
    border-width: 0;
  }

  :root .sm\:border-2{
    border-width: 2px;
  }

  :root .sm\:border-3{
    border-width: 3px;
  }

  :root .sm\:border-4{
    border-width: 4px;
  }

  :root .sm\:border-8{
    border-width: 8px;
  }

  :root .sm\:border{
    border-width: 1px;
  }

  :root .sm\:border-t-0{
    border-top-width: 0;
  }

  :root .sm\:border-r-0{
    border-right-width: 0;
  }

  :root .sm\:border-b-0{
    border-bottom-width: 0;
  }

  :root .sm\:border-l-0{
    border-left-width: 0;
  }

  :root .sm\:border-t-2{
    border-top-width: 2px;
  }

  :root .sm\:border-r-2{
    border-right-width: 2px;
  }

  :root .sm\:border-b-2{
    border-bottom-width: 2px;
  }

  :root .sm\:border-l-2{
    border-left-width: 2px;
  }

  :root .sm\:border-t-3{
    border-top-width: 3px;
  }

  :root .sm\:border-r-3{
    border-right-width: 3px;
  }

  :root .sm\:border-b-3{
    border-bottom-width: 3px;
  }

  :root .sm\:border-l-3{
    border-left-width: 3px;
  }

  :root .sm\:border-t-4{
    border-top-width: 4px;
  }

  :root .sm\:border-r-4{
    border-right-width: 4px;
  }

  :root .sm\:border-b-4{
    border-bottom-width: 4px;
  }

  :root .sm\:border-l-4{
    border-left-width: 4px;
  }

  :root .sm\:border-t-8{
    border-top-width: 8px;
  }

  :root .sm\:border-r-8{
    border-right-width: 8px;
  }

  :root .sm\:border-b-8{
    border-bottom-width: 8px;
  }

  :root .sm\:border-l-8{
    border-left-width: 8px;
  }

  :root .sm\:border-t{
    border-top-width: 1px;
  }

  :root .sm\:border-r{
    border-right-width: 1px;
  }

  :root .sm\:border-b{
    border-bottom-width: 1px;
  }

  :root .sm\:border-l{
    border-left-width: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:border-0{
    border-width: 0;
  }

  :root [dir=ltr] .sm\:ltr\:border-2{
    border-width: 2px;
  }

  :root [dir=ltr] .sm\:ltr\:border-3{
    border-width: 3px;
  }

  :root [dir=ltr] .sm\:ltr\:border-4{
    border-width: 4px;
  }

  :root [dir=ltr] .sm\:ltr\:border-8{
    border-width: 8px;
  }

  :root [dir=ltr] .sm\:ltr\:border{
    border-width: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:border-t-0{
    border-top-width: 0;
  }

  :root [dir=ltr] .sm\:ltr\:border-r-0{
    border-right-width: 0;
  }

  :root [dir=ltr] .sm\:ltr\:border-b-0{
    border-bottom-width: 0;
  }

  :root [dir=ltr] .sm\:ltr\:border-l-0{
    border-left-width: 0;
  }

  :root [dir=ltr] .sm\:ltr\:border-t-2{
    border-top-width: 2px;
  }

  :root [dir=ltr] .sm\:ltr\:border-r-2{
    border-right-width: 2px;
  }

  :root [dir=ltr] .sm\:ltr\:border-b-2{
    border-bottom-width: 2px;
  }

  :root [dir=ltr] .sm\:ltr\:border-l-2{
    border-left-width: 2px;
  }

  :root [dir=ltr] .sm\:ltr\:border-t-3{
    border-top-width: 3px;
  }

  :root [dir=ltr] .sm\:ltr\:border-r-3{
    border-right-width: 3px;
  }

  :root [dir=ltr] .sm\:ltr\:border-b-3{
    border-bottom-width: 3px;
  }

  :root [dir=ltr] .sm\:ltr\:border-l-3{
    border-left-width: 3px;
  }

  :root [dir=ltr] .sm\:ltr\:border-t-4{
    border-top-width: 4px;
  }

  :root [dir=ltr] .sm\:ltr\:border-r-4{
    border-right-width: 4px;
  }

  :root [dir=ltr] .sm\:ltr\:border-b-4{
    border-bottom-width: 4px;
  }

  :root [dir=ltr] .sm\:ltr\:border-l-4{
    border-left-width: 4px;
  }

  :root [dir=ltr] .sm\:ltr\:border-t-8{
    border-top-width: 8px;
  }

  :root [dir=ltr] .sm\:ltr\:border-r-8{
    border-right-width: 8px;
  }

  :root [dir=ltr] .sm\:ltr\:border-b-8{
    border-bottom-width: 8px;
  }

  :root [dir=ltr] .sm\:ltr\:border-l-8{
    border-left-width: 8px;
  }

  :root [dir=ltr] .sm\:ltr\:border-t{
    border-top-width: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:border-r{
    border-right-width: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:border-b{
    border-bottom-width: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:border-l{
    border-left-width: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:border-0{
    border-width: 0;
  }

  :root [dir=rtl] .sm\:rtl\:border-2{
    border-width: 2px;
  }

  :root [dir=rtl] .sm\:rtl\:border-3{
    border-width: 3px;
  }

  :root [dir=rtl] .sm\:rtl\:border-4{
    border-width: 4px;
  }

  :root [dir=rtl] .sm\:rtl\:border-8{
    border-width: 8px;
  }

  :root [dir=rtl] .sm\:rtl\:border{
    border-width: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:border-t-0{
    border-top-width: 0;
  }

  :root [dir=rtl] .sm\:rtl\:border-r-0{
    border-right-width: 0;
  }

  :root [dir=rtl] .sm\:rtl\:border-b-0{
    border-bottom-width: 0;
  }

  :root [dir=rtl] .sm\:rtl\:border-l-0{
    border-left-width: 0;
  }

  :root [dir=rtl] .sm\:rtl\:border-t-2{
    border-top-width: 2px;
  }

  :root [dir=rtl] .sm\:rtl\:border-r-2{
    border-right-width: 2px;
  }

  :root [dir=rtl] .sm\:rtl\:border-b-2{
    border-bottom-width: 2px;
  }

  :root [dir=rtl] .sm\:rtl\:border-l-2{
    border-left-width: 2px;
  }

  :root [dir=rtl] .sm\:rtl\:border-t-3{
    border-top-width: 3px;
  }

  :root [dir=rtl] .sm\:rtl\:border-r-3{
    border-right-width: 3px;
  }

  :root [dir=rtl] .sm\:rtl\:border-b-3{
    border-bottom-width: 3px;
  }

  :root [dir=rtl] .sm\:rtl\:border-l-3{
    border-left-width: 3px;
  }

  :root [dir=rtl] .sm\:rtl\:border-t-4{
    border-top-width: 4px;
  }

  :root [dir=rtl] .sm\:rtl\:border-r-4{
    border-right-width: 4px;
  }

  :root [dir=rtl] .sm\:rtl\:border-b-4{
    border-bottom-width: 4px;
  }

  :root [dir=rtl] .sm\:rtl\:border-l-4{
    border-left-width: 4px;
  }

  :root [dir=rtl] .sm\:rtl\:border-t-8{
    border-top-width: 8px;
  }

  :root [dir=rtl] .sm\:rtl\:border-r-8{
    border-right-width: 8px;
  }

  :root [dir=rtl] .sm\:rtl\:border-b-8{
    border-bottom-width: 8px;
  }

  :root [dir=rtl] .sm\:rtl\:border-l-8{
    border-left-width: 8px;
  }

  :root [dir=rtl] .sm\:rtl\:border-t{
    border-top-width: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:border-r{
    border-right-width: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:border-b{
    border-bottom-width: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:border-l{
    border-left-width: 1px;
  }

  :root .sm\:box-border{
    box-sizing: border-box;
  }

  :root .sm\:box-content{
    box-sizing: content-box;
  }

  :root .sm\:cursor-auto{
    cursor: auto;
  }

  :root .sm\:cursor{
    cursor: default;
  }

  :root .sm\:cursor-pointer{
    cursor: pointer;
  }

  :root .sm\:cursor-wait{
    cursor: wait;
  }

  :root .sm\:cursor-text{
    cursor: text;
  }

  :root .sm\:cursor-move{
    cursor: move;
  }

  :root .sm\:cursor-not-allowed{
    cursor: not-allowed;
  }

  :root .sm\:block{
    display: block;
  }

  :root .sm\:inline-block{
    display: inline-block;
  }

  :root .sm\:inline{
    display: inline;
  }

  :root .sm\:flex{
    display: flex;
  }

  :root .sm\:inline-flex{
    display: inline-flex;
  }

  :root .sm\:table{
    display: table;
  }

  :root .sm\:table-caption{
    display: table-caption;
  }

  :root .sm\:table-cell{
    display: table-cell;
  }

  :root .sm\:table-column{
    display: table-column;
  }

  :root .sm\:table-column-group{
    display: table-column-group;
  }

  :root .sm\:table-footer-group{
    display: table-footer-group;
  }

  :root .sm\:table-header-group{
    display: table-header-group;
  }

  :root .sm\:table-row-group{
    display: table-row-group;
  }

  :root .sm\:table-row{
    display: table-row;
  }

  :root .sm\:flow-root{
    display: flow-root;
  }

  :root .sm\:grid{
    display: grid;
  }

  :root .sm\:inline-grid{
    display: inline-grid;
  }

  :root .sm\:contents{
    display: contents;
  }

  :root .sm\:hidden{
    display: none;
  }

  :root .sm\:flex-row{
    flex-direction: row;
  }

  :root .sm\:flex-row-reverse{
    flex-direction: row-reverse;
  }

  :root .sm\:flex-col{
    flex-direction: column;
  }

  :root .sm\:flex-col-reverse{
    flex-direction: column-reverse;
  }

  :root .sm\:flex-wrap{
    flex-wrap: wrap;
  }

  :root .sm\:flex-wrap-reverse{
    flex-wrap: wrap-reverse;
  }

  :root .sm\:flex-nowrap{
    flex-wrap: nowrap;
  }

  :root .sm\:place-items-auto{
    place-items: auto;
  }

  :root .sm\:place-items-start{
    place-items: start;
  }

  :root .sm\:place-items-end{
    place-items: end;
  }

  :root .sm\:place-items-center{
    place-items: center;
  }

  :root .sm\:place-items-stretch{
    place-items: stretch;
  }

  :root .sm\:place-content-center{
    place-content: center;
  }

  :root .sm\:place-content-start{
    place-content: start;
  }

  :root .sm\:place-content-end{
    place-content: end;
  }

  :root .sm\:place-content-between{
    place-content: space-between;
  }

  :root .sm\:place-content-around{
    place-content: space-around;
  }

  :root .sm\:place-content-evenly{
    place-content: space-evenly;
  }

  :root .sm\:place-content-stretch{
    place-content: stretch;
  }

  :root .sm\:place-self-auto{
    place-self: auto;
  }

  :root .sm\:place-self-start{
    place-self: start;
  }

  :root .sm\:place-self-end{
    place-self: end;
  }

  :root .sm\:place-self-center{
    place-self: center;
  }

  :root .sm\:place-self-stretch{
    place-self: stretch;
  }

  :root .sm\:items-start{
    align-items: flex-start;
  }

  :root .sm\:items-end{
    align-items: flex-end;
  }

  :root .sm\:items-center{
    align-items: center;
  }

  :root .sm\:items-baseline{
    align-items: baseline;
  }

  :root .sm\:items-stretch{
    align-items: stretch;
  }

  :root .sm\:content-center{
    align-content: center;
  }

  :root .sm\:content-start{
    align-content: flex-start;
  }

  :root .sm\:content-end{
    align-content: flex-end;
  }

  :root .sm\:content-between{
    align-content: space-between;
  }

  :root .sm\:content-around{
    align-content: space-around;
  }

  :root .sm\:content-evenly{
    align-content: space-evenly;
  }

  :root .sm\:self-auto{
    align-self: auto;
  }

  :root .sm\:self-start{
    align-self: flex-start;
  }

  :root .sm\:self-end{
    align-self: flex-end;
  }

  :root .sm\:self-center{
    align-self: center;
  }

  :root .sm\:self-stretch{
    align-self: stretch;
  }

  :root .sm\:justify-items-auto{
    justify-items: auto;
  }

  :root .sm\:justify-items-start{
    justify-items: start;
  }

  :root .sm\:justify-items-end{
    justify-items: end;
  }

  :root .sm\:justify-items-center{
    justify-items: center;
  }

  :root .sm\:justify-items-stretch{
    justify-items: stretch;
  }

  :root .sm\:justify-start{
    justify-content: flex-start;
  }

  :root .sm\:justify-end{
    justify-content: flex-end;
  }

  :root .sm\:justify-center{
    justify-content: center;
  }

  :root .sm\:justify-between{
    justify-content: space-between;
  }

  :root .sm\:justify-around{
    justify-content: space-around;
  }

  :root .sm\:justify-evenly{
    justify-content: space-evenly;
  }

  :root .sm\:justify-self-auto{
    justify-self: auto;
  }

  :root .sm\:justify-self-start{
    justify-self: start;
  }

  :root .sm\:justify-self-end{
    justify-self: end;
  }

  :root .sm\:justify-self-center{
    justify-self: center;
  }

  :root .sm\:justify-self-stretch{
    justify-self: stretch;
  }

  :root .sm\:flex-1{
    flex: 1 1 0%;
  }

  :root .sm\:flex-auto{
    flex: 1 1 auto;
  }

  :root .sm\:flex-initial{
    flex: 0 1 auto;
  }

  :root .sm\:flex-none{
    flex: none;
  }

  :root .sm\:flex-grow-0{
    flex-grow: 0;
  }

  :root .sm\:flex-grow{
    flex-grow: 1;
  }

  :root .sm\:flex-shrink-0{
    flex-shrink: 0;
  }

  :root .sm\:flex-shrink{
    flex-shrink: 1;
  }

  :root .sm\:order-1{
    order: 1;
  }

  :root .sm\:order-2{
    order: 2;
  }

  :root .sm\:order-3{
    order: 3;
  }

  :root .sm\:order-4{
    order: 4;
  }

  :root .sm\:order-5{
    order: 5;
  }

  :root .sm\:order-6{
    order: 6;
  }

  :root .sm\:order-7{
    order: 7;
  }

  :root .sm\:order-8{
    order: 8;
  }

  :root .sm\:order-9{
    order: 9;
  }

  :root .sm\:order-10{
    order: 10;
  }

  :root .sm\:order-11{
    order: 11;
  }

  :root .sm\:order-12{
    order: 12;
  }

  :root .sm\:order-first{
    order: -9999;
  }

  :root .sm\:order-last{
    order: 9999;
  }

  :root .sm\:order-none{
    order: 0;
  }

  :root .sm\:float-right{
    float: right;
  }

  :root .sm\:float-left{
    float: left;
  }

  :root .sm\:float-none{
    float: none;
  }

  :root .sm\:clear-left{
    clear: left;
  }

  :root .sm\:clear-right{
    clear: right;
  }

  :root .sm\:clear-both{
    clear: both;
  }

  :root .sm\:clear-none{
    clear: none;
  }

  :root .sm\:font-sans{
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple ColorDef Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto ColorDef Emoji";
  }

  :root .sm\:font-serif{
    font-family: Georgia, Cambria, "Times New Roman", Times, serif;
  }

  :root .sm\:font-mono{
    font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  }

  :root .sm\:font-hairline{
    font-weight: 100;
  }

  :root .sm\:font-thin{
    font-weight: 200;
  }

  :root .sm\:font-light{
    font-weight: 300;
  }

  :root .sm\:font-normal{
    font-weight: 400;
  }

  :root .sm\:font-medium{
    font-weight: 500;
  }

  :root .sm\:font-semibold{
    font-weight: 600;
  }

  :root .sm\:font-bold{
    font-weight: 700;
  }

  :root .sm\:font-extrabold{
    font-weight: 800;
  }

  :root .sm\:font-black{
    font-weight: 900;
  }

  :root .sm\:hover\:font-hairline:hover{
    font-weight: 100;
  }

  :root .sm\:hover\:font-thin:hover{
    font-weight: 200;
  }

  :root .sm\:hover\:font-light:hover{
    font-weight: 300;
  }

  :root .sm\:hover\:font-normal:hover{
    font-weight: 400;
  }

  :root .sm\:hover\:font-medium:hover{
    font-weight: 500;
  }

  :root .sm\:hover\:font-semibold:hover{
    font-weight: 600;
  }

  :root .sm\:hover\:font-bold:hover{
    font-weight: 700;
  }

  :root .sm\:hover\:font-extrabold:hover{
    font-weight: 800;
  }

  :root .sm\:hover\:font-black:hover{
    font-weight: 900;
  }

  :root .sm\:focus\:font-hairline:focus{
    font-weight: 100;
  }

  :root .sm\:focus\:font-thin:focus{
    font-weight: 200;
  }

  :root .sm\:focus\:font-light:focus{
    font-weight: 300;
  }

  :root .sm\:focus\:font-normal:focus{
    font-weight: 400;
  }

  :root .sm\:focus\:font-medium:focus{
    font-weight: 500;
  }

  :root .sm\:focus\:font-semibold:focus{
    font-weight: 600;
  }

  :root .sm\:focus\:font-bold:focus{
    font-weight: 700;
  }

  :root .sm\:focus\:font-extrabold:focus{
    font-weight: 800;
  }

  :root .sm\:focus\:font-black:focus{
    font-weight: 900;
  }

  :root .sm\:h-0{
    height: 0;
  }

  :root .sm\:h-1{
    height: 0.25rem;
  }

  :root .sm\:h-2{
    height: 0.5rem;
  }

  :root .sm\:h-3{
    height: 0.75rem;
  }

  :root .sm\:h-4{
    height: 1rem;
  }

  :root .sm\:h-5{
    height: 1.25rem;
  }

  :root .sm\:h-6{
    height: 1.5rem;
  }

  :root .sm\:h-8{
    height: 2rem;
  }

  :root .sm\:h-9{
    height: 2.25rem;
  }

  :root .sm\:h-10{
    height: 2.5rem;
  }

  :root .sm\:h-12{
    height: 3rem;
  }

  :root .sm\:h-14{
    height: 3.5rem;
  }

  :root .sm\:h-16{
    height: 4rem;
  }

  :root .sm\:h-20{
    height: 5rem;
  }

  :root .sm\:h-24{
    height: 6rem;
  }

  :root .sm\:h-32{
    height: 8rem;
  }

  :root .sm\:h-40{
    height: 10rem;
  }

  :root .sm\:h-48{
    height: 12rem;
  }

  :root .sm\:h-56{
    height: 14rem;
  }

  :root .sm\:h-64{
    height: 16rem;
  }

  :root .sm\:h-auto{
    height: auto;
  }

  :root .sm\:h-px{
    height: 1px;
  }

  :root .sm\:h-gutter{
    height: var(--padding-gutter);
  }

  :root .sm\:h-full{
    height: 100%;
  }

  :root .sm\:h-screen{
    height: 100vh;
  }

  :root .sm\:text-xxs{
    font-size: 0.625rem;
  }

  :root .sm\:text-xs{
    font-size: 0.75rem;
  }

  :root .sm\:text-sm{
    font-size: 0.875rem;
  }

  :root .sm\:text-base{
    font-size: 1rem;
  }

  :root .sm\:text-lg{
    font-size: 1.125rem;
  }

  :root .sm\:text-xl{
    font-size: 1.25rem;
  }

  :root .sm\:text-2xl{
    font-size: 1.5rem;
  }

  :root .sm\:text-3xl{
    font-size: 1.875rem;
  }

  :root .sm\:text-4xl{
    font-size: 2.25rem;
  }

  :root .sm\:text-5xl{
    font-size: 3rem;
  }

  :root .sm\:text-6xl{
    font-size: 4rem;
  }

  :root .sm\:leading-none{
    line-height: 1;
  }

  :root .sm\:leading-tight{
    line-height: 1.25;
  }

  :root .sm\:leading-snug{
    line-height: 1.375;
  }

  :root .sm\:leading-normal{
    line-height: 1.5;
  }

  :root .sm\:leading-relaxed{
    line-height: 1.625;
  }

  :root .sm\:leading-loose{
    line-height: 2;
  }

  :root .sm\:list-inside{
    list-style-position: inside;
  }

  :root .sm\:list-outside{
    list-style-position: outside;
  }

  :root .sm\:list-none{
    list-style-type: none;
  }

  :root .sm\:list-disc{
    list-style-type: disc;
  }

  :root .sm\:list-decimal{
    list-style-type: decimal;
  }

  :root .sm\:m-0{
    margin: 0;
  }

  :root .sm\:m-1{
    margin: 0.25rem;
  }

  :root .sm\:m-2{
    margin: 0.5rem;
  }

  :root .sm\:m-3{
    margin: 0.75rem;
  }

  :root .sm\:m-4{
    margin: 1rem;
  }

  :root .sm\:m-5{
    margin: 1.25rem;
  }

  :root .sm\:m-6{
    margin: 1.5rem;
  }

  :root .sm\:m-8{
    margin: 2rem;
  }

  :root .sm\:m-9{
    margin: 2.25rem;
  }

  :root .sm\:m-10{
    margin: 2.5rem;
  }

  :root .sm\:m-12{
    margin: 3rem;
  }

  :root .sm\:m-14{
    margin: 3.5rem;
  }

  :root .sm\:m-16{
    margin: 4rem;
  }

  :root .sm\:m-20{
    margin: 5rem;
  }

  :root .sm\:m-24{
    margin: 6rem;
  }

  :root .sm\:m-32{
    margin: 8rem;
  }

  :root .sm\:m-40{
    margin: 10rem;
  }

  :root .sm\:m-48{
    margin: 12rem;
  }

  :root .sm\:m-56{
    margin: 14rem;
  }

  :root .sm\:m-64{
    margin: 16rem;
  }

  :root .sm\:m-auto{
    margin: auto;
  }

  :root .sm\:m-px{
    margin: 1px;
  }

  :root .sm\:m-gutter{
    margin: var(--padding-gutter);
  }

  :root .sm\:-m-1{
    margin: -0.25rem;
  }

  :root .sm\:-m-2{
    margin: -0.5rem;
  }

  :root .sm\:-m-3{
    margin: -0.75rem;
  }

  :root .sm\:-m-4{
    margin: -1rem;
  }

  :root .sm\:-m-5{
    margin: -1.25rem;
  }

  :root .sm\:-m-6{
    margin: -1.5rem;
  }

  :root .sm\:-m-8{
    margin: -2rem;
  }

  :root .sm\:-m-9{
    margin: -2.25rem;
  }

  :root .sm\:-m-10{
    margin: -2.5rem;
  }

  :root .sm\:-m-12{
    margin: -3rem;
  }

  :root .sm\:-m-14{
    margin: -3.5rem;
  }

  :root .sm\:-m-16{
    margin: -4rem;
  }

  :root .sm\:-m-20{
    margin: -5rem;
  }

  :root .sm\:-m-24{
    margin: -6rem;
  }

  :root .sm\:-m-32{
    margin: -8rem;
  }

  :root .sm\:-m-40{
    margin: -10rem;
  }

  :root .sm\:-m-48{
    margin: -12rem;
  }

  :root .sm\:-m-56{
    margin: -14rem;
  }

  :root .sm\:-m-64{
    margin: -16rem;
  }

  :root .sm\:-m-px{
    margin: -1px;
  }

  :root .sm\:-m-gutter{
    margin: calc(var(--padding-gutter) * -1);
  }

  :root .sm\:my-0{
    margin-top: 0;
    margin-bottom: 0;
  }

  :root .sm\:mx-0{
    margin-left: 0;
    margin-right: 0;
  }

  :root .sm\:my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  :root .sm\:mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }

  :root .sm\:my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  :root .sm\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  :root .sm\:my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  :root .sm\:mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  :root .sm\:my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  :root .sm\:mx-4{
    margin-left: 1rem;
    margin-right: 1rem;
  }

  :root .sm\:my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }

  :root .sm\:mx-5{
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  :root .sm\:my-6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  :root .sm\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  :root .sm\:my-8{
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  :root .sm\:mx-8{
    margin-left: 2rem;
    margin-right: 2rem;
  }

  :root .sm\:my-9{
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
  }

  :root .sm\:mx-9{
    margin-left: 2.25rem;
    margin-right: 2.25rem;
  }

  :root .sm\:my-10{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }

  :root .sm\:mx-10{
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }

  :root .sm\:my-12{
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  :root .sm\:mx-12{
    margin-left: 3rem;
    margin-right: 3rem;
  }

  :root .sm\:my-14{
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  :root .sm\:mx-14{
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }

  :root .sm\:my-16{
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  :root .sm\:mx-16{
    margin-left: 4rem;
    margin-right: 4rem;
  }

  :root .sm\:my-20{
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  :root .sm\:mx-20{
    margin-left: 5rem;
    margin-right: 5rem;
  }

  :root .sm\:my-24{
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  :root .sm\:mx-24{
    margin-left: 6rem;
    margin-right: 6rem;
  }

  :root .sm\:my-32{
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  :root .sm\:mx-32{
    margin-left: 8rem;
    margin-right: 8rem;
  }

  :root .sm\:my-40{
    margin-top: 10rem;
    margin-bottom: 10rem;
  }

  :root .sm\:mx-40{
    margin-left: 10rem;
    margin-right: 10rem;
  }

  :root .sm\:my-48{
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  :root .sm\:mx-48{
    margin-left: 12rem;
    margin-right: 12rem;
  }

  :root .sm\:my-56{
    margin-top: 14rem;
    margin-bottom: 14rem;
  }

  :root .sm\:mx-56{
    margin-left: 14rem;
    margin-right: 14rem;
  }

  :root .sm\:my-64{
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  :root .sm\:mx-64{
    margin-left: 16rem;
    margin-right: 16rem;
  }

  :root .sm\:my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }

  :root .sm\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

  :root .sm\:my-px{
    margin-top: 1px;
    margin-bottom: 1px;
  }

  :root .sm\:mx-px{
    margin-left: 1px;
    margin-right: 1px;
  }

  :root .sm\:my-gutter{
    margin-top: var(--padding-gutter);
    margin-bottom: var(--padding-gutter);
  }

  :root .sm\:mx-gutter{
    margin-left: var(--padding-gutter);
    margin-right: var(--padding-gutter);
  }

  :root .sm\:-my-1{
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }

  :root .sm\:-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  :root .sm\:-my-2{
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }

  :root .sm\:-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  :root .sm\:-my-3{
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }

  :root .sm\:-mx-3{
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

  :root .sm\:-my-4{
    margin-top: -1rem;
    margin-bottom: -1rem;
  }

  :root .sm\:-mx-4{
    margin-left: -1rem;
    margin-right: -1rem;
  }

  :root .sm\:-my-5{
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }

  :root .sm\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  :root .sm\:-my-6{
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }

  :root .sm\:-mx-6{
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

  :root .sm\:-my-8{
    margin-top: -2rem;
    margin-bottom: -2rem;
  }

  :root .sm\:-mx-8{
    margin-left: -2rem;
    margin-right: -2rem;
  }

  :root .sm\:-my-9{
    margin-top: -2.25rem;
    margin-bottom: -2.25rem;
  }

  :root .sm\:-mx-9{
    margin-left: -2.25rem;
    margin-right: -2.25rem;
  }

  :root .sm\:-my-10{
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
  }

  :root .sm\:-mx-10{
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

  :root .sm\:-my-12{
    margin-top: -3rem;
    margin-bottom: -3rem;
  }

  :root .sm\:-mx-12{
    margin-left: -3rem;
    margin-right: -3rem;
  }

  :root .sm\:-my-14{
    margin-top: -3.5rem;
    margin-bottom: -3.5rem;
  }

  :root .sm\:-mx-14{
    margin-left: -3.5rem;
    margin-right: -3.5rem;
  }

  :root .sm\:-my-16{
    margin-top: -4rem;
    margin-bottom: -4rem;
  }

  :root .sm\:-mx-16{
    margin-left: -4rem;
    margin-right: -4rem;
  }

  :root .sm\:-my-20{
    margin-top: -5rem;
    margin-bottom: -5rem;
  }

  :root .sm\:-mx-20{
    margin-left: -5rem;
    margin-right: -5rem;
  }

  :root .sm\:-my-24{
    margin-top: -6rem;
    margin-bottom: -6rem;
  }

  :root .sm\:-mx-24{
    margin-left: -6rem;
    margin-right: -6rem;
  }

  :root .sm\:-my-32{
    margin-top: -8rem;
    margin-bottom: -8rem;
  }

  :root .sm\:-mx-32{
    margin-left: -8rem;
    margin-right: -8rem;
  }

  :root .sm\:-my-40{
    margin-top: -10rem;
    margin-bottom: -10rem;
  }

  :root .sm\:-mx-40{
    margin-left: -10rem;
    margin-right: -10rem;
  }

  :root .sm\:-my-48{
    margin-top: -12rem;
    margin-bottom: -12rem;
  }

  :root .sm\:-mx-48{
    margin-left: -12rem;
    margin-right: -12rem;
  }

  :root .sm\:-my-56{
    margin-top: -14rem;
    margin-bottom: -14rem;
  }

  :root .sm\:-mx-56{
    margin-left: -14rem;
    margin-right: -14rem;
  }

  :root .sm\:-my-64{
    margin-top: -16rem;
    margin-bottom: -16rem;
  }

  :root .sm\:-mx-64{
    margin-left: -16rem;
    margin-right: -16rem;
  }

  :root .sm\:-my-px{
    margin-top: -1px;
    margin-bottom: -1px;
  }

  :root .sm\:-mx-px{
    margin-left: -1px;
    margin-right: -1px;
  }

  :root .sm\:-my-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root .sm\:-mx-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root .sm\:mt-0{
    margin-top: 0;
  }

  :root .sm\:mr-0{
    margin-right: 0;
  }

  :root .sm\:mb-0{
    margin-bottom: 0;
  }

  :root .sm\:ml-0{
    margin-left: 0;
  }

  :root .sm\:mt-1{
    margin-top: 0.25rem;
  }

  :root .sm\:mr-1{
    margin-right: 0.25rem;
  }

  :root .sm\:mb-1{
    margin-bottom: 0.25rem;
  }

  :root .sm\:ml-1{
    margin-left: 0.25rem;
  }

  :root .sm\:mt-2{
    margin-top: 0.5rem;
  }

  :root .sm\:mr-2{
    margin-right: 0.5rem;
  }

  :root .sm\:mb-2{
    margin-bottom: 0.5rem;
  }

  :root .sm\:ml-2{
    margin-left: 0.5rem;
  }

  :root .sm\:mt-3{
    margin-top: 0.75rem;
  }

  :root .sm\:mr-3{
    margin-right: 0.75rem;
  }

  :root .sm\:mb-3{
    margin-bottom: 0.75rem;
  }

  :root .sm\:ml-3{
    margin-left: 0.75rem;
  }

  :root .sm\:mt-4{
    margin-top: 1rem;
  }

  :root .sm\:mr-4{
    margin-right: 1rem;
  }

  :root .sm\:mb-4{
    margin-bottom: 1rem;
  }

  :root .sm\:ml-4{
    margin-left: 1rem;
  }

  :root .sm\:mt-5{
    margin-top: 1.25rem;
  }

  :root .sm\:mr-5{
    margin-right: 1.25rem;
  }

  :root .sm\:mb-5{
    margin-bottom: 1.25rem;
  }

  :root .sm\:ml-5{
    margin-left: 1.25rem;
  }

  :root .sm\:mt-6{
    margin-top: 1.5rem;
  }

  :root .sm\:mr-6{
    margin-right: 1.5rem;
  }

  :root .sm\:mb-6{
    margin-bottom: 1.5rem;
  }

  :root .sm\:ml-6{
    margin-left: 1.5rem;
  }

  :root .sm\:mt-8{
    margin-top: 2rem;
  }

  :root .sm\:mr-8{
    margin-right: 2rem;
  }

  :root .sm\:mb-8{
    margin-bottom: 2rem;
  }

  :root .sm\:ml-8{
    margin-left: 2rem;
  }

  :root .sm\:mt-9{
    margin-top: 2.25rem;
  }

  :root .sm\:mr-9{
    margin-right: 2.25rem;
  }

  :root .sm\:mb-9{
    margin-bottom: 2.25rem;
  }

  :root .sm\:ml-9{
    margin-left: 2.25rem;
  }

  :root .sm\:mt-10{
    margin-top: 2.5rem;
  }

  :root .sm\:mr-10{
    margin-right: 2.5rem;
  }

  :root .sm\:mb-10{
    margin-bottom: 2.5rem;
  }

  :root .sm\:ml-10{
    margin-left: 2.5rem;
  }

  :root .sm\:mt-12{
    margin-top: 3rem;
  }

  :root .sm\:mr-12{
    margin-right: 3rem;
  }

  :root .sm\:mb-12{
    margin-bottom: 3rem;
  }

  :root .sm\:ml-12{
    margin-left: 3rem;
  }

  :root .sm\:mt-14{
    margin-top: 3.5rem;
  }

  :root .sm\:mr-14{
    margin-right: 3.5rem;
  }

  :root .sm\:mb-14{
    margin-bottom: 3.5rem;
  }

  :root .sm\:ml-14{
    margin-left: 3.5rem;
  }

  :root .sm\:mt-16{
    margin-top: 4rem;
  }

  :root .sm\:mr-16{
    margin-right: 4rem;
  }

  :root .sm\:mb-16{
    margin-bottom: 4rem;
  }

  :root .sm\:ml-16{
    margin-left: 4rem;
  }

  :root .sm\:mt-20{
    margin-top: 5rem;
  }

  :root .sm\:mr-20{
    margin-right: 5rem;
  }

  :root .sm\:mb-20{
    margin-bottom: 5rem;
  }

  :root .sm\:ml-20{
    margin-left: 5rem;
  }

  :root .sm\:mt-24{
    margin-top: 6rem;
  }

  :root .sm\:mr-24{
    margin-right: 6rem;
  }

  :root .sm\:mb-24{
    margin-bottom: 6rem;
  }

  :root .sm\:ml-24{
    margin-left: 6rem;
  }

  :root .sm\:mt-32{
    margin-top: 8rem;
  }

  :root .sm\:mr-32{
    margin-right: 8rem;
  }

  :root .sm\:mb-32{
    margin-bottom: 8rem;
  }

  :root .sm\:ml-32{
    margin-left: 8rem;
  }

  :root .sm\:mt-40{
    margin-top: 10rem;
  }

  :root .sm\:mr-40{
    margin-right: 10rem;
  }

  :root .sm\:mb-40{
    margin-bottom: 10rem;
  }

  :root .sm\:ml-40{
    margin-left: 10rem;
  }

  :root .sm\:mt-48{
    margin-top: 12rem;
  }

  :root .sm\:mr-48{
    margin-right: 12rem;
  }

  :root .sm\:mb-48{
    margin-bottom: 12rem;
  }

  :root .sm\:ml-48{
    margin-left: 12rem;
  }

  :root .sm\:mt-56{
    margin-top: 14rem;
  }

  :root .sm\:mr-56{
    margin-right: 14rem;
  }

  :root .sm\:mb-56{
    margin-bottom: 14rem;
  }

  :root .sm\:ml-56{
    margin-left: 14rem;
  }

  :root .sm\:mt-64{
    margin-top: 16rem;
  }

  :root .sm\:mr-64{
    margin-right: 16rem;
  }

  :root .sm\:mb-64{
    margin-bottom: 16rem;
  }

  :root .sm\:ml-64{
    margin-left: 16rem;
  }

  :root .sm\:mt-auto{
    margin-top: auto;
  }

  :root .sm\:mr-auto{
    margin-right: auto;
  }

  :root .sm\:mb-auto{
    margin-bottom: auto;
  }

  :root .sm\:ml-auto{
    margin-left: auto;
  }

  :root .sm\:mt-px{
    margin-top: 1px;
  }

  :root .sm\:mr-px{
    margin-right: 1px;
  }

  :root .sm\:mb-px{
    margin-bottom: 1px;
  }

  :root .sm\:ml-px{
    margin-left: 1px;
  }

  :root .sm\:mt-gutter{
    margin-top: var(--padding-gutter);
  }

  :root .sm\:mr-gutter{
    margin-right: var(--padding-gutter);
  }

  :root .sm\:mb-gutter{
    margin-bottom: var(--padding-gutter);
  }

  :root .sm\:ml-gutter{
    margin-left: var(--padding-gutter);
  }

  :root .sm\:-mt-1{
    margin-top: -0.25rem;
  }

  :root .sm\:-mr-1{
    margin-right: -0.25rem;
  }

  :root .sm\:-mb-1{
    margin-bottom: -0.25rem;
  }

  :root .sm\:-ml-1{
    margin-left: -0.25rem;
  }

  :root .sm\:-mt-2{
    margin-top: -0.5rem;
  }

  :root .sm\:-mr-2{
    margin-right: -0.5rem;
  }

  :root .sm\:-mb-2{
    margin-bottom: -0.5rem;
  }

  :root .sm\:-ml-2{
    margin-left: -0.5rem;
  }

  :root .sm\:-mt-3{
    margin-top: -0.75rem;
  }

  :root .sm\:-mr-3{
    margin-right: -0.75rem;
  }

  :root .sm\:-mb-3{
    margin-bottom: -0.75rem;
  }

  :root .sm\:-ml-3{
    margin-left: -0.75rem;
  }

  :root .sm\:-mt-4{
    margin-top: -1rem;
  }

  :root .sm\:-mr-4{
    margin-right: -1rem;
  }

  :root .sm\:-mb-4{
    margin-bottom: -1rem;
  }

  :root .sm\:-ml-4{
    margin-left: -1rem;
  }

  :root .sm\:-mt-5{
    margin-top: -1.25rem;
  }

  :root .sm\:-mr-5{
    margin-right: -1.25rem;
  }

  :root .sm\:-mb-5{
    margin-bottom: -1.25rem;
  }

  :root .sm\:-ml-5{
    margin-left: -1.25rem;
  }

  :root .sm\:-mt-6{
    margin-top: -1.5rem;
  }

  :root .sm\:-mr-6{
    margin-right: -1.5rem;
  }

  :root .sm\:-mb-6{
    margin-bottom: -1.5rem;
  }

  :root .sm\:-ml-6{
    margin-left: -1.5rem;
  }

  :root .sm\:-mt-8{
    margin-top: -2rem;
  }

  :root .sm\:-mr-8{
    margin-right: -2rem;
  }

  :root .sm\:-mb-8{
    margin-bottom: -2rem;
  }

  :root .sm\:-ml-8{
    margin-left: -2rem;
  }

  :root .sm\:-mt-9{
    margin-top: -2.25rem;
  }

  :root .sm\:-mr-9{
    margin-right: -2.25rem;
  }

  :root .sm\:-mb-9{
    margin-bottom: -2.25rem;
  }

  :root .sm\:-ml-9{
    margin-left: -2.25rem;
  }

  :root .sm\:-mt-10{
    margin-top: -2.5rem;
  }

  :root .sm\:-mr-10{
    margin-right: -2.5rem;
  }

  :root .sm\:-mb-10{
    margin-bottom: -2.5rem;
  }

  :root .sm\:-ml-10{
    margin-left: -2.5rem;
  }

  :root .sm\:-mt-12{
    margin-top: -3rem;
  }

  :root .sm\:-mr-12{
    margin-right: -3rem;
  }

  :root .sm\:-mb-12{
    margin-bottom: -3rem;
  }

  :root .sm\:-ml-12{
    margin-left: -3rem;
  }

  :root .sm\:-mt-14{
    margin-top: -3.5rem;
  }

  :root .sm\:-mr-14{
    margin-right: -3.5rem;
  }

  :root .sm\:-mb-14{
    margin-bottom: -3.5rem;
  }

  :root .sm\:-ml-14{
    margin-left: -3.5rem;
  }

  :root .sm\:-mt-16{
    margin-top: -4rem;
  }

  :root .sm\:-mr-16{
    margin-right: -4rem;
  }

  :root .sm\:-mb-16{
    margin-bottom: -4rem;
  }

  :root .sm\:-ml-16{
    margin-left: -4rem;
  }

  :root .sm\:-mt-20{
    margin-top: -5rem;
  }

  :root .sm\:-mr-20{
    margin-right: -5rem;
  }

  :root .sm\:-mb-20{
    margin-bottom: -5rem;
  }

  :root .sm\:-ml-20{
    margin-left: -5rem;
  }

  :root .sm\:-mt-24{
    margin-top: -6rem;
  }

  :root .sm\:-mr-24{
    margin-right: -6rem;
  }

  :root .sm\:-mb-24{
    margin-bottom: -6rem;
  }

  :root .sm\:-ml-24{
    margin-left: -6rem;
  }

  :root .sm\:-mt-32{
    margin-top: -8rem;
  }

  :root .sm\:-mr-32{
    margin-right: -8rem;
  }

  :root .sm\:-mb-32{
    margin-bottom: -8rem;
  }

  :root .sm\:-ml-32{
    margin-left: -8rem;
  }

  :root .sm\:-mt-40{
    margin-top: -10rem;
  }

  :root .sm\:-mr-40{
    margin-right: -10rem;
  }

  :root .sm\:-mb-40{
    margin-bottom: -10rem;
  }

  :root .sm\:-ml-40{
    margin-left: -10rem;
  }

  :root .sm\:-mt-48{
    margin-top: -12rem;
  }

  :root .sm\:-mr-48{
    margin-right: -12rem;
  }

  :root .sm\:-mb-48{
    margin-bottom: -12rem;
  }

  :root .sm\:-ml-48{
    margin-left: -12rem;
  }

  :root .sm\:-mt-56{
    margin-top: -14rem;
  }

  :root .sm\:-mr-56{
    margin-right: -14rem;
  }

  :root .sm\:-mb-56{
    margin-bottom: -14rem;
  }

  :root .sm\:-ml-56{
    margin-left: -14rem;
  }

  :root .sm\:-mt-64{
    margin-top: -16rem;
  }

  :root .sm\:-mr-64{
    margin-right: -16rem;
  }

  :root .sm\:-mb-64{
    margin-bottom: -16rem;
  }

  :root .sm\:-ml-64{
    margin-left: -16rem;
  }

  :root .sm\:-mt-px{
    margin-top: -1px;
  }

  :root .sm\:-mr-px{
    margin-right: -1px;
  }

  :root .sm\:-mb-px{
    margin-bottom: -1px;
  }

  :root .sm\:-ml-px{
    margin-left: -1px;
  }

  :root .sm\:-mt-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
  }

  :root .sm\:-mr-gutter{
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root .sm\:-mb-gutter{
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root .sm\:-ml-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .sm\:ltr\:m-0{
    margin: 0;
  }

  :root [dir=ltr] .sm\:ltr\:m-1{
    margin: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-2{
    margin: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-3{
    margin: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-4{
    margin: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-5{
    margin: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-6{
    margin: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-8{
    margin: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-9{
    margin: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-10{
    margin: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-12{
    margin: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-14{
    margin: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-16{
    margin: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-20{
    margin: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-24{
    margin: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-32{
    margin: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-40{
    margin: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-48{
    margin: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-56{
    margin: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-64{
    margin: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:m-auto{
    margin: auto;
  }

  :root [dir=ltr] .sm\:ltr\:m-px{
    margin: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:m-gutter{
    margin: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:-m-1{
    margin: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-2{
    margin: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-3{
    margin: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-4{
    margin: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-5{
    margin: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-6{
    margin: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-8{
    margin: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-9{
    margin: -2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-10{
    margin: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-12{
    margin: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-14{
    margin: -3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-16{
    margin: -4rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-20{
    margin: -5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-24{
    margin: -6rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-32{
    margin: -8rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-40{
    margin: -10rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-48{
    margin: -12rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-56{
    margin: -14rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-64{
    margin: -16rem;
  }

  :root [dir=ltr] .sm\:ltr\:-m-px{
    margin: -1px;
  }

  :root [dir=ltr] .sm\:ltr\:-m-gutter{
    margin: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .sm\:ltr\:my-0{
    margin-top: 0;
    margin-bottom: 0;
  }

  :root [dir=ltr] .sm\:ltr\:mx-0{
    margin-left: 0;
    margin-right: 0;
  }

  :root [dir=ltr] .sm\:ltr\:my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-4{
    margin-left: 1rem;
    margin-right: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-5{
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-8{
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-8{
    margin-left: 2rem;
    margin-right: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-9{
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-9{
    margin-left: 2.25rem;
    margin-right: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-10{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-10{
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-12{
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-12{
    margin-left: 3rem;
    margin-right: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-14{
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-14{
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-16{
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-16{
    margin-left: 4rem;
    margin-right: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-20{
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-20{
    margin-left: 5rem;
    margin-right: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-24{
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-24{
    margin-left: 6rem;
    margin-right: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-32{
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-32{
    margin-left: 8rem;
    margin-right: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-40{
    margin-top: 10rem;
    margin-bottom: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-40{
    margin-left: 10rem;
    margin-right: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-48{
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-48{
    margin-left: 12rem;
    margin-right: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-56{
    margin-top: 14rem;
    margin-bottom: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-56{
    margin-left: 14rem;
    margin-right: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-64{
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:mx-64{
    margin-left: 16rem;
    margin-right: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }

  :root [dir=ltr] .sm\:ltr\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

  :root [dir=ltr] .sm\:ltr\:my-px{
    margin-top: 1px;
    margin-bottom: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:mx-px{
    margin-left: 1px;
    margin-right: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:my-gutter{
    margin-top: var(--padding-gutter);
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:mx-gutter{
    margin-left: var(--padding-gutter);
    margin-right: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:-my-1{
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-2{
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-3{
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-3{
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-4{
    margin-top: -1rem;
    margin-bottom: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-4{
    margin-left: -1rem;
    margin-right: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-5{
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-6{
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-6{
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-8{
    margin-top: -2rem;
    margin-bottom: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-8{
    margin-left: -2rem;
    margin-right: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-9{
    margin-top: -2.25rem;
    margin-bottom: -2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-9{
    margin-left: -2.25rem;
    margin-right: -2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-10{
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-10{
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-12{
    margin-top: -3rem;
    margin-bottom: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-12{
    margin-left: -3rem;
    margin-right: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-14{
    margin-top: -3.5rem;
    margin-bottom: -3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-14{
    margin-left: -3.5rem;
    margin-right: -3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-16{
    margin-top: -4rem;
    margin-bottom: -4rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-16{
    margin-left: -4rem;
    margin-right: -4rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-20{
    margin-top: -5rem;
    margin-bottom: -5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-20{
    margin-left: -5rem;
    margin-right: -5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-24{
    margin-top: -6rem;
    margin-bottom: -6rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-24{
    margin-left: -6rem;
    margin-right: -6rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-32{
    margin-top: -8rem;
    margin-bottom: -8rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-32{
    margin-left: -8rem;
    margin-right: -8rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-40{
    margin-top: -10rem;
    margin-bottom: -10rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-40{
    margin-left: -10rem;
    margin-right: -10rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-48{
    margin-top: -12rem;
    margin-bottom: -12rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-48{
    margin-left: -12rem;
    margin-right: -12rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-56{
    margin-top: -14rem;
    margin-bottom: -14rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-56{
    margin-left: -14rem;
    margin-right: -14rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-64{
    margin-top: -16rem;
    margin-bottom: -16rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-64{
    margin-left: -16rem;
    margin-right: -16rem;
  }

  :root [dir=ltr] .sm\:ltr\:-my-px{
    margin-top: -1px;
    margin-bottom: -1px;
  }

  :root [dir=ltr] .sm\:ltr\:-mx-px{
    margin-left: -1px;
    margin-right: -1px;
  }

  :root [dir=ltr] .sm\:ltr\:-my-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .sm\:ltr\:-mx-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .sm\:ltr\:mt-0{
    margin-top: 0;
  }

  :root [dir=ltr] .sm\:ltr\:mr-0{
    margin-right: 0;
  }

  :root [dir=ltr] .sm\:ltr\:mb-0{
    margin-bottom: 0;
  }

  :root [dir=ltr] .sm\:ltr\:ml-0{
    margin-left: 0;
  }

  :root [dir=ltr] .sm\:ltr\:mt-1{
    margin-top: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-1{
    margin-right: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-1{
    margin-bottom: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-1{
    margin-left: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-2{
    margin-top: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-2{
    margin-right: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-2{
    margin-bottom: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-2{
    margin-left: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-3{
    margin-top: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-3{
    margin-right: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-3{
    margin-bottom: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-3{
    margin-left: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-4{
    margin-top: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-4{
    margin-right: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-4{
    margin-bottom: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-4{
    margin-left: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-5{
    margin-top: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-5{
    margin-right: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-5{
    margin-bottom: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-5{
    margin-left: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-6{
    margin-top: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-6{
    margin-right: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-6{
    margin-bottom: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-6{
    margin-left: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-8{
    margin-top: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-8{
    margin-right: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-8{
    margin-bottom: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-8{
    margin-left: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-9{
    margin-top: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-9{
    margin-right: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-9{
    margin-bottom: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-9{
    margin-left: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-10{
    margin-top: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-10{
    margin-right: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-10{
    margin-bottom: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-10{
    margin-left: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-12{
    margin-top: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-12{
    margin-right: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-12{
    margin-bottom: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-12{
    margin-left: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-14{
    margin-top: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-14{
    margin-right: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-14{
    margin-bottom: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-14{
    margin-left: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-16{
    margin-top: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-16{
    margin-right: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-16{
    margin-bottom: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-16{
    margin-left: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-20{
    margin-top: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-20{
    margin-right: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-20{
    margin-bottom: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-20{
    margin-left: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-24{
    margin-top: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-24{
    margin-right: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-24{
    margin-bottom: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-24{
    margin-left: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-32{
    margin-top: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-32{
    margin-right: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-32{
    margin-bottom: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-32{
    margin-left: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-40{
    margin-top: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-40{
    margin-right: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-40{
    margin-bottom: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-40{
    margin-left: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-48{
    margin-top: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-48{
    margin-right: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-48{
    margin-bottom: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-48{
    margin-left: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-56{
    margin-top: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-56{
    margin-right: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-56{
    margin-bottom: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-56{
    margin-left: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-64{
    margin-top: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:mr-64{
    margin-right: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:mb-64{
    margin-bottom: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:ml-64{
    margin-left: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:mt-auto{
    margin-top: auto;
  }

  :root [dir=ltr] .sm\:ltr\:mr-auto{
    margin-right: auto;
  }

  :root [dir=ltr] .sm\:ltr\:mb-auto{
    margin-bottom: auto;
  }

  :root [dir=ltr] .sm\:ltr\:ml-auto{
    margin-left: auto;
  }

  :root [dir=ltr] .sm\:ltr\:mt-px{
    margin-top: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:mr-px{
    margin-right: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:mb-px{
    margin-bottom: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:ml-px{
    margin-left: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:mt-gutter{
    margin-top: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:mr-gutter{
    margin-right: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:mb-gutter{
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:ml-gutter{
    margin-left: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:-mt-1{
    margin-top: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-1{
    margin-right: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-1{
    margin-bottom: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-1{
    margin-left: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-2{
    margin-top: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-2{
    margin-right: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-2{
    margin-bottom: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-2{
    margin-left: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-3{
    margin-top: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-3{
    margin-right: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-3{
    margin-bottom: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-3{
    margin-left: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-4{
    margin-top: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-4{
    margin-right: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-4{
    margin-bottom: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-4{
    margin-left: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-5{
    margin-top: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-5{
    margin-right: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-5{
    margin-bottom: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-5{
    margin-left: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-6{
    margin-top: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-6{
    margin-right: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-6{
    margin-bottom: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-6{
    margin-left: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-8{
    margin-top: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-8{
    margin-right: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-8{
    margin-bottom: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-8{
    margin-left: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-9{
    margin-top: -2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-9{
    margin-right: -2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-9{
    margin-bottom: -2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-9{
    margin-left: -2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-10{
    margin-top: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-10{
    margin-right: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-10{
    margin-bottom: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-10{
    margin-left: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-12{
    margin-top: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-12{
    margin-right: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-12{
    margin-bottom: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-12{
    margin-left: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-14{
    margin-top: -3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-14{
    margin-right: -3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-14{
    margin-bottom: -3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-14{
    margin-left: -3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-16{
    margin-top: -4rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-16{
    margin-right: -4rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-16{
    margin-bottom: -4rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-16{
    margin-left: -4rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-20{
    margin-top: -5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-20{
    margin-right: -5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-20{
    margin-bottom: -5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-20{
    margin-left: -5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-24{
    margin-top: -6rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-24{
    margin-right: -6rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-24{
    margin-bottom: -6rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-24{
    margin-left: -6rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-32{
    margin-top: -8rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-32{
    margin-right: -8rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-32{
    margin-bottom: -8rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-32{
    margin-left: -8rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-40{
    margin-top: -10rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-40{
    margin-right: -10rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-40{
    margin-bottom: -10rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-40{
    margin-left: -10rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-48{
    margin-top: -12rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-48{
    margin-right: -12rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-48{
    margin-bottom: -12rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-48{
    margin-left: -12rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-56{
    margin-top: -14rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-56{
    margin-right: -14rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-56{
    margin-bottom: -14rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-56{
    margin-left: -14rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-64{
    margin-top: -16rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-64{
    margin-right: -16rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-64{
    margin-bottom: -16rem;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-64{
    margin-left: -16rem;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-px{
    margin-top: -1px;
  }

  :root [dir=ltr] .sm\:ltr\:-mr-px{
    margin-right: -1px;
  }

  :root [dir=ltr] .sm\:ltr\:-mb-px{
    margin-bottom: -1px;
  }

  :root [dir=ltr] .sm\:ltr\:-ml-px{
    margin-left: -1px;
  }

  :root [dir=ltr] .sm\:ltr\:-mt-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .sm\:ltr\:-mr-gutter{
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .sm\:ltr\:-mb-gutter{
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .sm\:ltr\:-ml-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .sm\:rtl\:m-0{
    margin: 0;
  }

  :root [dir=rtl] .sm\:rtl\:m-1{
    margin: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-2{
    margin: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-3{
    margin: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-4{
    margin: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-5{
    margin: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-6{
    margin: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-8{
    margin: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-9{
    margin: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-10{
    margin: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-12{
    margin: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-14{
    margin: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-16{
    margin: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-20{
    margin: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-24{
    margin: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-32{
    margin: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-40{
    margin: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-48{
    margin: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-56{
    margin: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-64{
    margin: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:m-auto{
    margin: auto;
  }

  :root [dir=rtl] .sm\:rtl\:m-px{
    margin: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:m-gutter{
    margin: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:-m-1{
    margin: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-2{
    margin: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-3{
    margin: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-4{
    margin: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-5{
    margin: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-6{
    margin: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-8{
    margin: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-9{
    margin: -2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-10{
    margin: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-12{
    margin: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-14{
    margin: -3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-16{
    margin: -4rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-20{
    margin: -5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-24{
    margin: -6rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-32{
    margin: -8rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-40{
    margin: -10rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-48{
    margin: -12rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-56{
    margin: -14rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-64{
    margin: -16rem;
  }

  :root [dir=rtl] .sm\:rtl\:-m-px{
    margin: -1px;
  }

  :root [dir=rtl] .sm\:rtl\:-m-gutter{
    margin: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .sm\:rtl\:my-0{
    margin-top: 0;
    margin-bottom: 0;
  }

  :root [dir=rtl] .sm\:rtl\:mx-0{
    margin-left: 0;
    margin-right: 0;
  }

  :root [dir=rtl] .sm\:rtl\:my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-4{
    margin-left: 1rem;
    margin-right: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-5{
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-8{
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-8{
    margin-left: 2rem;
    margin-right: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-9{
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-9{
    margin-left: 2.25rem;
    margin-right: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-10{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-10{
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-12{
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-12{
    margin-left: 3rem;
    margin-right: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-14{
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-14{
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-16{
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-16{
    margin-left: 4rem;
    margin-right: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-20{
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-20{
    margin-left: 5rem;
    margin-right: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-24{
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-24{
    margin-left: 6rem;
    margin-right: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-32{
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-32{
    margin-left: 8rem;
    margin-right: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-40{
    margin-top: 10rem;
    margin-bottom: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-40{
    margin-left: 10rem;
    margin-right: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-48{
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-48{
    margin-left: 12rem;
    margin-right: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-56{
    margin-top: 14rem;
    margin-bottom: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-56{
    margin-left: 14rem;
    margin-right: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-64{
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:mx-64{
    margin-left: 16rem;
    margin-right: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }

  :root [dir=rtl] .sm\:rtl\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

  :root [dir=rtl] .sm\:rtl\:my-px{
    margin-top: 1px;
    margin-bottom: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:mx-px{
    margin-left: 1px;
    margin-right: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:my-gutter{
    margin-top: var(--padding-gutter);
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:mx-gutter{
    margin-left: var(--padding-gutter);
    margin-right: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:-my-1{
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-2{
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-3{
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-3{
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-4{
    margin-top: -1rem;
    margin-bottom: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-4{
    margin-left: -1rem;
    margin-right: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-5{
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-6{
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-6{
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-8{
    margin-top: -2rem;
    margin-bottom: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-8{
    margin-left: -2rem;
    margin-right: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-9{
    margin-top: -2.25rem;
    margin-bottom: -2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-9{
    margin-left: -2.25rem;
    margin-right: -2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-10{
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-10{
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-12{
    margin-top: -3rem;
    margin-bottom: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-12{
    margin-left: -3rem;
    margin-right: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-14{
    margin-top: -3.5rem;
    margin-bottom: -3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-14{
    margin-left: -3.5rem;
    margin-right: -3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-16{
    margin-top: -4rem;
    margin-bottom: -4rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-16{
    margin-left: -4rem;
    margin-right: -4rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-20{
    margin-top: -5rem;
    margin-bottom: -5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-20{
    margin-left: -5rem;
    margin-right: -5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-24{
    margin-top: -6rem;
    margin-bottom: -6rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-24{
    margin-left: -6rem;
    margin-right: -6rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-32{
    margin-top: -8rem;
    margin-bottom: -8rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-32{
    margin-left: -8rem;
    margin-right: -8rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-40{
    margin-top: -10rem;
    margin-bottom: -10rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-40{
    margin-left: -10rem;
    margin-right: -10rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-48{
    margin-top: -12rem;
    margin-bottom: -12rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-48{
    margin-left: -12rem;
    margin-right: -12rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-56{
    margin-top: -14rem;
    margin-bottom: -14rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-56{
    margin-left: -14rem;
    margin-right: -14rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-64{
    margin-top: -16rem;
    margin-bottom: -16rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-64{
    margin-left: -16rem;
    margin-right: -16rem;
  }

  :root [dir=rtl] .sm\:rtl\:-my-px{
    margin-top: -1px;
    margin-bottom: -1px;
  }

  :root [dir=rtl] .sm\:rtl\:-mx-px{
    margin-left: -1px;
    margin-right: -1px;
  }

  :root [dir=rtl] .sm\:rtl\:-my-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .sm\:rtl\:-mx-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .sm\:rtl\:mt-0{
    margin-top: 0;
  }

  :root [dir=rtl] .sm\:rtl\:mr-0{
    margin-right: 0;
  }

  :root [dir=rtl] .sm\:rtl\:mb-0{
    margin-bottom: 0;
  }

  :root [dir=rtl] .sm\:rtl\:ml-0{
    margin-left: 0;
  }

  :root [dir=rtl] .sm\:rtl\:mt-1{
    margin-top: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-1{
    margin-right: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-1{
    margin-bottom: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-1{
    margin-left: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-2{
    margin-top: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-2{
    margin-right: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-2{
    margin-bottom: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-2{
    margin-left: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-3{
    margin-top: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-3{
    margin-right: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-3{
    margin-bottom: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-3{
    margin-left: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-4{
    margin-top: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-4{
    margin-right: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-4{
    margin-bottom: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-4{
    margin-left: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-5{
    margin-top: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-5{
    margin-right: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-5{
    margin-bottom: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-5{
    margin-left: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-6{
    margin-top: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-6{
    margin-right: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-6{
    margin-bottom: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-6{
    margin-left: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-8{
    margin-top: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-8{
    margin-right: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-8{
    margin-bottom: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-8{
    margin-left: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-9{
    margin-top: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-9{
    margin-right: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-9{
    margin-bottom: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-9{
    margin-left: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-10{
    margin-top: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-10{
    margin-right: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-10{
    margin-bottom: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-10{
    margin-left: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-12{
    margin-top: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-12{
    margin-right: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-12{
    margin-bottom: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-12{
    margin-left: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-14{
    margin-top: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-14{
    margin-right: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-14{
    margin-bottom: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-14{
    margin-left: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-16{
    margin-top: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-16{
    margin-right: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-16{
    margin-bottom: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-16{
    margin-left: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-20{
    margin-top: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-20{
    margin-right: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-20{
    margin-bottom: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-20{
    margin-left: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-24{
    margin-top: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-24{
    margin-right: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-24{
    margin-bottom: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-24{
    margin-left: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-32{
    margin-top: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-32{
    margin-right: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-32{
    margin-bottom: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-32{
    margin-left: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-40{
    margin-top: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-40{
    margin-right: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-40{
    margin-bottom: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-40{
    margin-left: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-48{
    margin-top: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-48{
    margin-right: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-48{
    margin-bottom: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-48{
    margin-left: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-56{
    margin-top: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-56{
    margin-right: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-56{
    margin-bottom: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-56{
    margin-left: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-64{
    margin-top: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:mr-64{
    margin-right: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:mb-64{
    margin-bottom: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:ml-64{
    margin-left: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:mt-auto{
    margin-top: auto;
  }

  :root [dir=rtl] .sm\:rtl\:mr-auto{
    margin-right: auto;
  }

  :root [dir=rtl] .sm\:rtl\:mb-auto{
    margin-bottom: auto;
  }

  :root [dir=rtl] .sm\:rtl\:ml-auto{
    margin-left: auto;
  }

  :root [dir=rtl] .sm\:rtl\:mt-px{
    margin-top: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:mr-px{
    margin-right: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:mb-px{
    margin-bottom: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:ml-px{
    margin-left: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:mt-gutter{
    margin-top: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:mr-gutter{
    margin-right: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:mb-gutter{
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:ml-gutter{
    margin-left: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:-mt-1{
    margin-top: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-1{
    margin-right: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-1{
    margin-bottom: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-1{
    margin-left: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-2{
    margin-top: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-2{
    margin-right: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-2{
    margin-bottom: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-2{
    margin-left: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-3{
    margin-top: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-3{
    margin-right: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-3{
    margin-bottom: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-3{
    margin-left: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-4{
    margin-top: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-4{
    margin-right: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-4{
    margin-bottom: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-4{
    margin-left: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-5{
    margin-top: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-5{
    margin-right: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-5{
    margin-bottom: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-5{
    margin-left: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-6{
    margin-top: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-6{
    margin-right: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-6{
    margin-bottom: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-6{
    margin-left: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-8{
    margin-top: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-8{
    margin-right: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-8{
    margin-bottom: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-8{
    margin-left: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-9{
    margin-top: -2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-9{
    margin-right: -2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-9{
    margin-bottom: -2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-9{
    margin-left: -2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-10{
    margin-top: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-10{
    margin-right: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-10{
    margin-bottom: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-10{
    margin-left: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-12{
    margin-top: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-12{
    margin-right: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-12{
    margin-bottom: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-12{
    margin-left: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-14{
    margin-top: -3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-14{
    margin-right: -3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-14{
    margin-bottom: -3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-14{
    margin-left: -3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-16{
    margin-top: -4rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-16{
    margin-right: -4rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-16{
    margin-bottom: -4rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-16{
    margin-left: -4rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-20{
    margin-top: -5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-20{
    margin-right: -5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-20{
    margin-bottom: -5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-20{
    margin-left: -5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-24{
    margin-top: -6rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-24{
    margin-right: -6rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-24{
    margin-bottom: -6rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-24{
    margin-left: -6rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-32{
    margin-top: -8rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-32{
    margin-right: -8rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-32{
    margin-bottom: -8rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-32{
    margin-left: -8rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-40{
    margin-top: -10rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-40{
    margin-right: -10rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-40{
    margin-bottom: -10rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-40{
    margin-left: -10rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-48{
    margin-top: -12rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-48{
    margin-right: -12rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-48{
    margin-bottom: -12rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-48{
    margin-left: -12rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-56{
    margin-top: -14rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-56{
    margin-right: -14rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-56{
    margin-bottom: -14rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-56{
    margin-left: -14rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-64{
    margin-top: -16rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-64{
    margin-right: -16rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-64{
    margin-bottom: -16rem;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-64{
    margin-left: -16rem;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-px{
    margin-top: -1px;
  }

  :root [dir=rtl] .sm\:rtl\:-mr-px{
    margin-right: -1px;
  }

  :root [dir=rtl] .sm\:rtl\:-mb-px{
    margin-bottom: -1px;
  }

  :root [dir=rtl] .sm\:rtl\:-ml-px{
    margin-left: -1px;
  }

  :root [dir=rtl] .sm\:rtl\:-mt-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .sm\:rtl\:-mr-gutter{
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .sm\:rtl\:-mb-gutter{
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .sm\:rtl\:-ml-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
  }

  :root .sm\:max-h-full{
    max-height: 100%;
  }

  :root .sm\:max-h-screen{
    max-height: 100vh;
  }

  :root .sm\:max-w-unset{
    max-width: unset;
  }

  :root .sm\:max-w-xxxs{
    max-width: 16rem;
  }

  :root .sm\:max-w-xxs{
    max-width: 18rem;
  }

  :root .sm\:max-w-xs{
    max-width: 20rem;
  }

  :root .sm\:max-w-sm{
    max-width: 24rem;
  }

  :root .sm\:max-w-md{
    max-width: 28rem;
  }

  :root .sm\:max-w-lg{
    max-width: 32rem;
  }

  :root .sm\:max-w-xl{
    max-width: 36rem;
  }

  :root .sm\:max-w-2xl{
    max-width: 42rem;
  }

  :root .sm\:max-w-3xl{
    max-width: 48rem;
  }

  :root .sm\:max-w-4xl{
    max-width: 56rem;
  }

  :root .sm\:max-w-5xl{
    max-width: 64rem;
  }

  :root .sm\:max-w-6xl{
    max-width: 72rem;
  }

  :root .sm\:max-w-full{
    max-width: 100%;
  }

  :root .sm\:min-h-0{
    min-height: 0;
  }

  :root .sm\:min-h-full{
    min-height: 100%;
  }

  :root .sm\:min-h-screen{
    min-height: 100vh;
  }

  :root .sm\:min-w-0{
    min-width: 0;
  }

  :root .sm\:min-w-1{
    min-width: 0.25rem;
  }

  :root .sm\:min-w-2{
    min-width: 0.5rem;
  }

  :root .sm\:min-w-3{
    min-width: 0.75rem;
  }

  :root .sm\:min-w-4{
    min-width: 1rem;
  }

  :root .sm\:min-w-5{
    min-width: 1.25rem;
  }

  :root .sm\:min-w-6{
    min-width: 1.5rem;
  }

  :root .sm\:min-w-8{
    min-width: 2rem;
  }

  :root .sm\:min-w-9{
    min-width: 2.25rem;
  }

  :root .sm\:min-w-10{
    min-width: 2.5rem;
  }

  :root .sm\:min-w-12{
    min-width: 3rem;
  }

  :root .sm\:min-w-14{
    min-width: 3.5rem;
  }

  :root .sm\:min-w-16{
    min-width: 4rem;
  }

  :root .sm\:min-w-20{
    min-width: 5rem;
  }

  :root .sm\:min-w-24{
    min-width: 6rem;
  }

  :root .sm\:min-w-32{
    min-width: 8rem;
  }

  :root .sm\:min-w-40{
    min-width: 10rem;
  }

  :root .sm\:min-w-48{
    min-width: 12rem;
  }

  :root .sm\:min-w-56{
    min-width: 14rem;
  }

  :root .sm\:min-w-64{
    min-width: 16rem;
  }

  :root .sm\:min-w-full{
    min-width: 100%;
  }

  :root .sm\:min-w-px{
    min-width: 1px;
  }

  :root .sm\:min-w-gutter{
    min-width: var(--padding-gutter);
  }

  :root .sm\:object-contain{
    -o-object-fit: contain;
       object-fit: contain;
  }

  :root .sm\:object-cover{
    -o-object-fit: cover;
       object-fit: cover;
  }

  :root .sm\:object-fill{
    -o-object-fit: fill;
       object-fit: fill;
  }

  :root .sm\:object-none{
    -o-object-fit: none;
       object-fit: none;
  }

  :root .sm\:object-scale-down{
    -o-object-fit: scale-down;
       object-fit: scale-down;
  }

  :root .sm\:object-bottom{
    -o-object-position: bottom;
       object-position: bottom;
  }

  :root .sm\:object-center{
    -o-object-position: center;
       object-position: center;
  }

  :root .sm\:object-left{
    -o-object-position: left;
       object-position: left;
  }

  :root .sm\:object-left-bottom{
    -o-object-position: left bottom;
       object-position: left bottom;
  }

  :root .sm\:object-left-top{
    -o-object-position: left top;
       object-position: left top;
  }

  :root .sm\:object-right{
    -o-object-position: right;
       object-position: right;
  }

  :root .sm\:object-right-bottom{
    -o-object-position: right bottom;
       object-position: right bottom;
  }

  :root .sm\:object-right-top{
    -o-object-position: right top;
       object-position: right top;
  }

  :root .sm\:object-top{
    -o-object-position: top;
       object-position: top;
  }

  :root .sm\:opacity-0{
    opacity: 0;
  }

  :root .sm\:opacity-25{
    opacity: 0.25;
  }

  :root .sm\:opacity-50{
    opacity: 0.5;
  }

  :root .sm\:opacity-75{
    opacity: 0.75;
  }

  :root .sm\:opacity-100{
    opacity: 1;
  }

  :root .sm\:hover\:opacity-0:hover{
    opacity: 0;
  }

  :root .sm\:hover\:opacity-25:hover{
    opacity: 0.25;
  }

  :root .sm\:hover\:opacity-50:hover{
    opacity: 0.5;
  }

  :root .sm\:hover\:opacity-75:hover{
    opacity: 0.75;
  }

  :root .sm\:hover\:opacity-100:hover{
    opacity: 1;
  }

  :root .sm\:focus\:opacity-0:focus{
    opacity: 0;
  }

  :root .sm\:focus\:opacity-25:focus{
    opacity: 0.25;
  }

  :root .sm\:focus\:opacity-50:focus{
    opacity: 0.5;
  }

  :root .sm\:focus\:opacity-75:focus{
    opacity: 0.75;
  }

  :root .sm\:focus\:opacity-100:focus{
    opacity: 1;
  }

  :root .sm\:outline-none{
    outline: 2px solid transparent;
    outline-offset: 2px;
  }

  :root .sm\:outline-white{
    outline: 2px dotted white;
    outline-offset: 2px;
  }

  :root .sm\:outline-black{
    outline: 2px dotted black;
    outline-offset: 2px;
  }

  :root .sm\:focus\:outline-none:focus{
    outline: 2px solid transparent;
    outline-offset: 2px;
  }

  :root .sm\:focus\:outline-white:focus{
    outline: 2px dotted white;
    outline-offset: 2px;
  }

  :root .sm\:focus\:outline-black:focus{
    outline: 2px dotted black;
    outline-offset: 2px;
  }

  :root .sm\:overflow-auto{
    overflow: auto;
  }

  :root .sm\:overflow-hidden{
    overflow: hidden;
  }

  :root .sm\:overflow-visible{
    overflow: visible;
  }

  :root .sm\:overflow-scroll{
    overflow: scroll;
  }

  :root .sm\:overflow-x-auto{
    overflow-x: auto;
  }

  :root .sm\:overflow-y-auto{
    overflow-y: auto;
  }

  :root .sm\:overflow-x-hidden{
    overflow-x: hidden;
  }

  :root .sm\:overflow-y-hidden{
    overflow-y: hidden;
  }

  :root .sm\:overflow-x-visible{
    overflow-x: visible;
  }

  :root .sm\:overflow-y-visible{
    overflow-y: visible;
  }

  :root .sm\:overflow-x-scroll{
    overflow-x: scroll;
  }

  :root .sm\:overflow-y-scroll{
    overflow-y: scroll;
  }

  :root .sm\:overscroll-auto{
    overscroll-behavior: auto;
  }

  :root .sm\:overscroll-contain{
    overscroll-behavior: contain;
  }

  :root .sm\:overscroll-none{
    overscroll-behavior: none;
  }

  :root .sm\:overscroll-y-auto{
    overscroll-behavior-y: auto;
  }

  :root .sm\:overscroll-y-contain{
    overscroll-behavior-y: contain;
  }

  :root .sm\:overscroll-y-none{
    overscroll-behavior-y: none;
  }

  :root .sm\:overscroll-x-auto{
    overscroll-behavior-x: auto;
  }

  :root .sm\:overscroll-x-contain{
    overscroll-behavior-x: contain;
  }

  :root .sm\:overscroll-x-none{
    overscroll-behavior-x: none;
  }

  :root .sm\:p-0{
    padding: 0;
  }

  :root .sm\:p-1{
    padding: 0.25rem;
  }

  :root .sm\:p-2{
    padding: 0.5rem;
  }

  :root .sm\:p-3{
    padding: 0.75rem;
  }

  :root .sm\:p-4{
    padding: 1rem;
  }

  :root .sm\:p-5{
    padding: 1.25rem;
  }

  :root .sm\:p-6{
    padding: 1.5rem;
  }

  :root .sm\:p-8{
    padding: 2rem;
  }

  :root .sm\:p-9{
    padding: 2.25rem;
  }

  :root .sm\:p-10{
    padding: 2.5rem;
  }

  :root .sm\:p-12{
    padding: 3rem;
  }

  :root .sm\:p-14{
    padding: 3.5rem;
  }

  :root .sm\:p-16{
    padding: 4rem;
  }

  :root .sm\:p-20{
    padding: 5rem;
  }

  :root .sm\:p-24{
    padding: 6rem;
  }

  :root .sm\:p-32{
    padding: 8rem;
  }

  :root .sm\:p-40{
    padding: 10rem;
  }

  :root .sm\:p-48{
    padding: 12rem;
  }

  :root .sm\:p-56{
    padding: 14rem;
  }

  :root .sm\:p-64{
    padding: 16rem;
  }

  :root .sm\:p-px{
    padding: 1px;
  }

  :root .sm\:p-gutter{
    padding: var(--padding-gutter);
  }

  :root .sm\:py-0{
    padding-top: 0;
    padding-bottom: 0;
  }

  :root .sm\:px-0{
    padding-left: 0;
    padding-right: 0;
  }

  :root .sm\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  :root .sm\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  :root .sm\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  :root .sm\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  :root .sm\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  :root .sm\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  :root .sm\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  :root .sm\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  :root .sm\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  :root .sm\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  :root .sm\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  :root .sm\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  :root .sm\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  :root .sm\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  :root .sm\:py-9{
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  :root .sm\:px-9{
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  :root .sm\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  :root .sm\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  :root .sm\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  :root .sm\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  :root .sm\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  :root .sm\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  :root .sm\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  :root .sm\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  :root .sm\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  :root .sm\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  :root .sm\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  :root .sm\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  :root .sm\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  :root .sm\:px-32{
    padding-left: 8rem;
    padding-right: 8rem;
  }

  :root .sm\:py-40{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  :root .sm\:px-40{
    padding-left: 10rem;
    padding-right: 10rem;
  }

  :root .sm\:py-48{
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  :root .sm\:px-48{
    padding-left: 12rem;
    padding-right: 12rem;
  }

  :root .sm\:py-56{
    padding-top: 14rem;
    padding-bottom: 14rem;
  }

  :root .sm\:px-56{
    padding-left: 14rem;
    padding-right: 14rem;
  }

  :root .sm\:py-64{
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  :root .sm\:px-64{
    padding-left: 16rem;
    padding-right: 16rem;
  }

  :root .sm\:py-px{
    padding-top: 1px;
    padding-bottom: 1px;
  }

  :root .sm\:px-px{
    padding-left: 1px;
    padding-right: 1px;
  }

  :root .sm\:py-gutter{
    padding-top: var(--padding-gutter);
    padding-bottom: var(--padding-gutter);
  }

  :root .sm\:px-gutter{
    padding-left: var(--padding-gutter);
    padding-right: var(--padding-gutter);
  }

  :root .sm\:pt-0{
    padding-top: 0;
  }

  :root .sm\:pr-0{
    padding-right: 0;
  }

  :root .sm\:pb-0{
    padding-bottom: 0;
  }

  :root .sm\:pl-0{
    padding-left: 0;
  }

  :root .sm\:pt-1{
    padding-top: 0.25rem;
  }

  :root .sm\:pr-1{
    padding-right: 0.25rem;
  }

  :root .sm\:pb-1{
    padding-bottom: 0.25rem;
  }

  :root .sm\:pl-1{
    padding-left: 0.25rem;
  }

  :root .sm\:pt-2{
    padding-top: 0.5rem;
  }

  :root .sm\:pr-2{
    padding-right: 0.5rem;
  }

  :root .sm\:pb-2{
    padding-bottom: 0.5rem;
  }

  :root .sm\:pl-2{
    padding-left: 0.5rem;
  }

  :root .sm\:pt-3{
    padding-top: 0.75rem;
  }

  :root .sm\:pr-3{
    padding-right: 0.75rem;
  }

  :root .sm\:pb-3{
    padding-bottom: 0.75rem;
  }

  :root .sm\:pl-3{
    padding-left: 0.75rem;
  }

  :root .sm\:pt-4{
    padding-top: 1rem;
  }

  :root .sm\:pr-4{
    padding-right: 1rem;
  }

  :root .sm\:pb-4{
    padding-bottom: 1rem;
  }

  :root .sm\:pl-4{
    padding-left: 1rem;
  }

  :root .sm\:pt-5{
    padding-top: 1.25rem;
  }

  :root .sm\:pr-5{
    padding-right: 1.25rem;
  }

  :root .sm\:pb-5{
    padding-bottom: 1.25rem;
  }

  :root .sm\:pl-5{
    padding-left: 1.25rem;
  }

  :root .sm\:pt-6{
    padding-top: 1.5rem;
  }

  :root .sm\:pr-6{
    padding-right: 1.5rem;
  }

  :root .sm\:pb-6{
    padding-bottom: 1.5rem;
  }

  :root .sm\:pl-6{
    padding-left: 1.5rem;
  }

  :root .sm\:pt-8{
    padding-top: 2rem;
  }

  :root .sm\:pr-8{
    padding-right: 2rem;
  }

  :root .sm\:pb-8{
    padding-bottom: 2rem;
  }

  :root .sm\:pl-8{
    padding-left: 2rem;
  }

  :root .sm\:pt-9{
    padding-top: 2.25rem;
  }

  :root .sm\:pr-9{
    padding-right: 2.25rem;
  }

  :root .sm\:pb-9{
    padding-bottom: 2.25rem;
  }

  :root .sm\:pl-9{
    padding-left: 2.25rem;
  }

  :root .sm\:pt-10{
    padding-top: 2.5rem;
  }

  :root .sm\:pr-10{
    padding-right: 2.5rem;
  }

  :root .sm\:pb-10{
    padding-bottom: 2.5rem;
  }

  :root .sm\:pl-10{
    padding-left: 2.5rem;
  }

  :root .sm\:pt-12{
    padding-top: 3rem;
  }

  :root .sm\:pr-12{
    padding-right: 3rem;
  }

  :root .sm\:pb-12{
    padding-bottom: 3rem;
  }

  :root .sm\:pl-12{
    padding-left: 3rem;
  }

  :root .sm\:pt-14{
    padding-top: 3.5rem;
  }

  :root .sm\:pr-14{
    padding-right: 3.5rem;
  }

  :root .sm\:pb-14{
    padding-bottom: 3.5rem;
  }

  :root .sm\:pl-14{
    padding-left: 3.5rem;
  }

  :root .sm\:pt-16{
    padding-top: 4rem;
  }

  :root .sm\:pr-16{
    padding-right: 4rem;
  }

  :root .sm\:pb-16{
    padding-bottom: 4rem;
  }

  :root .sm\:pl-16{
    padding-left: 4rem;
  }

  :root .sm\:pt-20{
    padding-top: 5rem;
  }

  :root .sm\:pr-20{
    padding-right: 5rem;
  }

  :root .sm\:pb-20{
    padding-bottom: 5rem;
  }

  :root .sm\:pl-20{
    padding-left: 5rem;
  }

  :root .sm\:pt-24{
    padding-top: 6rem;
  }

  :root .sm\:pr-24{
    padding-right: 6rem;
  }

  :root .sm\:pb-24{
    padding-bottom: 6rem;
  }

  :root .sm\:pl-24{
    padding-left: 6rem;
  }

  :root .sm\:pt-32{
    padding-top: 8rem;
  }

  :root .sm\:pr-32{
    padding-right: 8rem;
  }

  :root .sm\:pb-32{
    padding-bottom: 8rem;
  }

  :root .sm\:pl-32{
    padding-left: 8rem;
  }

  :root .sm\:pt-40{
    padding-top: 10rem;
  }

  :root .sm\:pr-40{
    padding-right: 10rem;
  }

  :root .sm\:pb-40{
    padding-bottom: 10rem;
  }

  :root .sm\:pl-40{
    padding-left: 10rem;
  }

  :root .sm\:pt-48{
    padding-top: 12rem;
  }

  :root .sm\:pr-48{
    padding-right: 12rem;
  }

  :root .sm\:pb-48{
    padding-bottom: 12rem;
  }

  :root .sm\:pl-48{
    padding-left: 12rem;
  }

  :root .sm\:pt-56{
    padding-top: 14rem;
  }

  :root .sm\:pr-56{
    padding-right: 14rem;
  }

  :root .sm\:pb-56{
    padding-bottom: 14rem;
  }

  :root .sm\:pl-56{
    padding-left: 14rem;
  }

  :root .sm\:pt-64{
    padding-top: 16rem;
  }

  :root .sm\:pr-64{
    padding-right: 16rem;
  }

  :root .sm\:pb-64{
    padding-bottom: 16rem;
  }

  :root .sm\:pl-64{
    padding-left: 16rem;
  }

  :root .sm\:pt-px{
    padding-top: 1px;
  }

  :root .sm\:pr-px{
    padding-right: 1px;
  }

  :root .sm\:pb-px{
    padding-bottom: 1px;
  }

  :root .sm\:pl-px{
    padding-left: 1px;
  }

  :root .sm\:pt-gutter{
    padding-top: var(--padding-gutter);
  }

  :root .sm\:pr-gutter{
    padding-right: var(--padding-gutter);
  }

  :root .sm\:pb-gutter{
    padding-bottom: var(--padding-gutter);
  }

  :root .sm\:pl-gutter{
    padding-left: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:p-0{
    padding: 0;
  }

  :root [dir=ltr] .sm\:ltr\:p-1{
    padding: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-2{
    padding: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-3{
    padding: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-4{
    padding: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-5{
    padding: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-6{
    padding: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-8{
    padding: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-9{
    padding: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-10{
    padding: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-12{
    padding: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-14{
    padding: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-16{
    padding: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-20{
    padding: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-24{
    padding: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-32{
    padding: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-40{
    padding: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-48{
    padding: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-56{
    padding: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-64{
    padding: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:p-px{
    padding: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:p-gutter{
    padding: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:py-0{
    padding-top: 0;
    padding-bottom: 0;
  }

  :root [dir=ltr] .sm\:ltr\:px-0{
    padding-left: 0;
    padding-right: 0;
  }

  :root [dir=ltr] .sm\:ltr\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-9{
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-9{
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-32{
    padding-left: 8rem;
    padding-right: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-40{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-40{
    padding-left: 10rem;
    padding-right: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-48{
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-48{
    padding-left: 12rem;
    padding-right: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-56{
    padding-top: 14rem;
    padding-bottom: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-56{
    padding-left: 14rem;
    padding-right: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-64{
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:px-64{
    padding-left: 16rem;
    padding-right: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:py-px{
    padding-top: 1px;
    padding-bottom: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:px-px{
    padding-left: 1px;
    padding-right: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:py-gutter{
    padding-top: var(--padding-gutter);
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:px-gutter{
    padding-left: var(--padding-gutter);
    padding-right: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:pt-0{
    padding-top: 0;
  }

  :root [dir=ltr] .sm\:ltr\:pr-0{
    padding-right: 0;
  }

  :root [dir=ltr] .sm\:ltr\:pb-0{
    padding-bottom: 0;
  }

  :root [dir=ltr] .sm\:ltr\:pl-0{
    padding-left: 0;
  }

  :root [dir=ltr] .sm\:ltr\:pt-1{
    padding-top: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-1{
    padding-right: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-1{
    padding-bottom: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-1{
    padding-left: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-2{
    padding-top: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-2{
    padding-right: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-2{
    padding-bottom: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-2{
    padding-left: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-3{
    padding-top: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-3{
    padding-right: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-3{
    padding-bottom: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-3{
    padding-left: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-4{
    padding-top: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-4{
    padding-right: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-4{
    padding-bottom: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-4{
    padding-left: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-5{
    padding-top: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-5{
    padding-right: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-5{
    padding-bottom: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-5{
    padding-left: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-6{
    padding-top: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-6{
    padding-right: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-6{
    padding-bottom: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-6{
    padding-left: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-8{
    padding-top: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-8{
    padding-right: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-8{
    padding-bottom: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-8{
    padding-left: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-9{
    padding-top: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-9{
    padding-right: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-9{
    padding-bottom: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-9{
    padding-left: 2.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-10{
    padding-top: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-10{
    padding-right: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-10{
    padding-bottom: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-10{
    padding-left: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-12{
    padding-top: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-12{
    padding-right: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-12{
    padding-bottom: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-12{
    padding-left: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-14{
    padding-top: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-14{
    padding-right: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-14{
    padding-bottom: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-14{
    padding-left: 3.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-16{
    padding-top: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-16{
    padding-right: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-16{
    padding-bottom: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-16{
    padding-left: 4rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-20{
    padding-top: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-20{
    padding-right: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-20{
    padding-bottom: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-20{
    padding-left: 5rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-24{
    padding-top: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-24{
    padding-right: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-24{
    padding-bottom: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-24{
    padding-left: 6rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-32{
    padding-top: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-32{
    padding-right: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-32{
    padding-bottom: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-32{
    padding-left: 8rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-40{
    padding-top: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-40{
    padding-right: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-40{
    padding-bottom: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-40{
    padding-left: 10rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-48{
    padding-top: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-48{
    padding-right: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-48{
    padding-bottom: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-48{
    padding-left: 12rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-56{
    padding-top: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-56{
    padding-right: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-56{
    padding-bottom: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-56{
    padding-left: 14rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-64{
    padding-top: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:pr-64{
    padding-right: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:pb-64{
    padding-bottom: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:pl-64{
    padding-left: 16rem;
  }

  :root [dir=ltr] .sm\:ltr\:pt-px{
    padding-top: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:pr-px{
    padding-right: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:pb-px{
    padding-bottom: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:pl-px{
    padding-left: 1px;
  }

  :root [dir=ltr] .sm\:ltr\:pt-gutter{
    padding-top: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:pr-gutter{
    padding-right: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:pb-gutter{
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .sm\:ltr\:pl-gutter{
    padding-left: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:p-0{
    padding: 0;
  }

  :root [dir=rtl] .sm\:rtl\:p-1{
    padding: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-2{
    padding: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-3{
    padding: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-4{
    padding: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-5{
    padding: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-6{
    padding: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-8{
    padding: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-9{
    padding: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-10{
    padding: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-12{
    padding: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-14{
    padding: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-16{
    padding: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-20{
    padding: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-24{
    padding: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-32{
    padding: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-40{
    padding: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-48{
    padding: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-56{
    padding: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-64{
    padding: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:p-px{
    padding: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:p-gutter{
    padding: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:py-0{
    padding-top: 0;
    padding-bottom: 0;
  }

  :root [dir=rtl] .sm\:rtl\:px-0{
    padding-left: 0;
    padding-right: 0;
  }

  :root [dir=rtl] .sm\:rtl\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-9{
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-9{
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-32{
    padding-left: 8rem;
    padding-right: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-40{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-40{
    padding-left: 10rem;
    padding-right: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-48{
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-48{
    padding-left: 12rem;
    padding-right: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-56{
    padding-top: 14rem;
    padding-bottom: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-56{
    padding-left: 14rem;
    padding-right: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-64{
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:px-64{
    padding-left: 16rem;
    padding-right: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:py-px{
    padding-top: 1px;
    padding-bottom: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:px-px{
    padding-left: 1px;
    padding-right: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:py-gutter{
    padding-top: var(--padding-gutter);
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:px-gutter{
    padding-left: var(--padding-gutter);
    padding-right: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:pt-0{
    padding-top: 0;
  }

  :root [dir=rtl] .sm\:rtl\:pr-0{
    padding-right: 0;
  }

  :root [dir=rtl] .sm\:rtl\:pb-0{
    padding-bottom: 0;
  }

  :root [dir=rtl] .sm\:rtl\:pl-0{
    padding-left: 0;
  }

  :root [dir=rtl] .sm\:rtl\:pt-1{
    padding-top: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-1{
    padding-right: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-1{
    padding-bottom: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-1{
    padding-left: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-2{
    padding-top: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-2{
    padding-right: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-2{
    padding-bottom: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-2{
    padding-left: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-3{
    padding-top: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-3{
    padding-right: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-3{
    padding-bottom: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-3{
    padding-left: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-4{
    padding-top: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-4{
    padding-right: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-4{
    padding-bottom: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-4{
    padding-left: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-5{
    padding-top: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-5{
    padding-right: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-5{
    padding-bottom: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-5{
    padding-left: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-6{
    padding-top: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-6{
    padding-right: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-6{
    padding-bottom: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-6{
    padding-left: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-8{
    padding-top: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-8{
    padding-right: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-8{
    padding-bottom: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-8{
    padding-left: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-9{
    padding-top: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-9{
    padding-right: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-9{
    padding-bottom: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-9{
    padding-left: 2.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-10{
    padding-top: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-10{
    padding-right: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-10{
    padding-bottom: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-10{
    padding-left: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-12{
    padding-top: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-12{
    padding-right: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-12{
    padding-bottom: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-12{
    padding-left: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-14{
    padding-top: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-14{
    padding-right: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-14{
    padding-bottom: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-14{
    padding-left: 3.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-16{
    padding-top: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-16{
    padding-right: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-16{
    padding-bottom: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-16{
    padding-left: 4rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-20{
    padding-top: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-20{
    padding-right: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-20{
    padding-bottom: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-20{
    padding-left: 5rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-24{
    padding-top: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-24{
    padding-right: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-24{
    padding-bottom: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-24{
    padding-left: 6rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-32{
    padding-top: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-32{
    padding-right: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-32{
    padding-bottom: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-32{
    padding-left: 8rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-40{
    padding-top: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-40{
    padding-right: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-40{
    padding-bottom: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-40{
    padding-left: 10rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-48{
    padding-top: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-48{
    padding-right: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-48{
    padding-bottom: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-48{
    padding-left: 12rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-56{
    padding-top: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-56{
    padding-right: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-56{
    padding-bottom: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-56{
    padding-left: 14rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-64{
    padding-top: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:pr-64{
    padding-right: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:pb-64{
    padding-bottom: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:pl-64{
    padding-left: 16rem;
  }

  :root [dir=rtl] .sm\:rtl\:pt-px{
    padding-top: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:pr-px{
    padding-right: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:pb-px{
    padding-bottom: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:pl-px{
    padding-left: 1px;
  }

  :root [dir=rtl] .sm\:rtl\:pt-gutter{
    padding-top: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:pr-gutter{
    padding-right: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:pb-gutter{
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .sm\:rtl\:pl-gutter{
    padding-left: var(--padding-gutter);
  }

  :root .sm\:placeholder-current::-moz-placeholder{
    color: currentColor;
  }

  :root .sm\:placeholder-current::placeholder{
    color: currentColor;
  }

  :root .sm\:placeholder-transparent::-moz-placeholder{
    color: transparent;
  }

  :root .sm\:placeholder-transparent::placeholder{
    color: transparent;
  }

  :root .sm\:placeholder-black::-moz-placeholder{
    color: var(--text-color);
  }

  :root .sm\:placeholder-black::placeholder{
    color: var(--text-color);
  }

  :root .sm\:placeholder-white::-moz-placeholder{
    color: var(--text-color-light);
  }

  :root .sm\:placeholder-white::placeholder{
    color: var(--text-color-light);
  }

  :root .sm\:placeholder-contrast-black::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-contrast-black::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-contrast-white::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-contrast-white::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-gray-light::-moz-placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:placeholder-gray-light::placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:placeholder-gray::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-gray::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-red-light::-moz-placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:placeholder-red-light::placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:placeholder-red::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-red::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-orange-light::-moz-placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:placeholder-orange-light::placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:placeholder-orange::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-orange::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-deep-orange-light::-moz-placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:placeholder-deep-orange-light::placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:placeholder-deep-orange::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-deep-orange::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-amber-light::-moz-placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:placeholder-amber-light::placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:placeholder-amber::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-amber::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-green-light::-moz-placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:placeholder-green-light::placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:placeholder-green::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-green::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-teal-light::-moz-placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:placeholder-teal-light::placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:placeholder-teal::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-teal::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-cyan-light::-moz-placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:placeholder-cyan-light::placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:placeholder-cyan::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-cyan::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-purple-light::-moz-placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:placeholder-purple-light::placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:placeholder-purple::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-purple::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-deep-purple-light::-moz-placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:placeholder-deep-purple-light::placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:placeholder-deep-purple::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-deep-purple::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-pink-light::-moz-placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:placeholder-pink-light::placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:placeholder-pink::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-pink::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .sm\:placeholder-primary-light::-moz-placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .sm\:placeholder-primary-light::placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .sm\:placeholder-primary::-moz-placeholder{
    color: rgb(var(--color-primary));
  }

  :root .sm\:placeholder-primary::placeholder{
    color: rgb(var(--color-primary));
  }

  :root .sm\:placeholder-accent-light::-moz-placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .sm\:placeholder-accent-light::placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .sm\:placeholder-accent::-moz-placeholder{
    color: rgb(var(--color-accent));
  }

  :root .sm\:placeholder-accent::placeholder{
    color: rgb(var(--color-accent));
  }

  :root .sm\:placeholder-warn-light::-moz-placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .sm\:placeholder-warn-light::placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .sm\:placeholder-warn::-moz-placeholder{
    color: rgb(var(--color-warn));
  }

  :root .sm\:placeholder-warn::placeholder{
    color: rgb(var(--color-warn));
  }

  :root .sm\:focus\:placeholder-current:focus::-moz-placeholder{
    color: currentColor;
  }

  :root .sm\:focus\:placeholder-current:focus::placeholder{
    color: currentColor;
  }

  :root .sm\:focus\:placeholder-transparent:focus::-moz-placeholder{
    color: transparent;
  }

  :root .sm\:focus\:placeholder-transparent:focus::placeholder{
    color: transparent;
  }

  :root .sm\:focus\:placeholder-black:focus::-moz-placeholder{
    color: var(--text-color);
  }

  :root .sm\:focus\:placeholder-black:focus::placeholder{
    color: var(--text-color);
  }

  :root .sm\:focus\:placeholder-white:focus::-moz-placeholder{
    color: var(--text-color-light);
  }

  :root .sm\:focus\:placeholder-white:focus::placeholder{
    color: var(--text-color-light);
  }

  :root .sm\:focus\:placeholder-contrast-black:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-contrast-black:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-contrast-white:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-contrast-white:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-gray-light:focus::-moz-placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:focus\:placeholder-gray-light:focus::placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:focus\:placeholder-gray:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-gray:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-red-light:focus::-moz-placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:focus\:placeholder-red-light:focus::placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:focus\:placeholder-red:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-red:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-orange-light:focus::-moz-placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:focus\:placeholder-orange-light:focus::placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:focus\:placeholder-orange:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-orange:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-deep-orange-light:focus::-moz-placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:focus\:placeholder-deep-orange-light:focus::placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:focus\:placeholder-deep-orange:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-deep-orange:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-amber-light:focus::-moz-placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:focus\:placeholder-amber-light:focus::placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:focus\:placeholder-amber:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-amber:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-green-light:focus::-moz-placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:focus\:placeholder-green-light:focus::placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:focus\:placeholder-green:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-green:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-teal-light:focus::-moz-placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:focus\:placeholder-teal-light:focus::placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:focus\:placeholder-teal:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-teal:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-cyan-light:focus::-moz-placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:focus\:placeholder-cyan-light:focus::placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:focus\:placeholder-cyan:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-cyan:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-purple-light:focus::-moz-placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:focus\:placeholder-purple-light:focus::placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:focus\:placeholder-purple:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-purple:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-deep-purple-light:focus::-moz-placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:focus\:placeholder-deep-purple-light:focus::placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:focus\:placeholder-deep-purple:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-deep-purple:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-pink-light:focus::-moz-placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:focus\:placeholder-pink-light:focus::placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:focus\:placeholder-pink:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-pink:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .sm\:focus\:placeholder-primary-light:focus::-moz-placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .sm\:focus\:placeholder-primary-light:focus::placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .sm\:focus\:placeholder-primary:focus::-moz-placeholder{
    color: rgb(var(--color-primary));
  }

  :root .sm\:focus\:placeholder-primary:focus::placeholder{
    color: rgb(var(--color-primary));
  }

  :root .sm\:focus\:placeholder-accent-light:focus::-moz-placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .sm\:focus\:placeholder-accent-light:focus::placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .sm\:focus\:placeholder-accent:focus::-moz-placeholder{
    color: rgb(var(--color-accent));
  }

  :root .sm\:focus\:placeholder-accent:focus::placeholder{
    color: rgb(var(--color-accent));
  }

  :root .sm\:focus\:placeholder-warn-light:focus::-moz-placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .sm\:focus\:placeholder-warn-light:focus::placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .sm\:focus\:placeholder-warn:focus::-moz-placeholder{
    color: rgb(var(--color-warn));
  }

  :root .sm\:focus\:placeholder-warn:focus::placeholder{
    color: rgb(var(--color-warn));
  }

  :root .sm\:placeholder-opacity-0::-moz-placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .sm\:placeholder-opacity-0::placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .sm\:placeholder-opacity-25::-moz-placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .sm\:placeholder-opacity-25::placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .sm\:placeholder-opacity-50::-moz-placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .sm\:placeholder-opacity-50::placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .sm\:placeholder-opacity-75::-moz-placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .sm\:placeholder-opacity-75::placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .sm\:placeholder-opacity-100::-moz-placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .sm\:placeholder-opacity-100::placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .sm\:focus\:placeholder-opacity-0:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .sm\:focus\:placeholder-opacity-0:focus::placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .sm\:focus\:placeholder-opacity-25:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .sm\:focus\:placeholder-opacity-25:focus::placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .sm\:focus\:placeholder-opacity-50:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .sm\:focus\:placeholder-opacity-50:focus::placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .sm\:focus\:placeholder-opacity-75:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .sm\:focus\:placeholder-opacity-75:focus::placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .sm\:focus\:placeholder-opacity-100:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .sm\:focus\:placeholder-opacity-100:focus::placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .sm\:pointer-events-none{
    pointer-events: none;
  }

  :root .sm\:pointer-events-auto{
    pointer-events: auto;
  }

  :root .sm\:static{
    position: static;
  }

  :root .sm\:fixed{
    position: fixed;
  }

  :root .sm\:absolute{
    position: absolute;
  }

  :root .sm\:relative{
    position: relative;
  }

  :root .sm\:sticky{
    position: sticky;
  }

  :root .sm\:inset-0{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  :root .sm\:inset-1{
    top: 0.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
  }

  :root .sm\:inset-2{
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }

  :root .sm\:inset-3{
    top: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
  }

  :root .sm\:inset-4{
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
  }

  :root .sm\:inset-5{
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }

  :root .sm\:inset-6{
    top: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
  }

  :root .sm\:inset-8{
    top: 2rem;
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }

  :root .sm\:inset-10{
    top: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;
    left: 2.5rem;
  }

  :root .sm\:inset-12{
    top: 3rem;
    right: 3rem;
    bottom: 3rem;
    left: 3rem;
  }

  :root .sm\:-inset-1{
    top: -0.25rem;
    right: -0.25rem;
    bottom: -0.25rem;
    left: -0.25rem;
  }

  :root .sm\:-inset-2{
    top: -0.5rem;
    right: -0.5rem;
    bottom: -0.5rem;
    left: -0.5rem;
  }

  :root .sm\:-inset-3{
    top: -0.75rem;
    right: -0.75rem;
    bottom: -0.75rem;
    left: -0.75rem;
  }

  :root .sm\:-inset-4{
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem;
  }

  :root .sm\:-inset-5{
    top: -1.25rem;
    right: -1.25rem;
    bottom: -1.25rem;
    left: -1.25rem;
  }

  :root .sm\:-inset-6{
    top: -1.5rem;
    right: -1.5rem;
    bottom: -1.5rem;
    left: -1.5rem;
  }

  :root .sm\:-inset-8{
    top: -2rem;
    right: -2rem;
    bottom: -2rem;
    left: -2rem;
  }

  :root .sm\:-inset-10{
    top: -2.5rem;
    right: -2.5rem;
    bottom: -2.5rem;
    left: -2.5rem;
  }

  :root .sm\:-inset-12{
    top: -3rem;
    right: -3rem;
    bottom: -3rem;
    left: -3rem;
  }

  :root .sm\:inset-auto{
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }

  :root .sm\:inset-y-0{
    top: 0;
    bottom: 0;
  }

  :root .sm\:inset-x-0{
    right: 0;
    left: 0;
  }

  :root .sm\:inset-y-1{
    top: 0.25rem;
    bottom: 0.25rem;
  }

  :root .sm\:inset-x-1{
    right: 0.25rem;
    left: 0.25rem;
  }

  :root .sm\:inset-y-2{
    top: 0.5rem;
    bottom: 0.5rem;
  }

  :root .sm\:inset-x-2{
    right: 0.5rem;
    left: 0.5rem;
  }

  :root .sm\:inset-y-3{
    top: 0.75rem;
    bottom: 0.75rem;
  }

  :root .sm\:inset-x-3{
    right: 0.75rem;
    left: 0.75rem;
  }

  :root .sm\:inset-y-4{
    top: 1rem;
    bottom: 1rem;
  }

  :root .sm\:inset-x-4{
    right: 1rem;
    left: 1rem;
  }

  :root .sm\:inset-y-5{
    top: 1.25rem;
    bottom: 1.25rem;
  }

  :root .sm\:inset-x-5{
    right: 1.25rem;
    left: 1.25rem;
  }

  :root .sm\:inset-y-6{
    top: 1.5rem;
    bottom: 1.5rem;
  }

  :root .sm\:inset-x-6{
    right: 1.5rem;
    left: 1.5rem;
  }

  :root .sm\:inset-y-8{
    top: 2rem;
    bottom: 2rem;
  }

  :root .sm\:inset-x-8{
    right: 2rem;
    left: 2rem;
  }

  :root .sm\:inset-y-10{
    top: 2.5rem;
    bottom: 2.5rem;
  }

  :root .sm\:inset-x-10{
    right: 2.5rem;
    left: 2.5rem;
  }

  :root .sm\:inset-y-12{
    top: 3rem;
    bottom: 3rem;
  }

  :root .sm\:inset-x-12{
    right: 3rem;
    left: 3rem;
  }

  :root .sm\:-inset-y-1{
    top: -0.25rem;
    bottom: -0.25rem;
  }

  :root .sm\:-inset-x-1{
    right: -0.25rem;
    left: -0.25rem;
  }

  :root .sm\:-inset-y-2{
    top: -0.5rem;
    bottom: -0.5rem;
  }

  :root .sm\:-inset-x-2{
    right: -0.5rem;
    left: -0.5rem;
  }

  :root .sm\:-inset-y-3{
    top: -0.75rem;
    bottom: -0.75rem;
  }

  :root .sm\:-inset-x-3{
    right: -0.75rem;
    left: -0.75rem;
  }

  :root .sm\:-inset-y-4{
    top: -1rem;
    bottom: -1rem;
  }

  :root .sm\:-inset-x-4{
    right: -1rem;
    left: -1rem;
  }

  :root .sm\:-inset-y-5{
    top: -1.25rem;
    bottom: -1.25rem;
  }

  :root .sm\:-inset-x-5{
    right: -1.25rem;
    left: -1.25rem;
  }

  :root .sm\:-inset-y-6{
    top: -1.5rem;
    bottom: -1.5rem;
  }

  :root .sm\:-inset-x-6{
    right: -1.5rem;
    left: -1.5rem;
  }

  :root .sm\:-inset-y-8{
    top: -2rem;
    bottom: -2rem;
  }

  :root .sm\:-inset-x-8{
    right: -2rem;
    left: -2rem;
  }

  :root .sm\:-inset-y-10{
    top: -2.5rem;
    bottom: -2.5rem;
  }

  :root .sm\:-inset-x-10{
    right: -2.5rem;
    left: -2.5rem;
  }

  :root .sm\:-inset-y-12{
    top: -3rem;
    bottom: -3rem;
  }

  :root .sm\:-inset-x-12{
    right: -3rem;
    left: -3rem;
  }

  :root .sm\:inset-y-auto{
    top: auto;
    bottom: auto;
  }

  :root .sm\:inset-x-auto{
    right: auto;
    left: auto;
  }

  :root .sm\:top-0{
    top: 0;
  }

  :root .sm\:right-0{
    right: 0;
  }

  :root .sm\:bottom-0{
    bottom: 0;
  }

  :root .sm\:left-0{
    left: 0;
  }

  :root .sm\:top-1{
    top: 0.25rem;
  }

  :root .sm\:right-1{
    right: 0.25rem;
  }

  :root .sm\:bottom-1{
    bottom: 0.25rem;
  }

  :root .sm\:left-1{
    left: 0.25rem;
  }

  :root .sm\:top-2{
    top: 0.5rem;
  }

  :root .sm\:right-2{
    right: 0.5rem;
  }

  :root .sm\:bottom-2{
    bottom: 0.5rem;
  }

  :root .sm\:left-2{
    left: 0.5rem;
  }

  :root .sm\:top-3{
    top: 0.75rem;
  }

  :root .sm\:right-3{
    right: 0.75rem;
  }

  :root .sm\:bottom-3{
    bottom: 0.75rem;
  }

  :root .sm\:left-3{
    left: 0.75rem;
  }

  :root .sm\:top-4{
    top: 1rem;
  }

  :root .sm\:right-4{
    right: 1rem;
  }

  :root .sm\:bottom-4{
    bottom: 1rem;
  }

  :root .sm\:left-4{
    left: 1rem;
  }

  :root .sm\:top-5{
    top: 1.25rem;
  }

  :root .sm\:right-5{
    right: 1.25rem;
  }

  :root .sm\:bottom-5{
    bottom: 1.25rem;
  }

  :root .sm\:left-5{
    left: 1.25rem;
  }

  :root .sm\:top-6{
    top: 1.5rem;
  }

  :root .sm\:right-6{
    right: 1.5rem;
  }

  :root .sm\:bottom-6{
    bottom: 1.5rem;
  }

  :root .sm\:left-6{
    left: 1.5rem;
  }

  :root .sm\:top-8{
    top: 2rem;
  }

  :root .sm\:right-8{
    right: 2rem;
  }

  :root .sm\:bottom-8{
    bottom: 2rem;
  }

  :root .sm\:left-8{
    left: 2rem;
  }

  :root .sm\:top-10{
    top: 2.5rem;
  }

  :root .sm\:right-10{
    right: 2.5rem;
  }

  :root .sm\:bottom-10{
    bottom: 2.5rem;
  }

  :root .sm\:left-10{
    left: 2.5rem;
  }

  :root .sm\:top-12{
    top: 3rem;
  }

  :root .sm\:right-12{
    right: 3rem;
  }

  :root .sm\:bottom-12{
    bottom: 3rem;
  }

  :root .sm\:left-12{
    left: 3rem;
  }

  :root .sm\:-top-1{
    top: -0.25rem;
  }

  :root .sm\:-right-1{
    right: -0.25rem;
  }

  :root .sm\:-bottom-1{
    bottom: -0.25rem;
  }

  :root .sm\:-left-1{
    left: -0.25rem;
  }

  :root .sm\:-top-2{
    top: -0.5rem;
  }

  :root .sm\:-right-2{
    right: -0.5rem;
  }

  :root .sm\:-bottom-2{
    bottom: -0.5rem;
  }

  :root .sm\:-left-2{
    left: -0.5rem;
  }

  :root .sm\:-top-3{
    top: -0.75rem;
  }

  :root .sm\:-right-3{
    right: -0.75rem;
  }

  :root .sm\:-bottom-3{
    bottom: -0.75rem;
  }

  :root .sm\:-left-3{
    left: -0.75rem;
  }

  :root .sm\:-top-4{
    top: -1rem;
  }

  :root .sm\:-right-4{
    right: -1rem;
  }

  :root .sm\:-bottom-4{
    bottom: -1rem;
  }

  :root .sm\:-left-4{
    left: -1rem;
  }

  :root .sm\:-top-5{
    top: -1.25rem;
  }

  :root .sm\:-right-5{
    right: -1.25rem;
  }

  :root .sm\:-bottom-5{
    bottom: -1.25rem;
  }

  :root .sm\:-left-5{
    left: -1.25rem;
  }

  :root .sm\:-top-6{
    top: -1.5rem;
  }

  :root .sm\:-right-6{
    right: -1.5rem;
  }

  :root .sm\:-bottom-6{
    bottom: -1.5rem;
  }

  :root .sm\:-left-6{
    left: -1.5rem;
  }

  :root .sm\:-top-8{
    top: -2rem;
  }

  :root .sm\:-right-8{
    right: -2rem;
  }

  :root .sm\:-bottom-8{
    bottom: -2rem;
  }

  :root .sm\:-left-8{
    left: -2rem;
  }

  :root .sm\:-top-10{
    top: -2.5rem;
  }

  :root .sm\:-right-10{
    right: -2.5rem;
  }

  :root .sm\:-bottom-10{
    bottom: -2.5rem;
  }

  :root .sm\:-left-10{
    left: -2.5rem;
  }

  :root .sm\:-top-12{
    top: -3rem;
  }

  :root .sm\:-right-12{
    right: -3rem;
  }

  :root .sm\:-bottom-12{
    bottom: -3rem;
  }

  :root .sm\:-left-12{
    left: -3rem;
  }

  :root .sm\:top-auto{
    top: auto;
  }

  :root .sm\:right-auto{
    right: auto;
  }

  :root .sm\:bottom-auto{
    bottom: auto;
  }

  :root .sm\:left-auto{
    left: auto;
  }

  :root [dir=ltr] .sm\:ltr\:inset-0{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  :root [dir=ltr] .sm\:ltr\:inset-1{
    top: 0.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-2{
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-3{
    top: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-4{
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-5{
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-6{
    top: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-8{
    top: 2rem;
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-10{
    top: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-12{
    top: 3rem;
    right: 3rem;
    bottom: 3rem;
    left: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-1{
    top: -0.25rem;
    right: -0.25rem;
    bottom: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-2{
    top: -0.5rem;
    right: -0.5rem;
    bottom: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-3{
    top: -0.75rem;
    right: -0.75rem;
    bottom: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-4{
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-5{
    top: -1.25rem;
    right: -1.25rem;
    bottom: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-6{
    top: -1.5rem;
    right: -1.5rem;
    bottom: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-8{
    top: -2rem;
    right: -2rem;
    bottom: -2rem;
    left: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-10{
    top: -2.5rem;
    right: -2.5rem;
    bottom: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-12{
    top: -3rem;
    right: -3rem;
    bottom: -3rem;
    left: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-auto{
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }

  :root [dir=ltr] .sm\:ltr\:inset-y-0{
    top: 0;
    bottom: 0;
  }

  :root [dir=ltr] .sm\:ltr\:inset-x-0{
    right: 0;
    left: 0;
  }

  :root [dir=ltr] .sm\:ltr\:inset-y-1{
    top: 0.25rem;
    bottom: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-x-1{
    right: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-y-2{
    top: 0.5rem;
    bottom: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-x-2{
    right: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-y-3{
    top: 0.75rem;
    bottom: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-x-3{
    right: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-y-4{
    top: 1rem;
    bottom: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-x-4{
    right: 1rem;
    left: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-y-5{
    top: 1.25rem;
    bottom: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-x-5{
    right: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-y-6{
    top: 1.5rem;
    bottom: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-x-6{
    right: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-y-8{
    top: 2rem;
    bottom: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-x-8{
    right: 2rem;
    left: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-y-10{
    top: 2.5rem;
    bottom: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-x-10{
    right: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-y-12{
    top: 3rem;
    bottom: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-x-12{
    right: 3rem;
    left: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-y-1{
    top: -0.25rem;
    bottom: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-x-1{
    right: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-y-2{
    top: -0.5rem;
    bottom: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-x-2{
    right: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-y-3{
    top: -0.75rem;
    bottom: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-x-3{
    right: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-y-4{
    top: -1rem;
    bottom: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-x-4{
    right: -1rem;
    left: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-y-5{
    top: -1.25rem;
    bottom: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-x-5{
    right: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-y-6{
    top: -1.5rem;
    bottom: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-x-6{
    right: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-y-8{
    top: -2rem;
    bottom: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-x-8{
    right: -2rem;
    left: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-y-10{
    top: -2.5rem;
    bottom: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-x-10{
    right: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-y-12{
    top: -3rem;
    bottom: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-inset-x-12{
    right: -3rem;
    left: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:inset-y-auto{
    top: auto;
    bottom: auto;
  }

  :root [dir=ltr] .sm\:ltr\:inset-x-auto{
    right: auto;
    left: auto;
  }

  :root [dir=ltr] .sm\:ltr\:top-0{
    top: 0;
  }

  :root [dir=ltr] .sm\:ltr\:right-0{
    right: 0;
  }

  :root [dir=ltr] .sm\:ltr\:bottom-0{
    bottom: 0;
  }

  :root [dir=ltr] .sm\:ltr\:left-0{
    left: 0;
  }

  :root [dir=ltr] .sm\:ltr\:top-1{
    top: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:right-1{
    right: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:bottom-1{
    bottom: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:left-1{
    left: 0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:top-2{
    top: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:right-2{
    right: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:bottom-2{
    bottom: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:left-2{
    left: 0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:top-3{
    top: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:right-3{
    right: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:bottom-3{
    bottom: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:left-3{
    left: 0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:top-4{
    top: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:right-4{
    right: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:bottom-4{
    bottom: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:left-4{
    left: 1rem;
  }

  :root [dir=ltr] .sm\:ltr\:top-5{
    top: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:right-5{
    right: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:bottom-5{
    bottom: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:left-5{
    left: 1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:top-6{
    top: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:right-6{
    right: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:bottom-6{
    bottom: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:left-6{
    left: 1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:top-8{
    top: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:right-8{
    right: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:bottom-8{
    bottom: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:left-8{
    left: 2rem;
  }

  :root [dir=ltr] .sm\:ltr\:top-10{
    top: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:right-10{
    right: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:bottom-10{
    bottom: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:left-10{
    left: 2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:top-12{
    top: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:right-12{
    right: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:bottom-12{
    bottom: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:left-12{
    left: 3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-top-1{
    top: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-right-1{
    right: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-bottom-1{
    bottom: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-left-1{
    left: -0.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-top-2{
    top: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-right-2{
    right: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-bottom-2{
    bottom: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-left-2{
    left: -0.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-top-3{
    top: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-right-3{
    right: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-bottom-3{
    bottom: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-left-3{
    left: -0.75rem;
  }

  :root [dir=ltr] .sm\:ltr\:-top-4{
    top: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-right-4{
    right: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-bottom-4{
    bottom: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-left-4{
    left: -1rem;
  }

  :root [dir=ltr] .sm\:ltr\:-top-5{
    top: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-right-5{
    right: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-bottom-5{
    bottom: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-left-5{
    left: -1.25rem;
  }

  :root [dir=ltr] .sm\:ltr\:-top-6{
    top: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-right-6{
    right: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-bottom-6{
    bottom: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-left-6{
    left: -1.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-top-8{
    top: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-right-8{
    right: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-bottom-8{
    bottom: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-left-8{
    left: -2rem;
  }

  :root [dir=ltr] .sm\:ltr\:-top-10{
    top: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-right-10{
    right: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-bottom-10{
    bottom: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-left-10{
    left: -2.5rem;
  }

  :root [dir=ltr] .sm\:ltr\:-top-12{
    top: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-right-12{
    right: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-bottom-12{
    bottom: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:-left-12{
    left: -3rem;
  }

  :root [dir=ltr] .sm\:ltr\:top-auto{
    top: auto;
  }

  :root [dir=ltr] .sm\:ltr\:right-auto{
    right: auto;
  }

  :root [dir=ltr] .sm\:ltr\:bottom-auto{
    bottom: auto;
  }

  :root [dir=ltr] .sm\:ltr\:left-auto{
    left: auto;
  }

  :root [dir=rtl] .sm\:rtl\:inset-0{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  :root [dir=rtl] .sm\:rtl\:inset-1{
    top: 0.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-2{
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-3{
    top: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-4{
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-5{
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-6{
    top: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-8{
    top: 2rem;
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-10{
    top: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-12{
    top: 3rem;
    right: 3rem;
    bottom: 3rem;
    left: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-1{
    top: -0.25rem;
    right: -0.25rem;
    bottom: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-2{
    top: -0.5rem;
    right: -0.5rem;
    bottom: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-3{
    top: -0.75rem;
    right: -0.75rem;
    bottom: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-4{
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-5{
    top: -1.25rem;
    right: -1.25rem;
    bottom: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-6{
    top: -1.5rem;
    right: -1.5rem;
    bottom: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-8{
    top: -2rem;
    right: -2rem;
    bottom: -2rem;
    left: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-10{
    top: -2.5rem;
    right: -2.5rem;
    bottom: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-12{
    top: -3rem;
    right: -3rem;
    bottom: -3rem;
    left: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-auto{
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }

  :root [dir=rtl] .sm\:rtl\:inset-y-0{
    top: 0;
    bottom: 0;
  }

  :root [dir=rtl] .sm\:rtl\:inset-x-0{
    right: 0;
    left: 0;
  }

  :root [dir=rtl] .sm\:rtl\:inset-y-1{
    top: 0.25rem;
    bottom: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-x-1{
    right: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-y-2{
    top: 0.5rem;
    bottom: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-x-2{
    right: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-y-3{
    top: 0.75rem;
    bottom: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-x-3{
    right: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-y-4{
    top: 1rem;
    bottom: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-x-4{
    right: 1rem;
    left: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-y-5{
    top: 1.25rem;
    bottom: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-x-5{
    right: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-y-6{
    top: 1.5rem;
    bottom: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-x-6{
    right: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-y-8{
    top: 2rem;
    bottom: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-x-8{
    right: 2rem;
    left: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-y-10{
    top: 2.5rem;
    bottom: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-x-10{
    right: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-y-12{
    top: 3rem;
    bottom: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-x-12{
    right: 3rem;
    left: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-y-1{
    top: -0.25rem;
    bottom: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-x-1{
    right: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-y-2{
    top: -0.5rem;
    bottom: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-x-2{
    right: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-y-3{
    top: -0.75rem;
    bottom: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-x-3{
    right: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-y-4{
    top: -1rem;
    bottom: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-x-4{
    right: -1rem;
    left: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-y-5{
    top: -1.25rem;
    bottom: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-x-5{
    right: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-y-6{
    top: -1.5rem;
    bottom: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-x-6{
    right: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-y-8{
    top: -2rem;
    bottom: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-x-8{
    right: -2rem;
    left: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-y-10{
    top: -2.5rem;
    bottom: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-x-10{
    right: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-y-12{
    top: -3rem;
    bottom: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-inset-x-12{
    right: -3rem;
    left: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:inset-y-auto{
    top: auto;
    bottom: auto;
  }

  :root [dir=rtl] .sm\:rtl\:inset-x-auto{
    right: auto;
    left: auto;
  }

  :root [dir=rtl] .sm\:rtl\:top-0{
    top: 0;
  }

  :root [dir=rtl] .sm\:rtl\:right-0{
    right: 0;
  }

  :root [dir=rtl] .sm\:rtl\:bottom-0{
    bottom: 0;
  }

  :root [dir=rtl] .sm\:rtl\:left-0{
    left: 0;
  }

  :root [dir=rtl] .sm\:rtl\:top-1{
    top: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:right-1{
    right: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:bottom-1{
    bottom: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:left-1{
    left: 0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:top-2{
    top: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:right-2{
    right: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:bottom-2{
    bottom: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:left-2{
    left: 0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:top-3{
    top: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:right-3{
    right: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:bottom-3{
    bottom: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:left-3{
    left: 0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:top-4{
    top: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:right-4{
    right: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:bottom-4{
    bottom: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:left-4{
    left: 1rem;
  }

  :root [dir=rtl] .sm\:rtl\:top-5{
    top: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:right-5{
    right: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:bottom-5{
    bottom: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:left-5{
    left: 1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:top-6{
    top: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:right-6{
    right: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:bottom-6{
    bottom: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:left-6{
    left: 1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:top-8{
    top: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:right-8{
    right: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:bottom-8{
    bottom: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:left-8{
    left: 2rem;
  }

  :root [dir=rtl] .sm\:rtl\:top-10{
    top: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:right-10{
    right: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:bottom-10{
    bottom: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:left-10{
    left: 2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:top-12{
    top: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:right-12{
    right: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:bottom-12{
    bottom: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:left-12{
    left: 3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-top-1{
    top: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-right-1{
    right: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-bottom-1{
    bottom: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-left-1{
    left: -0.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-top-2{
    top: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-right-2{
    right: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-bottom-2{
    bottom: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-left-2{
    left: -0.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-top-3{
    top: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-right-3{
    right: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-bottom-3{
    bottom: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-left-3{
    left: -0.75rem;
  }

  :root [dir=rtl] .sm\:rtl\:-top-4{
    top: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-right-4{
    right: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-bottom-4{
    bottom: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-left-4{
    left: -1rem;
  }

  :root [dir=rtl] .sm\:rtl\:-top-5{
    top: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-right-5{
    right: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-bottom-5{
    bottom: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-left-5{
    left: -1.25rem;
  }

  :root [dir=rtl] .sm\:rtl\:-top-6{
    top: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-right-6{
    right: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-bottom-6{
    bottom: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-left-6{
    left: -1.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-top-8{
    top: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-right-8{
    right: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-bottom-8{
    bottom: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-left-8{
    left: -2rem;
  }

  :root [dir=rtl] .sm\:rtl\:-top-10{
    top: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-right-10{
    right: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-bottom-10{
    bottom: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-left-10{
    left: -2.5rem;
  }

  :root [dir=rtl] .sm\:rtl\:-top-12{
    top: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-right-12{
    right: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-bottom-12{
    bottom: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:-left-12{
    left: -3rem;
  }

  :root [dir=rtl] .sm\:rtl\:top-auto{
    top: auto;
  }

  :root [dir=rtl] .sm\:rtl\:right-auto{
    right: auto;
  }

  :root [dir=rtl] .sm\:rtl\:bottom-auto{
    bottom: auto;
  }

  :root [dir=rtl] .sm\:rtl\:left-auto{
    left: auto;
  }

  :root .sm\:resize-none{
    resize: none;
  }

  :root .sm\:resize-y{
    resize: vertical;
  }

  :root .sm\:resize-x{
    resize: horizontal;
  }

  :root .sm\:resize{
    resize: both;
  }

  :root .sm\:shadow-1{
    --tw-shadow: var(--elevation-z1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-2{
    --tw-shadow: var(--elevation-z2);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-3{
    --tw-shadow: var(--elevation-z3);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-4{
    --tw-shadow: var(--elevation-z4);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-5{
    --tw-shadow: var(--elevation-z5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-6{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-7{
    --tw-shadow: var(--elevation-z7);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-9{
    --tw-shadow: var(--elevation-z9);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-10{
    --tw-shadow: var(--elevation-z10);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-11{
    --tw-shadow: var(--elevation-z11);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-12{
    --tw-shadow: var(--elevation-z12);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-13{
    --tw-shadow: var(--elevation-z13);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-14{
    --tw-shadow: var(--elevation-z14);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-15{
    --tw-shadow: var(--elevation-z15);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-16{
    --tw-shadow: var(--elevation-z16);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-17{
    --tw-shadow: var(--elevation-z17);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-18{
    --tw-shadow: var(--elevation-z18);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-19{
    --tw-shadow: var(--elevation-z19);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-20{
    --tw-shadow: var(--elevation-z20);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-md{
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-lg{
    --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-xl{
    --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-2xl{
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-inner{
    --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-outline{
    --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-none{
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:shadow-b{
    --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-1:hover{
    --tw-shadow: var(--elevation-z1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-2:hover{
    --tw-shadow: var(--elevation-z2);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-3:hover{
    --tw-shadow: var(--elevation-z3);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-4:hover{
    --tw-shadow: var(--elevation-z4);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-5:hover{
    --tw-shadow: var(--elevation-z5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-6:hover{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-7:hover{
    --tw-shadow: var(--elevation-z7);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-9:hover{
    --tw-shadow: var(--elevation-z9);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-10:hover{
    --tw-shadow: var(--elevation-z10);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-11:hover{
    --tw-shadow: var(--elevation-z11);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-12:hover{
    --tw-shadow: var(--elevation-z12);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-13:hover{
    --tw-shadow: var(--elevation-z13);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-14:hover{
    --tw-shadow: var(--elevation-z14);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-15:hover{
    --tw-shadow: var(--elevation-z15);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-16:hover{
    --tw-shadow: var(--elevation-z16);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-17:hover{
    --tw-shadow: var(--elevation-z17);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-18:hover{
    --tw-shadow: var(--elevation-z18);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-19:hover{
    --tw-shadow: var(--elevation-z19);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-20:hover{
    --tw-shadow: var(--elevation-z20);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow:hover{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-md:hover{
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-lg:hover{
    --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-xl:hover{
    --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-2xl:hover{
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-inner:hover{
    --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-outline:hover{
    --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-none:hover{
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:hover\:shadow-b:hover{
    --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-1:focus{
    --tw-shadow: var(--elevation-z1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-2:focus{
    --tw-shadow: var(--elevation-z2);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-3:focus{
    --tw-shadow: var(--elevation-z3);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-4:focus{
    --tw-shadow: var(--elevation-z4);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-5:focus{
    --tw-shadow: var(--elevation-z5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-6:focus{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-7:focus{
    --tw-shadow: var(--elevation-z7);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-9:focus{
    --tw-shadow: var(--elevation-z9);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-10:focus{
    --tw-shadow: var(--elevation-z10);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-11:focus{
    --tw-shadow: var(--elevation-z11);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-12:focus{
    --tw-shadow: var(--elevation-z12);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-13:focus{
    --tw-shadow: var(--elevation-z13);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-14:focus{
    --tw-shadow: var(--elevation-z14);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-15:focus{
    --tw-shadow: var(--elevation-z15);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-16:focus{
    --tw-shadow: var(--elevation-z16);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-17:focus{
    --tw-shadow: var(--elevation-z17);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-18:focus{
    --tw-shadow: var(--elevation-z18);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-19:focus{
    --tw-shadow: var(--elevation-z19);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-20:focus{
    --tw-shadow: var(--elevation-z20);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow:focus{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-md:focus{
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-lg:focus{
    --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-xl:focus{
    --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-2xl:focus{
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-inner:focus{
    --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-outline:focus{
    --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-none:focus{
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:focus\:shadow-b:focus{
    --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .sm\:ring-0{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:ring-1{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:ring-2{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:ring-4{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:ring-8{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:ring{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:ring-inset{
    --tw-ring-inset: inset;
  }

  :root .sm\:focus-within\:ring-0:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:focus-within\:ring-1:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:focus-within\:ring-2:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:focus-within\:ring-4:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:focus-within\:ring-8:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:focus-within\:ring:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:focus-within\:ring-inset:focus-within{
    --tw-ring-inset: inset;
  }

  :root .sm\:focus\:ring-0:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:focus\:ring-1:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:focus\:ring-2:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:focus\:ring-4:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:focus\:ring-8:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:focus\:ring:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .sm\:focus\:ring-inset:focus{
    --tw-ring-inset: inset;
  }

  :root .sm\:ring-offset-current{
    --tw-ring-offset-color: currentColor;
  }

  :root .sm\:ring-offset-transparent{
    --tw-ring-offset-color: transparent;
  }

  :root .sm\:ring-offset-black{
    --tw-ring-offset-color: var(--text-color);
  }

  :root .sm\:ring-offset-white{
    --tw-ring-offset-color: var(--text-color-light);
  }

  :root .sm\:ring-offset-contrast-black{
    --tw-ring-offset-color: black;
  }

  :root .sm\:ring-offset-contrast-white{
    --tw-ring-offset-color: white;
  }

  :root .sm\:ring-offset-gray-light{
    --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:ring-offset-gray{
    --tw-ring-offset-color: rgb(158, 158, 158);
  }

  :root .sm\:ring-offset-red-light{
    --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:ring-offset-red{
    --tw-ring-offset-color: rgb(244, 67, 54);
  }

  :root .sm\:ring-offset-orange-light{
    --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:ring-offset-orange{
    --tw-ring-offset-color: rgb(255, 152, 0);
  }

  :root .sm\:ring-offset-deep-orange-light{
    --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:ring-offset-deep-orange{
    --tw-ring-offset-color: rgb(255, 87, 34);
  }

  :root .sm\:ring-offset-amber-light{
    --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:ring-offset-amber{
    --tw-ring-offset-color: rgb(255, 193, 7);
  }

  :root .sm\:ring-offset-green-light{
    --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:ring-offset-green{
    --tw-ring-offset-color: rgb(76, 175, 80);
  }

  :root .sm\:ring-offset-teal-light{
    --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:ring-offset-teal{
    --tw-ring-offset-color: rgb(0, 150, 136);
  }

  :root .sm\:ring-offset-cyan-light{
    --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:ring-offset-cyan{
    --tw-ring-offset-color: rgb(0, 188, 212);
  }

  :root .sm\:ring-offset-purple-light{
    --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:ring-offset-purple{
    --tw-ring-offset-color: rgb(156, 39, 176);
  }

  :root .sm\:ring-offset-deep-purple-light{
    --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:ring-offset-deep-purple{
    --tw-ring-offset-color: rgb(103, 58, 183);
  }

  :root .sm\:ring-offset-pink-light{
    --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:ring-offset-pink{
    --tw-ring-offset-color: rgb(233, 30, 99);
  }

  :root .sm\:ring-offset-primary-light{
    --tw-ring-offset-color: rgba(var(--color-primary), .1);
  }

  :root .sm\:ring-offset-primary{
    --tw-ring-offset-color: rgb(var(--color-primary));
  }

  :root .sm\:ring-offset-accent-light{
    --tw-ring-offset-color: rgba(var(--color-accent), .1);
  }

  :root .sm\:ring-offset-accent{
    --tw-ring-offset-color: rgb(var(--color-accent));
  }

  :root .sm\:ring-offset-warn-light{
    --tw-ring-offset-color: rgba(var(--color-warn), .1);
  }

  :root .sm\:ring-offset-warn{
    --tw-ring-offset-color: rgb(var(--color-warn));
  }

  :root .sm\:focus-within\:ring-offset-current:focus-within{
    --tw-ring-offset-color: currentColor;
  }

  :root .sm\:focus-within\:ring-offset-transparent:focus-within{
    --tw-ring-offset-color: transparent;
  }

  :root .sm\:focus-within\:ring-offset-black:focus-within{
    --tw-ring-offset-color: var(--text-color);
  }

  :root .sm\:focus-within\:ring-offset-white:focus-within{
    --tw-ring-offset-color: var(--text-color-light);
  }

  :root .sm\:focus-within\:ring-offset-contrast-black:focus-within{
    --tw-ring-offset-color: black;
  }

  :root .sm\:focus-within\:ring-offset-contrast-white:focus-within{
    --tw-ring-offset-color: white;
  }

  :root .sm\:focus-within\:ring-offset-gray-light:focus-within{
    --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:focus-within\:ring-offset-gray:focus-within{
    --tw-ring-offset-color: rgb(158, 158, 158);
  }

  :root .sm\:focus-within\:ring-offset-red-light:focus-within{
    --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:focus-within\:ring-offset-red:focus-within{
    --tw-ring-offset-color: rgb(244, 67, 54);
  }

  :root .sm\:focus-within\:ring-offset-orange-light:focus-within{
    --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:focus-within\:ring-offset-orange:focus-within{
    --tw-ring-offset-color: rgb(255, 152, 0);
  }

  :root .sm\:focus-within\:ring-offset-deep-orange-light:focus-within{
    --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:focus-within\:ring-offset-deep-orange:focus-within{
    --tw-ring-offset-color: rgb(255, 87, 34);
  }

  :root .sm\:focus-within\:ring-offset-amber-light:focus-within{
    --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:focus-within\:ring-offset-amber:focus-within{
    --tw-ring-offset-color: rgb(255, 193, 7);
  }

  :root .sm\:focus-within\:ring-offset-green-light:focus-within{
    --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:focus-within\:ring-offset-green:focus-within{
    --tw-ring-offset-color: rgb(76, 175, 80);
  }

  :root .sm\:focus-within\:ring-offset-teal-light:focus-within{
    --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:focus-within\:ring-offset-teal:focus-within{
    --tw-ring-offset-color: rgb(0, 150, 136);
  }

  :root .sm\:focus-within\:ring-offset-cyan-light:focus-within{
    --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:focus-within\:ring-offset-cyan:focus-within{
    --tw-ring-offset-color: rgb(0, 188, 212);
  }

  :root .sm\:focus-within\:ring-offset-purple-light:focus-within{
    --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:focus-within\:ring-offset-purple:focus-within{
    --tw-ring-offset-color: rgb(156, 39, 176);
  }

  :root .sm\:focus-within\:ring-offset-deep-purple-light:focus-within{
    --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:focus-within\:ring-offset-deep-purple:focus-within{
    --tw-ring-offset-color: rgb(103, 58, 183);
  }

  :root .sm\:focus-within\:ring-offset-pink-light:focus-within{
    --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:focus-within\:ring-offset-pink:focus-within{
    --tw-ring-offset-color: rgb(233, 30, 99);
  }

  :root .sm\:focus-within\:ring-offset-primary-light:focus-within{
    --tw-ring-offset-color: rgba(var(--color-primary), .1);
  }

  :root .sm\:focus-within\:ring-offset-primary:focus-within{
    --tw-ring-offset-color: rgb(var(--color-primary));
  }

  :root .sm\:focus-within\:ring-offset-accent-light:focus-within{
    --tw-ring-offset-color: rgba(var(--color-accent), .1);
  }

  :root .sm\:focus-within\:ring-offset-accent:focus-within{
    --tw-ring-offset-color: rgb(var(--color-accent));
  }

  :root .sm\:focus-within\:ring-offset-warn-light:focus-within{
    --tw-ring-offset-color: rgba(var(--color-warn), .1);
  }

  :root .sm\:focus-within\:ring-offset-warn:focus-within{
    --tw-ring-offset-color: rgb(var(--color-warn));
  }

  :root .sm\:focus\:ring-offset-current:focus{
    --tw-ring-offset-color: currentColor;
  }

  :root .sm\:focus\:ring-offset-transparent:focus{
    --tw-ring-offset-color: transparent;
  }

  :root .sm\:focus\:ring-offset-black:focus{
    --tw-ring-offset-color: var(--text-color);
  }

  :root .sm\:focus\:ring-offset-white:focus{
    --tw-ring-offset-color: var(--text-color-light);
  }

  :root .sm\:focus\:ring-offset-contrast-black:focus{
    --tw-ring-offset-color: black;
  }

  :root .sm\:focus\:ring-offset-contrast-white:focus{
    --tw-ring-offset-color: white;
  }

  :root .sm\:focus\:ring-offset-gray-light:focus{
    --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:focus\:ring-offset-gray:focus{
    --tw-ring-offset-color: rgb(158, 158, 158);
  }

  :root .sm\:focus\:ring-offset-red-light:focus{
    --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:focus\:ring-offset-red:focus{
    --tw-ring-offset-color: rgb(244, 67, 54);
  }

  :root .sm\:focus\:ring-offset-orange-light:focus{
    --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:focus\:ring-offset-orange:focus{
    --tw-ring-offset-color: rgb(255, 152, 0);
  }

  :root .sm\:focus\:ring-offset-deep-orange-light:focus{
    --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:focus\:ring-offset-deep-orange:focus{
    --tw-ring-offset-color: rgb(255, 87, 34);
  }

  :root .sm\:focus\:ring-offset-amber-light:focus{
    --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:focus\:ring-offset-amber:focus{
    --tw-ring-offset-color: rgb(255, 193, 7);
  }

  :root .sm\:focus\:ring-offset-green-light:focus{
    --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:focus\:ring-offset-green:focus{
    --tw-ring-offset-color: rgb(76, 175, 80);
  }

  :root .sm\:focus\:ring-offset-teal-light:focus{
    --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:focus\:ring-offset-teal:focus{
    --tw-ring-offset-color: rgb(0, 150, 136);
  }

  :root .sm\:focus\:ring-offset-cyan-light:focus{
    --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:focus\:ring-offset-cyan:focus{
    --tw-ring-offset-color: rgb(0, 188, 212);
  }

  :root .sm\:focus\:ring-offset-purple-light:focus{
    --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:focus\:ring-offset-purple:focus{
    --tw-ring-offset-color: rgb(156, 39, 176);
  }

  :root .sm\:focus\:ring-offset-deep-purple-light:focus{
    --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:focus\:ring-offset-deep-purple:focus{
    --tw-ring-offset-color: rgb(103, 58, 183);
  }

  :root .sm\:focus\:ring-offset-pink-light:focus{
    --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:focus\:ring-offset-pink:focus{
    --tw-ring-offset-color: rgb(233, 30, 99);
  }

  :root .sm\:focus\:ring-offset-primary-light:focus{
    --tw-ring-offset-color: rgba(var(--color-primary), .1);
  }

  :root .sm\:focus\:ring-offset-primary:focus{
    --tw-ring-offset-color: rgb(var(--color-primary));
  }

  :root .sm\:focus\:ring-offset-accent-light:focus{
    --tw-ring-offset-color: rgba(var(--color-accent), .1);
  }

  :root .sm\:focus\:ring-offset-accent:focus{
    --tw-ring-offset-color: rgb(var(--color-accent));
  }

  :root .sm\:focus\:ring-offset-warn-light:focus{
    --tw-ring-offset-color: rgba(var(--color-warn), .1);
  }

  :root .sm\:focus\:ring-offset-warn:focus{
    --tw-ring-offset-color: rgb(var(--color-warn));
  }

  :root .sm\:ring-offset-0{
    --tw-ring-offset-width: 0px;
  }

  :root .sm\:ring-offset-1{
    --tw-ring-offset-width: 1px;
  }

  :root .sm\:ring-offset-2{
    --tw-ring-offset-width: 2px;
  }

  :root .sm\:ring-offset-4{
    --tw-ring-offset-width: 4px;
  }

  :root .sm\:ring-offset-8{
    --tw-ring-offset-width: 8px;
  }

  :root .sm\:focus-within\:ring-offset-0:focus-within{
    --tw-ring-offset-width: 0px;
  }

  :root .sm\:focus-within\:ring-offset-1:focus-within{
    --tw-ring-offset-width: 1px;
  }

  :root .sm\:focus-within\:ring-offset-2:focus-within{
    --tw-ring-offset-width: 2px;
  }

  :root .sm\:focus-within\:ring-offset-4:focus-within{
    --tw-ring-offset-width: 4px;
  }

  :root .sm\:focus-within\:ring-offset-8:focus-within{
    --tw-ring-offset-width: 8px;
  }

  :root .sm\:focus\:ring-offset-0:focus{
    --tw-ring-offset-width: 0px;
  }

  :root .sm\:focus\:ring-offset-1:focus{
    --tw-ring-offset-width: 1px;
  }

  :root .sm\:focus\:ring-offset-2:focus{
    --tw-ring-offset-width: 2px;
  }

  :root .sm\:focus\:ring-offset-4:focus{
    --tw-ring-offset-width: 4px;
  }

  :root .sm\:focus\:ring-offset-8:focus{
    --tw-ring-offset-width: 8px;
  }

  :root .sm\:ring-current{
    --tw-ring-color: currentColor;
  }

  :root .sm\:ring-transparent{
    --tw-ring-color: transparent;
  }

  :root .sm\:ring-black{
    --tw-ring-color: var(--text-color);
  }

  :root .sm\:ring-white{
    --tw-ring-color: var(--text-color-light);
  }

  :root .sm\:ring-contrast-black{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
  }

  :root .sm\:ring-contrast-white{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
  }

  :root .sm\:ring-gray-light{
    --tw-ring-color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:ring-gray{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
  }

  :root .sm\:ring-red-light{
    --tw-ring-color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:ring-red{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
  }

  :root .sm\:ring-orange-light{
    --tw-ring-color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:ring-orange{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
  }

  :root .sm\:ring-deep-orange-light{
    --tw-ring-color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:ring-deep-orange{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
  }

  :root .sm\:ring-amber-light{
    --tw-ring-color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:ring-amber{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
  }

  :root .sm\:ring-green-light{
    --tw-ring-color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:ring-green{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
  }

  :root .sm\:ring-teal-light{
    --tw-ring-color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:ring-teal{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
  }

  :root .sm\:ring-cyan-light{
    --tw-ring-color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:ring-cyan{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
  }

  :root .sm\:ring-purple-light{
    --tw-ring-color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:ring-purple{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
  }

  :root .sm\:ring-deep-purple-light{
    --tw-ring-color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:ring-deep-purple{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
  }

  :root .sm\:ring-pink-light{
    --tw-ring-color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:ring-pink{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
  }

  :root .sm\:ring-primary-light{
    --tw-ring-color: rgba(var(--color-primary), .1);
  }

  :root .sm\:ring-primary{
    --tw-ring-color: rgb(var(--color-primary));
  }

  :root .sm\:ring-accent-light{
    --tw-ring-color: rgba(var(--color-accent), .1);
  }

  :root .sm\:ring-accent{
    --tw-ring-color: rgb(var(--color-accent));
  }

  :root .sm\:ring-warn-light{
    --tw-ring-color: rgba(var(--color-warn), .1);
  }

  :root .sm\:ring-warn{
    --tw-ring-color: rgb(var(--color-warn));
  }

  :root .sm\:focus-within\:ring-current:focus-within{
    --tw-ring-color: currentColor;
  }

  :root .sm\:focus-within\:ring-transparent:focus-within{
    --tw-ring-color: transparent;
  }

  :root .sm\:focus-within\:ring-black:focus-within{
    --tw-ring-color: var(--text-color);
  }

  :root .sm\:focus-within\:ring-white:focus-within{
    --tw-ring-color: var(--text-color-light);
  }

  :root .sm\:focus-within\:ring-contrast-black:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
  }

  :root .sm\:focus-within\:ring-contrast-white:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
  }

  :root .sm\:focus-within\:ring-gray-light:focus-within{
    --tw-ring-color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:focus-within\:ring-gray:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
  }

  :root .sm\:focus-within\:ring-red-light:focus-within{
    --tw-ring-color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:focus-within\:ring-red:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
  }

  :root .sm\:focus-within\:ring-orange-light:focus-within{
    --tw-ring-color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:focus-within\:ring-orange:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
  }

  :root .sm\:focus-within\:ring-deep-orange-light:focus-within{
    --tw-ring-color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:focus-within\:ring-deep-orange:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
  }

  :root .sm\:focus-within\:ring-amber-light:focus-within{
    --tw-ring-color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:focus-within\:ring-amber:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
  }

  :root .sm\:focus-within\:ring-green-light:focus-within{
    --tw-ring-color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:focus-within\:ring-green:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
  }

  :root .sm\:focus-within\:ring-teal-light:focus-within{
    --tw-ring-color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:focus-within\:ring-teal:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
  }

  :root .sm\:focus-within\:ring-cyan-light:focus-within{
    --tw-ring-color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:focus-within\:ring-cyan:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
  }

  :root .sm\:focus-within\:ring-purple-light:focus-within{
    --tw-ring-color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:focus-within\:ring-purple:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
  }

  :root .sm\:focus-within\:ring-deep-purple-light:focus-within{
    --tw-ring-color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:focus-within\:ring-deep-purple:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
  }

  :root .sm\:focus-within\:ring-pink-light:focus-within{
    --tw-ring-color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:focus-within\:ring-pink:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
  }

  :root .sm\:focus-within\:ring-primary-light:focus-within{
    --tw-ring-color: rgba(var(--color-primary), .1);
  }

  :root .sm\:focus-within\:ring-primary:focus-within{
    --tw-ring-color: rgb(var(--color-primary));
  }

  :root .sm\:focus-within\:ring-accent-light:focus-within{
    --tw-ring-color: rgba(var(--color-accent), .1);
  }

  :root .sm\:focus-within\:ring-accent:focus-within{
    --tw-ring-color: rgb(var(--color-accent));
  }

  :root .sm\:focus-within\:ring-warn-light:focus-within{
    --tw-ring-color: rgba(var(--color-warn), .1);
  }

  :root .sm\:focus-within\:ring-warn:focus-within{
    --tw-ring-color: rgb(var(--color-warn));
  }

  :root .sm\:focus\:ring-current:focus{
    --tw-ring-color: currentColor;
  }

  :root .sm\:focus\:ring-transparent:focus{
    --tw-ring-color: transparent;
  }

  :root .sm\:focus\:ring-black:focus{
    --tw-ring-color: var(--text-color);
  }

  :root .sm\:focus\:ring-white:focus{
    --tw-ring-color: var(--text-color-light);
  }

  :root .sm\:focus\:ring-contrast-black:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
  }

  :root .sm\:focus\:ring-contrast-white:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
  }

  :root .sm\:focus\:ring-gray-light:focus{
    --tw-ring-color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:focus\:ring-gray:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
  }

  :root .sm\:focus\:ring-red-light:focus{
    --tw-ring-color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:focus\:ring-red:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
  }

  :root .sm\:focus\:ring-orange-light:focus{
    --tw-ring-color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:focus\:ring-orange:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
  }

  :root .sm\:focus\:ring-deep-orange-light:focus{
    --tw-ring-color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:focus\:ring-deep-orange:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
  }

  :root .sm\:focus\:ring-amber-light:focus{
    --tw-ring-color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:focus\:ring-amber:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
  }

  :root .sm\:focus\:ring-green-light:focus{
    --tw-ring-color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:focus\:ring-green:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
  }

  :root .sm\:focus\:ring-teal-light:focus{
    --tw-ring-color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:focus\:ring-teal:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
  }

  :root .sm\:focus\:ring-cyan-light:focus{
    --tw-ring-color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:focus\:ring-cyan:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
  }

  :root .sm\:focus\:ring-purple-light:focus{
    --tw-ring-color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:focus\:ring-purple:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
  }

  :root .sm\:focus\:ring-deep-purple-light:focus{
    --tw-ring-color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:focus\:ring-deep-purple:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
  }

  :root .sm\:focus\:ring-pink-light:focus{
    --tw-ring-color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:focus\:ring-pink:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
  }

  :root .sm\:focus\:ring-primary-light:focus{
    --tw-ring-color: rgba(var(--color-primary), .1);
  }

  :root .sm\:focus\:ring-primary:focus{
    --tw-ring-color: rgb(var(--color-primary));
  }

  :root .sm\:focus\:ring-accent-light:focus{
    --tw-ring-color: rgba(var(--color-accent), .1);
  }

  :root .sm\:focus\:ring-accent:focus{
    --tw-ring-color: rgb(var(--color-accent));
  }

  :root .sm\:focus\:ring-warn-light:focus{
    --tw-ring-color: rgba(var(--color-warn), .1);
  }

  :root .sm\:focus\:ring-warn:focus{
    --tw-ring-color: rgb(var(--color-warn));
  }

  :root .sm\:ring-opacity-0{
    --tw-ring-opacity: 0;
  }

  :root .sm\:ring-opacity-25{
    --tw-ring-opacity: 0.25;
  }

  :root .sm\:ring-opacity-50{
    --tw-ring-opacity: 0.5;
  }

  :root .sm\:ring-opacity-75{
    --tw-ring-opacity: 0.75;
  }

  :root .sm\:ring-opacity-100{
    --tw-ring-opacity: 1;
  }

  :root .sm\:focus-within\:ring-opacity-0:focus-within{
    --tw-ring-opacity: 0;
  }

  :root .sm\:focus-within\:ring-opacity-25:focus-within{
    --tw-ring-opacity: 0.25;
  }

  :root .sm\:focus-within\:ring-opacity-50:focus-within{
    --tw-ring-opacity: 0.5;
  }

  :root .sm\:focus-within\:ring-opacity-75:focus-within{
    --tw-ring-opacity: 0.75;
  }

  :root .sm\:focus-within\:ring-opacity-100:focus-within{
    --tw-ring-opacity: 1;
  }

  :root .sm\:focus\:ring-opacity-0:focus{
    --tw-ring-opacity: 0;
  }

  :root .sm\:focus\:ring-opacity-25:focus{
    --tw-ring-opacity: 0.25;
  }

  :root .sm\:focus\:ring-opacity-50:focus{
    --tw-ring-opacity: 0.5;
  }

  :root .sm\:focus\:ring-opacity-75:focus{
    --tw-ring-opacity: 0.75;
  }

  :root .sm\:focus\:ring-opacity-100:focus{
    --tw-ring-opacity: 1;
  }

  :root .sm\:fill-current{
    fill: currentColor;
  }

  :root .sm\:stroke-current{
    stroke: currentColor;
  }

  :root .sm\:stroke-0{
    stroke-width: 0;
  }

  :root .sm\:stroke-1{
    stroke-width: 1;
  }

  :root .sm\:stroke-2{
    stroke-width: 2;
  }

  :root .sm\:table-auto{
    table-layout: auto;
  }

  :root .sm\:table-fixed{
    table-layout: fixed;
  }

  :root .sm\:text-left{
    text-align: left;
  }

  :root .sm\:text-center{
    text-align: center;
  }

  :root .sm\:text-right{
    text-align: right;
  }

  :root .sm\:text-justify{
    text-align: justify;
  }

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

  :root .sm\:text-hint{
    color: var(--text-hint);
  }

  :root .sm\:text-current{
    color: currentColor;
  }

  :root .sm\:text-transparent{
    color: transparent;
  }

  :root .sm\:text-black{
    color: var(--text-color);
  }

  :root .sm\:text-white{
    color: var(--text-color-light);
  }

  :root .sm\:text-contrast-black{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .sm\:text-contrast-white{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:text-gray-light{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:text-gray{
    --tw-text-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-text-opacity));
  }

  :root .sm\:text-red-light{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:text-red{
    --tw-text-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-text-opacity));
  }

  :root .sm\:text-orange-light{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:text-orange{
    --tw-text-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-text-opacity));
  }

  :root .sm\:text-deep-orange-light{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:text-deep-orange{
    --tw-text-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-text-opacity));
  }

  :root .sm\:text-amber-light{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:text-amber{
    --tw-text-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-text-opacity));
  }

  :root .sm\:text-green-light{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:text-green{
    --tw-text-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-text-opacity));
  }

  :root .sm\:text-teal-light{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:text-teal{
    --tw-text-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-text-opacity));
  }

  :root .sm\:text-cyan-light{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:text-cyan{
    --tw-text-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-text-opacity));
  }

  :root .sm\:text-purple-light{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:text-purple{
    --tw-text-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-text-opacity));
  }

  :root .sm\:text-deep-purple-light{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:text-deep-purple{
    --tw-text-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-text-opacity));
  }

  :root .sm\:text-pink-light{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:text-pink{
    --tw-text-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-text-opacity));
  }

  :root .sm\:text-primary-light{
    color: rgba(var(--color-primary), .1);
  }

  :root .sm\:text-primary{
    color: rgb(var(--color-primary));
  }

  :root .sm\:text-accent-light{
    color: rgba(var(--color-accent), .1);
  }

  :root .sm\:text-accent{
    color: rgb(var(--color-accent));
  }

  :root .sm\:text-warn-light{
    color: rgba(var(--color-warn), .1);
  }

  :root .sm\:text-warn{
    color: rgb(var(--color-warn));
  }

  :root .sm\:text-primary-contrast{
    color: rgb(var(--color-primary-contrast));
  }

  :root .sm\:text-accent-contrast{
    color: rgb(var(--color-accent-contrast));
  }

  :root .sm\:text-warn-contrast{
    color: rgb(var(--color-warn-contrast));
  }

  :root .sm\:text-red-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:text-green-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:text-amber-contrast{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .sm\:text-orange-contrast{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .sm\:text-deep-orange-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:text-purple-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:text-deep-purple-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:text-cyan-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:text-teal-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:text-gray-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:text-light-green-contrast{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-secondary:hover{
    color: var(--text-secondary);
  }

  :root .sm\:hover\:text-hint:hover{
    color: var(--text-hint);
  }

  :root .sm\:hover\:text-current:hover{
    color: currentColor;
  }

  :root .sm\:hover\:text-transparent:hover{
    color: transparent;
  }

  :root .sm\:hover\:text-black:hover{
    color: var(--text-color);
  }

  :root .sm\:hover\:text-white:hover{
    color: var(--text-color-light);
  }

  :root .sm\:hover\:text-contrast-black:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-contrast-white:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-gray-light:hover{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:hover\:text-gray:hover{
    --tw-text-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-red-light:hover{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:hover\:text-red:hover{
    --tw-text-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-orange-light:hover{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:hover\:text-orange:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-deep-orange-light:hover{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:hover\:text-deep-orange:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-amber-light:hover{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:hover\:text-amber:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-green-light:hover{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:hover\:text-green:hover{
    --tw-text-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-teal-light:hover{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:hover\:text-teal:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-cyan-light:hover{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:hover\:text-cyan:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-purple-light:hover{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:hover\:text-purple:hover{
    --tw-text-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-deep-purple-light:hover{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:hover\:text-deep-purple:hover{
    --tw-text-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-pink-light:hover{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:hover\:text-pink:hover{
    --tw-text-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-primary-light:hover{
    color: rgba(var(--color-primary), .1);
  }

  :root .sm\:hover\:text-primary:hover{
    color: rgb(var(--color-primary));
  }

  :root .sm\:hover\:text-accent-light:hover{
    color: rgba(var(--color-accent), .1);
  }

  :root .sm\:hover\:text-accent:hover{
    color: rgb(var(--color-accent));
  }

  :root .sm\:hover\:text-warn-light:hover{
    color: rgba(var(--color-warn), .1);
  }

  :root .sm\:hover\:text-warn:hover{
    color: rgb(var(--color-warn));
  }

  :root .sm\:hover\:text-primary-contrast:hover{
    color: rgb(var(--color-primary-contrast));
  }

  :root .sm\:hover\:text-accent-contrast:hover{
    color: rgb(var(--color-accent-contrast));
  }

  :root .sm\:hover\:text-warn-contrast:hover{
    color: rgb(var(--color-warn-contrast));
  }

  :root .sm\:hover\:text-red-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-green-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-amber-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-orange-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-deep-orange-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-purple-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-deep-purple-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-cyan-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-teal-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-gray-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:hover\:text-light-green-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-secondary:focus{
    color: var(--text-secondary);
  }

  :root .sm\:focus\:text-hint:focus{
    color: var(--text-hint);
  }

  :root .sm\:focus\:text-current:focus{
    color: currentColor;
  }

  :root .sm\:focus\:text-transparent:focus{
    color: transparent;
  }

  :root .sm\:focus\:text-black:focus{
    color: var(--text-color);
  }

  :root .sm\:focus\:text-white:focus{
    color: var(--text-color-light);
  }

  :root .sm\:focus\:text-contrast-black:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-contrast-white:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-gray-light:focus{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .sm\:focus\:text-gray:focus{
    --tw-text-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-red-light:focus{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .sm\:focus\:text-red:focus{
    --tw-text-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-orange-light:focus{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .sm\:focus\:text-orange:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-deep-orange-light:focus{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .sm\:focus\:text-deep-orange:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-amber-light:focus{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .sm\:focus\:text-amber:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-green-light:focus{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .sm\:focus\:text-green:focus{
    --tw-text-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-teal-light:focus{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .sm\:focus\:text-teal:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-cyan-light:focus{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .sm\:focus\:text-cyan:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-purple-light:focus{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .sm\:focus\:text-purple:focus{
    --tw-text-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-deep-purple-light:focus{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .sm\:focus\:text-deep-purple:focus{
    --tw-text-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-pink-light:focus{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .sm\:focus\:text-pink:focus{
    --tw-text-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-primary-light:focus{
    color: rgba(var(--color-primary), .1);
  }

  :root .sm\:focus\:text-primary:focus{
    color: rgb(var(--color-primary));
  }

  :root .sm\:focus\:text-accent-light:focus{
    color: rgba(var(--color-accent), .1);
  }

  :root .sm\:focus\:text-accent:focus{
    color: rgb(var(--color-accent));
  }

  :root .sm\:focus\:text-warn-light:focus{
    color: rgba(var(--color-warn), .1);
  }

  :root .sm\:focus\:text-warn:focus{
    color: rgb(var(--color-warn));
  }

  :root .sm\:focus\:text-primary-contrast:focus{
    color: rgb(var(--color-primary-contrast));
  }

  :root .sm\:focus\:text-accent-contrast:focus{
    color: rgb(var(--color-accent-contrast));
  }

  :root .sm\:focus\:text-warn-contrast:focus{
    color: rgb(var(--color-warn-contrast));
  }

  :root .sm\:focus\:text-red-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-green-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-amber-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-orange-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-deep-orange-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-purple-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-deep-purple-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-cyan-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-teal-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-gray-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .sm\:focus\:text-light-green-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .sm\:text-opacity-0{
    --tw-text-opacity: 0;
  }

  :root .sm\:text-opacity-25{
    --tw-text-opacity: 0.25;
  }

  :root .sm\:text-opacity-50{
    --tw-text-opacity: 0.5;
  }

  :root .sm\:text-opacity-75{
    --tw-text-opacity: 0.75;
  }

  :root .sm\:text-opacity-100{
    --tw-text-opacity: 1;
  }

  :root .group:hover .sm\:group-hover\:text-opacity-0{
    --tw-text-opacity: 0;
  }

  :root .group:hover .sm\:group-hover\:text-opacity-25{
    --tw-text-opacity: 0.25;
  }

  :root .group:hover .sm\:group-hover\:text-opacity-50{
    --tw-text-opacity: 0.5;
  }

  :root .group:hover .sm\:group-hover\:text-opacity-75{
    --tw-text-opacity: 0.75;
  }

  :root .group:hover .sm\:group-hover\:text-opacity-100{
    --tw-text-opacity: 1;
  }

  :root .sm\:focus-within\:text-opacity-0:focus-within{
    --tw-text-opacity: 0;
  }

  :root .sm\:focus-within\:text-opacity-25:focus-within{
    --tw-text-opacity: 0.25;
  }

  :root .sm\:focus-within\:text-opacity-50:focus-within{
    --tw-text-opacity: 0.5;
  }

  :root .sm\:focus-within\:text-opacity-75:focus-within{
    --tw-text-opacity: 0.75;
  }

  :root .sm\:focus-within\:text-opacity-100:focus-within{
    --tw-text-opacity: 1;
  }

  :root .sm\:hover\:text-opacity-0:hover{
    --tw-text-opacity: 0;
  }

  :root .sm\:hover\:text-opacity-25:hover{
    --tw-text-opacity: 0.25;
  }

  :root .sm\:hover\:text-opacity-50:hover{
    --tw-text-opacity: 0.5;
  }

  :root .sm\:hover\:text-opacity-75:hover{
    --tw-text-opacity: 0.75;
  }

  :root .sm\:hover\:text-opacity-100:hover{
    --tw-text-opacity: 1;
  }

  :root .sm\:focus\:text-opacity-0:focus{
    --tw-text-opacity: 0;
  }

  :root .sm\:focus\:text-opacity-25:focus{
    --tw-text-opacity: 0.25;
  }

  :root .sm\:focus\:text-opacity-50:focus{
    --tw-text-opacity: 0.5;
  }

  :root .sm\:focus\:text-opacity-75:focus{
    --tw-text-opacity: 0.75;
  }

  :root .sm\:focus\:text-opacity-100:focus{
    --tw-text-opacity: 1;
  }

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

  :root .sm\:overflow-ellipsis{
    text-overflow: ellipsis;
  }

  :root .sm\:overflow-clip{
    text-overflow: clip;
  }

  :root .sm\:italic{
    font-style: italic;
  }

  :root .sm\:not-italic{
    font-style: normal;
  }

  :root .sm\:uppercase{
    text-transform: uppercase;
  }

  :root .sm\:lowercase{
    text-transform: lowercase;
  }

  :root .sm\:capitalize{
    text-transform: capitalize;
  }

  :root .sm\:normal-case{
    text-transform: none;
  }

  :root .sm\:underline{
    text-decoration: underline;
  }

  :root .sm\:line-through{
    text-decoration: line-through;
  }

  :root .sm\:no-underline{
    text-decoration: none;
  }

  :root .sm\:hover\:underline:hover{
    text-decoration: underline;
  }

  :root .sm\:hover\:line-through:hover{
    text-decoration: line-through;
  }

  :root .sm\:hover\:no-underline:hover{
    text-decoration: none;
  }

  :root .sm\:focus\:underline:focus{
    text-decoration: underline;
  }

  :root .sm\:focus\:line-through:focus{
    text-decoration: line-through;
  }

  :root .sm\:focus\:no-underline:focus{
    text-decoration: none;
  }

  :root .sm\:antialiased{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  :root .sm\:subpixel-antialiased{
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
  }

  :root .sm\:ordinal, :root .sm\:slashed-zero, :root .sm\:lining-nums, :root .sm\:oldstyle-nums, :root .sm\:proportional-nums, :root .sm\:tabular-nums, :root .sm\:diagonal-fractions, :root .sm\:stacked-fractions{
    --tw-ordinal: var(--tw-empty,/*!*/ /*!*/);
    --tw-slashed-zero: var(--tw-empty,/*!*/ /*!*/);
    --tw-numeric-figure: var(--tw-empty,/*!*/ /*!*/);
    --tw-numeric-spacing: var(--tw-empty,/*!*/ /*!*/);
    --tw-numeric-fraction: var(--tw-empty,/*!*/ /*!*/);
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  }

  :root .sm\:normal-nums{
    font-variant-numeric: normal;
  }

  :root .sm\:ordinal{
    --tw-ordinal: ordinal;
  }

  :root .sm\:slashed-zero{
    --tw-slashed-zero: slashed-zero;
  }

  :root .sm\:lining-nums{
    --tw-numeric-figure: lining-nums;
  }

  :root .sm\:oldstyle-nums{
    --tw-numeric-figure: oldstyle-nums;
  }

  :root .sm\:proportional-nums{
    --tw-numeric-spacing: proportional-nums;
  }

  :root .sm\:tabular-nums{
    --tw-numeric-spacing: tabular-nums;
  }

  :root .sm\:diagonal-fractions{
    --tw-numeric-fraction: diagonal-fractions;
  }

  :root .sm\:stacked-fractions{
    --tw-numeric-fraction: stacked-fractions;
  }

  :root .sm\:tracking-tighter{
    letter-spacing: -0.05em;
  }

  :root .sm\:tracking-tight{
    letter-spacing: -0.025em;
  }

  :root .sm\:tracking-normal{
    letter-spacing: 0;
  }

  :root .sm\:tracking-wide{
    letter-spacing: 0.025em;
  }

  :root .sm\:tracking-wider{
    letter-spacing: 0.05em;
  }

  :root .sm\:tracking-widest{
    letter-spacing: 0.1em;
  }

  :root .sm\:select-none{
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }

  :root .sm\:select-text{
    -webkit-user-select: text;
       -moz-user-select: text;
            user-select: text;
  }

  :root .sm\:select-all{
    -webkit-user-select: all;
       -moz-user-select: all;
            user-select: all;
  }

  :root .sm\:select-auto{
    -webkit-user-select: auto;
       -moz-user-select: auto;
            user-select: auto;
  }

  :root .sm\:align-baseline{
    vertical-align: baseline;
  }

  :root .sm\:align-top{
    vertical-align: top;
  }

  :root .sm\:align-middle{
    vertical-align: middle;
  }

  :root .sm\:align-bottom{
    vertical-align: bottom;
  }

  :root .sm\:align-text-top{
    vertical-align: text-top;
  }

  :root .sm\:align-text-bottom{
    vertical-align: text-bottom;
  }

  :root .sm\:visible{
    visibility: visible;
  }

  :root .sm\:invisible{
    visibility: hidden;
  }

  :root .sm\:whitespace-normal{
    white-space: normal;
  }

  :root .sm\:whitespace-nowrap{
    white-space: nowrap;
  }

  :root .sm\:whitespace-pre{
    white-space: pre;
  }

  :root .sm\:whitespace-pre-line{
    white-space: pre-line;
  }

  :root .sm\:whitespace-pre-wrap{
    white-space: pre-wrap;
  }

  :root .sm\:break-normal{
    overflow-wrap: normal;
    word-break: normal;
  }

  :root .sm\:break-words{
    overflow-wrap: break-word;
  }

  :root .sm\:break-all{
    word-break: break-all;
  }

  :root .sm\:w-0{
    width: 0;
  }

  :root .sm\:w-1{
    width: 0.25rem;
  }

  :root .sm\:w-2{
    width: 0.5rem;
  }

  :root .sm\:w-3{
    width: 0.75rem;
  }

  :root .sm\:w-4{
    width: 1rem;
  }

  :root .sm\:w-5{
    width: 1.25rem;
  }

  :root .sm\:w-6{
    width: 1.5rem;
  }

  :root .sm\:w-8{
    width: 2rem;
  }

  :root .sm\:w-9{
    width: 2.25rem;
  }

  :root .sm\:w-10{
    width: 2.5rem;
  }

  :root .sm\:w-12{
    width: 3rem;
  }

  :root .sm\:w-14{
    width: 3.5rem;
  }

  :root .sm\:w-16{
    width: 4rem;
  }

  :root .sm\:w-20{
    width: 5rem;
  }

  :root .sm\:w-24{
    width: 6rem;
  }

  :root .sm\:w-32{
    width: 8rem;
  }

  :root .sm\:w-40{
    width: 10rem;
  }

  :root .sm\:w-48{
    width: 12rem;
  }

  :root .sm\:w-56{
    width: 14rem;
  }

  :root .sm\:w-64{
    width: 16rem;
  }

  :root .sm\:w-auto{
    width: auto;
  }

  :root .sm\:w-px{
    width: 1px;
  }

  :root .sm\:w-gutter{
    width: var(--padding-gutter);
  }

  :root .sm\:w-1\/2{
    width: 50%;
  }

  :root .sm\:w-1\/3{
    width: 33.333333%;
  }

  :root .sm\:w-2\/3{
    width: 66.666667%;
  }

  :root .sm\:w-1\/4{
    width: 25%;
  }

  :root .sm\:w-2\/4{
    width: 50%;
  }

  :root .sm\:w-3\/4{
    width: 75%;
  }

  :root .sm\:w-1\/5{
    width: 20%;
  }

  :root .sm\:w-2\/5{
    width: 40%;
  }

  :root .sm\:w-3\/5{
    width: 60%;
  }

  :root .sm\:w-4\/5{
    width: 80%;
  }

  :root .sm\:w-1\/6{
    width: 16.666667%;
  }

  :root .sm\:w-2\/6{
    width: 33.333333%;
  }

  :root .sm\:w-3\/6{
    width: 50%;
  }

  :root .sm\:w-4\/6{
    width: 66.666667%;
  }

  :root .sm\:w-5\/6{
    width: 83.333333%;
  }

  :root .sm\:w-1\/12{
    width: 8.333333%;
  }

  :root .sm\:w-2\/12{
    width: 16.666667%;
  }

  :root .sm\:w-3\/12{
    width: 25%;
  }

  :root .sm\:w-4\/12{
    width: 33.333333%;
  }

  :root .sm\:w-5\/12{
    width: 41.666667%;
  }

  :root .sm\:w-6\/12{
    width: 50%;
  }

  :root .sm\:w-7\/12{
    width: 58.333333%;
  }

  :root .sm\:w-8\/12{
    width: 66.666667%;
  }

  :root .sm\:w-9\/12{
    width: 75%;
  }

  :root .sm\:w-10\/12{
    width: 83.333333%;
  }

  :root .sm\:w-11\/12{
    width: 91.666667%;
  }

  :root .sm\:w-full{
    width: 100%;
  }

  :root .sm\:w-screen{
    width: 100vw;
  }

  :root .sm\:z-0{
    z-index: 0;
  }

  :root .sm\:z-10{
    z-index: 10;
  }

  :root .sm\:z-20{
    z-index: 20;
  }

  :root .sm\:z-30{
    z-index: 30;
  }

  :root .sm\:z-40{
    z-index: 40;
  }

  :root .sm\:z-50{
    z-index: 50;
  }

  :root .sm\:z-auto{
    z-index: auto;
  }

  :root .sm\:gap-0{
    gap: 0;
  }

  :root .sm\:gap-1{
    gap: 0.25rem;
  }

  :root .sm\:gap-2{
    gap: 0.5rem;
  }

  :root .sm\:gap-3{
    gap: 0.75rem;
  }

  :root .sm\:gap-4{
    gap: 1rem;
  }

  :root .sm\:gap-5{
    gap: 1.25rem;
  }

  :root .sm\:gap-6{
    gap: 1.5rem;
  }

  :root .sm\:gap-8{
    gap: 2rem;
  }

  :root .sm\:gap-9{
    gap: 2.25rem;
  }

  :root .sm\:gap-10{
    gap: 2.5rem;
  }

  :root .sm\:gap-12{
    gap: 3rem;
  }

  :root .sm\:gap-14{
    gap: 3.5rem;
  }

  :root .sm\:gap-16{
    gap: 4rem;
  }

  :root .sm\:gap-20{
    gap: 5rem;
  }

  :root .sm\:gap-24{
    gap: 6rem;
  }

  :root .sm\:gap-32{
    gap: 8rem;
  }

  :root .sm\:gap-40{
    gap: 10rem;
  }

  :root .sm\:gap-48{
    gap: 12rem;
  }

  :root .sm\:gap-56{
    gap: 14rem;
  }

  :root .sm\:gap-64{
    gap: 16rem;
  }

  :root .sm\:gap-px{
    gap: 1px;
  }

  :root .sm\:gap-gutter{
    gap: var(--padding-gutter);
  }

  :root .sm\:gap-x-0{
    -moz-column-gap: 0;
         column-gap: 0;
  }

  :root .sm\:gap-x-1{
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }

  :root .sm\:gap-x-2{
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }

  :root .sm\:gap-x-3{
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
  }

  :root .sm\:gap-x-4{
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }

  :root .sm\:gap-x-5{
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
  }

  :root .sm\:gap-x-6{
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }

  :root .sm\:gap-x-8{
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }

  :root .sm\:gap-x-9{
    -moz-column-gap: 2.25rem;
         column-gap: 2.25rem;
  }

  :root .sm\:gap-x-10{
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }

  :root .sm\:gap-x-12{
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }

  :root .sm\:gap-x-14{
    -moz-column-gap: 3.5rem;
         column-gap: 3.5rem;
  }

  :root .sm\:gap-x-16{
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }

  :root .sm\:gap-x-20{
    -moz-column-gap: 5rem;
         column-gap: 5rem;
  }

  :root .sm\:gap-x-24{
    -moz-column-gap: 6rem;
         column-gap: 6rem;
  }

  :root .sm\:gap-x-32{
    -moz-column-gap: 8rem;
         column-gap: 8rem;
  }

  :root .sm\:gap-x-40{
    -moz-column-gap: 10rem;
         column-gap: 10rem;
  }

  :root .sm\:gap-x-48{
    -moz-column-gap: 12rem;
         column-gap: 12rem;
  }

  :root .sm\:gap-x-56{
    -moz-column-gap: 14rem;
         column-gap: 14rem;
  }

  :root .sm\:gap-x-64{
    -moz-column-gap: 16rem;
         column-gap: 16rem;
  }

  :root .sm\:gap-x-px{
    -moz-column-gap: 1px;
         column-gap: 1px;
  }

  :root .sm\:gap-x-gutter{
    -moz-column-gap: var(--padding-gutter);
         column-gap: var(--padding-gutter);
  }

  :root .sm\:gap-y-0{
    row-gap: 0;
  }

  :root .sm\:gap-y-1{
    row-gap: 0.25rem;
  }

  :root .sm\:gap-y-2{
    row-gap: 0.5rem;
  }

  :root .sm\:gap-y-3{
    row-gap: 0.75rem;
  }

  :root .sm\:gap-y-4{
    row-gap: 1rem;
  }

  :root .sm\:gap-y-5{
    row-gap: 1.25rem;
  }

  :root .sm\:gap-y-6{
    row-gap: 1.5rem;
  }

  :root .sm\:gap-y-8{
    row-gap: 2rem;
  }

  :root .sm\:gap-y-9{
    row-gap: 2.25rem;
  }

  :root .sm\:gap-y-10{
    row-gap: 2.5rem;
  }

  :root .sm\:gap-y-12{
    row-gap: 3rem;
  }

  :root .sm\:gap-y-14{
    row-gap: 3.5rem;
  }

  :root .sm\:gap-y-16{
    row-gap: 4rem;
  }

  :root .sm\:gap-y-20{
    row-gap: 5rem;
  }

  :root .sm\:gap-y-24{
    row-gap: 6rem;
  }

  :root .sm\:gap-y-32{
    row-gap: 8rem;
  }

  :root .sm\:gap-y-40{
    row-gap: 10rem;
  }

  :root .sm\:gap-y-48{
    row-gap: 12rem;
  }

  :root .sm\:gap-y-56{
    row-gap: 14rem;
  }

  :root .sm\:gap-y-64{
    row-gap: 16rem;
  }

  :root .sm\:gap-y-px{
    row-gap: 1px;
  }

  :root .sm\:gap-y-gutter{
    row-gap: var(--padding-gutter);
  }

  :root .sm\:grid-flow-row{
    grid-auto-flow: row;
  }

  :root .sm\:grid-flow-col{
    grid-auto-flow: column;
  }

  :root .sm\:grid-flow-row-dense{
    grid-auto-flow: row dense;
  }

  :root .sm\:grid-flow-col-dense{
    grid-auto-flow: column dense;
  }

  :root .sm\:grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  :root .sm\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :root .sm\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  :root .sm\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  :root .sm\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  :root .sm\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  :root .sm\:grid-cols-7{
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  :root .sm\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  :root .sm\:grid-cols-9{
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }

  :root .sm\:grid-cols-10{
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  :root .sm\:grid-cols-11{
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }

  :root .sm\:grid-cols-12{
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  :root .sm\:grid-cols-none{
    grid-template-columns: none;
  }

  :root .sm\:auto-cols-auto{
    grid-auto-columns: auto;
  }

  :root .sm\:auto-cols-min{
    grid-auto-columns: -webkit-min-content;
    grid-auto-columns: min-content;
  }

  :root .sm\:auto-cols-max{
    grid-auto-columns: -webkit-max-content;
    grid-auto-columns: max-content;
  }

  :root .sm\:auto-cols-fr{
    grid-auto-columns: minmax(0, 1fr);
  }

  :root .sm\:col-auto{
    grid-column: auto;
  }

  :root .sm\:col-span-1{
    grid-column: span 1 / span 1;
  }

  :root .sm\:col-span-2{
    grid-column: span 2 / span 2;
  }

  :root .sm\:col-span-3{
    grid-column: span 3 / span 3;
  }

  :root .sm\:col-span-4{
    grid-column: span 4 / span 4;
  }

  :root .sm\:col-span-5{
    grid-column: span 5 / span 5;
  }

  :root .sm\:col-span-6{
    grid-column: span 6 / span 6;
  }

  :root .sm\:col-span-7{
    grid-column: span 7 / span 7;
  }

  :root .sm\:col-span-8{
    grid-column: span 8 / span 8;
  }

  :root .sm\:col-span-9{
    grid-column: span 9 / span 9;
  }

  :root .sm\:col-span-10{
    grid-column: span 10 / span 10;
  }

  :root .sm\:col-span-11{
    grid-column: span 11 / span 11;
  }

  :root .sm\:col-span-12{
    grid-column: span 12 / span 12;
  }

  :root .sm\:col-span-full{
    grid-column: 1 / -1;
  }

  :root .sm\:col-start-1{
    grid-column-start: 1;
  }

  :root .sm\:col-start-2{
    grid-column-start: 2;
  }

  :root .sm\:col-start-3{
    grid-column-start: 3;
  }

  :root .sm\:col-start-4{
    grid-column-start: 4;
  }

  :root .sm\:col-start-5{
    grid-column-start: 5;
  }

  :root .sm\:col-start-6{
    grid-column-start: 6;
  }

  :root .sm\:col-start-7{
    grid-column-start: 7;
  }

  :root .sm\:col-start-8{
    grid-column-start: 8;
  }

  :root .sm\:col-start-9{
    grid-column-start: 9;
  }

  :root .sm\:col-start-10{
    grid-column-start: 10;
  }

  :root .sm\:col-start-11{
    grid-column-start: 11;
  }

  :root .sm\:col-start-12{
    grid-column-start: 12;
  }

  :root .sm\:col-start-13{
    grid-column-start: 13;
  }

  :root .sm\:col-start-auto{
    grid-column-start: auto;
  }

  :root .sm\:col-end-1{
    grid-column-end: 1;
  }

  :root .sm\:col-end-2{
    grid-column-end: 2;
  }

  :root .sm\:col-end-3{
    grid-column-end: 3;
  }

  :root .sm\:col-end-4{
    grid-column-end: 4;
  }

  :root .sm\:col-end-5{
    grid-column-end: 5;
  }

  :root .sm\:col-end-6{
    grid-column-end: 6;
  }

  :root .sm\:col-end-7{
    grid-column-end: 7;
  }

  :root .sm\:col-end-8{
    grid-column-end: 8;
  }

  :root .sm\:col-end-9{
    grid-column-end: 9;
  }

  :root .sm\:col-end-10{
    grid-column-end: 10;
  }

  :root .sm\:col-end-11{
    grid-column-end: 11;
  }

  :root .sm\:col-end-12{
    grid-column-end: 12;
  }

  :root .sm\:col-end-13{
    grid-column-end: 13;
  }

  :root .sm\:col-end-auto{
    grid-column-end: auto;
  }

  :root .sm\:grid-rows-1{
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }

  :root .sm\:grid-rows-2{
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }

  :root .sm\:grid-rows-3{
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }

  :root .sm\:grid-rows-4{
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }

  :root .sm\:grid-rows-5{
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }

  :root .sm\:grid-rows-6{
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }

  :root .sm\:grid-rows-none{
    grid-template-rows: none;
  }

  :root .sm\:auto-rows-auto{
    grid-auto-rows: auto;
  }

  :root .sm\:auto-rows-min{
    grid-auto-rows: -webkit-min-content;
    grid-auto-rows: min-content;
  }

  :root .sm\:auto-rows-max{
    grid-auto-rows: -webkit-max-content;
    grid-auto-rows: max-content;
  }

  :root .sm\:auto-rows-fr{
    grid-auto-rows: minmax(0, 1fr);
  }

  :root .sm\:row-auto{
    grid-row: auto;
  }

  :root .sm\:row-span-1{
    grid-row: span 1 / span 1;
  }

  :root .sm\:row-span-2{
    grid-row: span 2 / span 2;
  }

  :root .sm\:row-span-3{
    grid-row: span 3 / span 3;
  }

  :root .sm\:row-span-4{
    grid-row: span 4 / span 4;
  }

  :root .sm\:row-span-5{
    grid-row: span 5 / span 5;
  }

  :root .sm\:row-span-6{
    grid-row: span 6 / span 6;
  }

  :root .sm\:row-span-full{
    grid-row: 1 / -1;
  }

  :root .sm\:row-start-1{
    grid-row-start: 1;
  }

  :root .sm\:row-start-2{
    grid-row-start: 2;
  }

  :root .sm\:row-start-3{
    grid-row-start: 3;
  }

  :root .sm\:row-start-4{
    grid-row-start: 4;
  }

  :root .sm\:row-start-5{
    grid-row-start: 5;
  }

  :root .sm\:row-start-6{
    grid-row-start: 6;
  }

  :root .sm\:row-start-7{
    grid-row-start: 7;
  }

  :root .sm\:row-start-auto{
    grid-row-start: auto;
  }

  :root .sm\:row-end-1{
    grid-row-end: 1;
  }

  :root .sm\:row-end-2{
    grid-row-end: 2;
  }

  :root .sm\:row-end-3{
    grid-row-end: 3;
  }

  :root .sm\:row-end-4{
    grid-row-end: 4;
  }

  :root .sm\:row-end-5{
    grid-row-end: 5;
  }

  :root .sm\:row-end-6{
    grid-row-end: 6;
  }

  :root .sm\:row-end-7{
    grid-row-end: 7;
  }

  :root .sm\:row-end-auto{
    grid-row-end: auto;
  }

  :root .sm\:transform{
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  :root .sm\:transform-gpu{
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  :root .sm\:transform-none{
    transform: none;
  }

  :root .sm\:origin-center{
    transform-origin: center;
  }

  :root .sm\:origin-top{
    transform-origin: top;
  }

  :root .sm\:origin-top-right{
    transform-origin: top right;
  }

  :root .sm\:origin-right{
    transform-origin: right;
  }

  :root .sm\:origin-bottom-right{
    transform-origin: bottom right;
  }

  :root .sm\:origin-bottom{
    transform-origin: bottom;
  }

  :root .sm\:origin-bottom-left{
    transform-origin: bottom left;
  }

  :root .sm\:origin-left{
    transform-origin: left;
  }

  :root .sm\:origin-top-left{
    transform-origin: top left;
  }

  :root .sm\:scale-0{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
  }

  :root .sm\:scale-50{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
  }

  :root .sm\:scale-75{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
  }

  :root .sm\:scale-90{
    --tw-scale-x: .9;
    --tw-scale-y: .9;
  }

  :root .sm\:scale-95{
    --tw-scale-x: .95;
    --tw-scale-y: .95;
  }

  :root .sm\:scale-100{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
  }

  :root .sm\:scale-105{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  :root .sm\:scale-110{
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
  }

  :root .sm\:scale-125{
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
  }

  :root .sm\:scale-150{
    --tw-scale-x: 1.5;
    --tw-scale-y: 1.5;
  }

  :root .sm\:scale-x-0{
    --tw-scale-x: 0;
  }

  :root .sm\:scale-x-50{
    --tw-scale-x: .5;
  }

  :root .sm\:scale-x-75{
    --tw-scale-x: .75;
  }

  :root .sm\:scale-x-90{
    --tw-scale-x: .9;
  }

  :root .sm\:scale-x-95{
    --tw-scale-x: .95;
  }

  :root .sm\:scale-x-100{
    --tw-scale-x: 1;
  }

  :root .sm\:scale-x-105{
    --tw-scale-x: 1.05;
  }

  :root .sm\:scale-x-110{
    --tw-scale-x: 1.1;
  }

  :root .sm\:scale-x-125{
    --tw-scale-x: 1.25;
  }

  :root .sm\:scale-x-150{
    --tw-scale-x: 1.5;
  }

  :root .sm\:scale-y-0{
    --tw-scale-y: 0;
  }

  :root .sm\:scale-y-50{
    --tw-scale-y: .5;
  }

  :root .sm\:scale-y-75{
    --tw-scale-y: .75;
  }

  :root .sm\:scale-y-90{
    --tw-scale-y: .9;
  }

  :root .sm\:scale-y-95{
    --tw-scale-y: .95;
  }

  :root .sm\:scale-y-100{
    --tw-scale-y: 1;
  }

  :root .sm\:scale-y-105{
    --tw-scale-y: 1.05;
  }

  :root .sm\:scale-y-110{
    --tw-scale-y: 1.1;
  }

  :root .sm\:scale-y-125{
    --tw-scale-y: 1.25;
  }

  :root .sm\:scale-y-150{
    --tw-scale-y: 1.5;
  }

  :root .sm\:hover\:scale-0:hover{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
  }

  :root .sm\:hover\:scale-50:hover{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
  }

  :root .sm\:hover\:scale-75:hover{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
  }

  :root .sm\:hover\:scale-90:hover{
    --tw-scale-x: .9;
    --tw-scale-y: .9;
  }

  :root .sm\:hover\:scale-95:hover{
    --tw-scale-x: .95;
    --tw-scale-y: .95;
  }

  :root .sm\:hover\:scale-100:hover{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
  }

  :root .sm\:hover\:scale-105:hover{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  :root .sm\:hover\:scale-110:hover{
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
  }

  :root .sm\:hover\:scale-125:hover{
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
  }

  :root .sm\:hover\:scale-150:hover{
    --tw-scale-x: 1.5;
    --tw-scale-y: 1.5;
  }

  :root .sm\:hover\:scale-x-0:hover{
    --tw-scale-x: 0;
  }

  :root .sm\:hover\:scale-x-50:hover{
    --tw-scale-x: .5;
  }

  :root .sm\:hover\:scale-x-75:hover{
    --tw-scale-x: .75;
  }

  :root .sm\:hover\:scale-x-90:hover{
    --tw-scale-x: .9;
  }

  :root .sm\:hover\:scale-x-95:hover{
    --tw-scale-x: .95;
  }

  :root .sm\:hover\:scale-x-100:hover{
    --tw-scale-x: 1;
  }

  :root .sm\:hover\:scale-x-105:hover{
    --tw-scale-x: 1.05;
  }

  :root .sm\:hover\:scale-x-110:hover{
    --tw-scale-x: 1.1;
  }

  :root .sm\:hover\:scale-x-125:hover{
    --tw-scale-x: 1.25;
  }

  :root .sm\:hover\:scale-x-150:hover{
    --tw-scale-x: 1.5;
  }

  :root .sm\:hover\:scale-y-0:hover{
    --tw-scale-y: 0;
  }

  :root .sm\:hover\:scale-y-50:hover{
    --tw-scale-y: .5;
  }

  :root .sm\:hover\:scale-y-75:hover{
    --tw-scale-y: .75;
  }

  :root .sm\:hover\:scale-y-90:hover{
    --tw-scale-y: .9;
  }

  :root .sm\:hover\:scale-y-95:hover{
    --tw-scale-y: .95;
  }

  :root .sm\:hover\:scale-y-100:hover{
    --tw-scale-y: 1;
  }

  :root .sm\:hover\:scale-y-105:hover{
    --tw-scale-y: 1.05;
  }

  :root .sm\:hover\:scale-y-110:hover{
    --tw-scale-y: 1.1;
  }

  :root .sm\:hover\:scale-y-125:hover{
    --tw-scale-y: 1.25;
  }

  :root .sm\:hover\:scale-y-150:hover{
    --tw-scale-y: 1.5;
  }

  :root .sm\:focus\:scale-0:focus{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
  }

  :root .sm\:focus\:scale-50:focus{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
  }

  :root .sm\:focus\:scale-75:focus{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
  }

  :root .sm\:focus\:scale-90:focus{
    --tw-scale-x: .9;
    --tw-scale-y: .9;
  }

  :root .sm\:focus\:scale-95:focus{
    --tw-scale-x: .95;
    --tw-scale-y: .95;
  }

  :root .sm\:focus\:scale-100:focus{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
  }

  :root .sm\:focus\:scale-105:focus{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  :root .sm\:focus\:scale-110:focus{
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
  }

  :root .sm\:focus\:scale-125:focus{
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
  }

  :root .sm\:focus\:scale-150:focus{
    --tw-scale-x: 1.5;
    --tw-scale-y: 1.5;
  }

  :root .sm\:focus\:scale-x-0:focus{
    --tw-scale-x: 0;
  }

  :root .sm\:focus\:scale-x-50:focus{
    --tw-scale-x: .5;
  }

  :root .sm\:focus\:scale-x-75:focus{
    --tw-scale-x: .75;
  }

  :root .sm\:focus\:scale-x-90:focus{
    --tw-scale-x: .9;
  }

  :root .sm\:focus\:scale-x-95:focus{
    --tw-scale-x: .95;
  }

  :root .sm\:focus\:scale-x-100:focus{
    --tw-scale-x: 1;
  }

  :root .sm\:focus\:scale-x-105:focus{
    --tw-scale-x: 1.05;
  }

  :root .sm\:focus\:scale-x-110:focus{
    --tw-scale-x: 1.1;
  }

  :root .sm\:focus\:scale-x-125:focus{
    --tw-scale-x: 1.25;
  }

  :root .sm\:focus\:scale-x-150:focus{
    --tw-scale-x: 1.5;
  }

  :root .sm\:focus\:scale-y-0:focus{
    --tw-scale-y: 0;
  }

  :root .sm\:focus\:scale-y-50:focus{
    --tw-scale-y: .5;
  }

  :root .sm\:focus\:scale-y-75:focus{
    --tw-scale-y: .75;
  }

  :root .sm\:focus\:scale-y-90:focus{
    --tw-scale-y: .9;
  }

  :root .sm\:focus\:scale-y-95:focus{
    --tw-scale-y: .95;
  }

  :root .sm\:focus\:scale-y-100:focus{
    --tw-scale-y: 1;
  }

  :root .sm\:focus\:scale-y-105:focus{
    --tw-scale-y: 1.05;
  }

  :root .sm\:focus\:scale-y-110:focus{
    --tw-scale-y: 1.1;
  }

  :root .sm\:focus\:scale-y-125:focus{
    --tw-scale-y: 1.25;
  }

  :root .sm\:focus\:scale-y-150:focus{
    --tw-scale-y: 1.5;
  }

  :root .sm\:rotate-0{
    --tw-rotate: 0deg;
  }

  :root .sm\:rotate-1{
    --tw-rotate: 1deg;
  }

  :root .sm\:rotate-2{
    --tw-rotate: 2deg;
  }

  :root .sm\:rotate-3{
    --tw-rotate: 3deg;
  }

  :root .sm\:rotate-6{
    --tw-rotate: 6deg;
  }

  :root .sm\:rotate-12{
    --tw-rotate: 12deg;
  }

  :root .sm\:rotate-45{
    --tw-rotate: 45deg;
  }

  :root .sm\:rotate-90{
    --tw-rotate: 90deg;
  }

  :root .sm\:rotate-180{
    --tw-rotate: 180deg;
  }

  :root .sm\:-rotate-180{
    --tw-rotate: -180deg;
  }

  :root .sm\:-rotate-90{
    --tw-rotate: -90deg;
  }

  :root .sm\:-rotate-45{
    --tw-rotate: -45deg;
  }

  :root .sm\:-rotate-12{
    --tw-rotate: -12deg;
  }

  :root .sm\:-rotate-6{
    --tw-rotate: -6deg;
  }

  :root .sm\:-rotate-3{
    --tw-rotate: -3deg;
  }

  :root .sm\:-rotate-2{
    --tw-rotate: -2deg;
  }

  :root .sm\:-rotate-1{
    --tw-rotate: -1deg;
  }

  :root .sm\:hover\:rotate-0:hover{
    --tw-rotate: 0deg;
  }

  :root .sm\:hover\:rotate-1:hover{
    --tw-rotate: 1deg;
  }

  :root .sm\:hover\:rotate-2:hover{
    --tw-rotate: 2deg;
  }

  :root .sm\:hover\:rotate-3:hover{
    --tw-rotate: 3deg;
  }

  :root .sm\:hover\:rotate-6:hover{
    --tw-rotate: 6deg;
  }

  :root .sm\:hover\:rotate-12:hover{
    --tw-rotate: 12deg;
  }

  :root .sm\:hover\:rotate-45:hover{
    --tw-rotate: 45deg;
  }

  :root .sm\:hover\:rotate-90:hover{
    --tw-rotate: 90deg;
  }

  :root .sm\:hover\:rotate-180:hover{
    --tw-rotate: 180deg;
  }

  :root .sm\:hover\:-rotate-180:hover{
    --tw-rotate: -180deg;
  }

  :root .sm\:hover\:-rotate-90:hover{
    --tw-rotate: -90deg;
  }

  :root .sm\:hover\:-rotate-45:hover{
    --tw-rotate: -45deg;
  }

  :root .sm\:hover\:-rotate-12:hover{
    --tw-rotate: -12deg;
  }

  :root .sm\:hover\:-rotate-6:hover{
    --tw-rotate: -6deg;
  }

  :root .sm\:hover\:-rotate-3:hover{
    --tw-rotate: -3deg;
  }

  :root .sm\:hover\:-rotate-2:hover{
    --tw-rotate: -2deg;
  }

  :root .sm\:hover\:-rotate-1:hover{
    --tw-rotate: -1deg;
  }

  :root .sm\:focus\:rotate-0:focus{
    --tw-rotate: 0deg;
  }

  :root .sm\:focus\:rotate-1:focus{
    --tw-rotate: 1deg;
  }

  :root .sm\:focus\:rotate-2:focus{
    --tw-rotate: 2deg;
  }

  :root .sm\:focus\:rotate-3:focus{
    --tw-rotate: 3deg;
  }

  :root .sm\:focus\:rotate-6:focus{
    --tw-rotate: 6deg;
  }

  :root .sm\:focus\:rotate-12:focus{
    --tw-rotate: 12deg;
  }

  :root .sm\:focus\:rotate-45:focus{
    --tw-rotate: 45deg;
  }

  :root .sm\:focus\:rotate-90:focus{
    --tw-rotate: 90deg;
  }

  :root .sm\:focus\:rotate-180:focus{
    --tw-rotate: 180deg;
  }

  :root .sm\:focus\:-rotate-180:focus{
    --tw-rotate: -180deg;
  }

  :root .sm\:focus\:-rotate-90:focus{
    --tw-rotate: -90deg;
  }

  :root .sm\:focus\:-rotate-45:focus{
    --tw-rotate: -45deg;
  }

  :root .sm\:focus\:-rotate-12:focus{
    --tw-rotate: -12deg;
  }

  :root .sm\:focus\:-rotate-6:focus{
    --tw-rotate: -6deg;
  }

  :root .sm\:focus\:-rotate-3:focus{
    --tw-rotate: -3deg;
  }

  :root .sm\:focus\:-rotate-2:focus{
    --tw-rotate: -2deg;
  }

  :root .sm\:focus\:-rotate-1:focus{
    --tw-rotate: -1deg;
  }

  :root .sm\:translate-x-0{
    --tw-translate-x: 0;
  }

  :root .sm\:translate-x-1{
    --tw-translate-x: 0.25rem;
  }

  :root .sm\:translate-x-2{
    --tw-translate-x: 0.5rem;
  }

  :root .sm\:translate-x-3{
    --tw-translate-x: 0.75rem;
  }

  :root .sm\:translate-x-4{
    --tw-translate-x: 1rem;
  }

  :root .sm\:translate-x-5{
    --tw-translate-x: 1.25rem;
  }

  :root .sm\:translate-x-6{
    --tw-translate-x: 1.5rem;
  }

  :root .sm\:translate-x-8{
    --tw-translate-x: 2rem;
  }

  :root .sm\:translate-x-9{
    --tw-translate-x: 2.25rem;
  }

  :root .sm\:translate-x-10{
    --tw-translate-x: 2.5rem;
  }

  :root .sm\:translate-x-12{
    --tw-translate-x: 3rem;
  }

  :root .sm\:translate-x-14{
    --tw-translate-x: 3.5rem;
  }

  :root .sm\:translate-x-16{
    --tw-translate-x: 4rem;
  }

  :root .sm\:translate-x-20{
    --tw-translate-x: 5rem;
  }

  :root .sm\:translate-x-24{
    --tw-translate-x: 6rem;
  }

  :root .sm\:translate-x-32{
    --tw-translate-x: 8rem;
  }

  :root .sm\:translate-x-40{
    --tw-translate-x: 10rem;
  }

  :root .sm\:translate-x-48{
    --tw-translate-x: 12rem;
  }

  :root .sm\:translate-x-56{
    --tw-translate-x: 14rem;
  }

  :root .sm\:translate-x-64{
    --tw-translate-x: 16rem;
  }

  :root .sm\:translate-x-px{
    --tw-translate-x: 1px;
  }

  :root .sm\:translate-x-gutter{
    --tw-translate-x: var(--padding-gutter);
  }

  :root .sm\:-translate-x-1{
    --tw-translate-x: -0.25rem;
  }

  :root .sm\:-translate-x-2{
    --tw-translate-x: -0.5rem;
  }

  :root .sm\:-translate-x-3{
    --tw-translate-x: -0.75rem;
  }

  :root .sm\:-translate-x-4{
    --tw-translate-x: -1rem;
  }

  :root .sm\:-translate-x-5{
    --tw-translate-x: -1.25rem;
  }

  :root .sm\:-translate-x-6{
    --tw-translate-x: -1.5rem;
  }

  :root .sm\:-translate-x-8{
    --tw-translate-x: -2rem;
  }

  :root .sm\:-translate-x-9{
    --tw-translate-x: -2.25rem;
  }

  :root .sm\:-translate-x-10{
    --tw-translate-x: -2.5rem;
  }

  :root .sm\:-translate-x-12{
    --tw-translate-x: -3rem;
  }

  :root .sm\:-translate-x-14{
    --tw-translate-x: -3.5rem;
  }

  :root .sm\:-translate-x-16{
    --tw-translate-x: -4rem;
  }

  :root .sm\:-translate-x-20{
    --tw-translate-x: -5rem;
  }

  :root .sm\:-translate-x-24{
    --tw-translate-x: -6rem;
  }

  :root .sm\:-translate-x-32{
    --tw-translate-x: -8rem;
  }

  :root .sm\:-translate-x-40{
    --tw-translate-x: -10rem;
  }

  :root .sm\:-translate-x-48{
    --tw-translate-x: -12rem;
  }

  :root .sm\:-translate-x-56{
    --tw-translate-x: -14rem;
  }

  :root .sm\:-translate-x-64{
    --tw-translate-x: -16rem;
  }

  :root .sm\:-translate-x-px{
    --tw-translate-x: -1px;
  }

  :root .sm\:-translate-x-gutter{
    --tw-translate-x: calc(var(--padding-gutter) * -1);
  }

  :root .sm\:translate-x-1\/2{
    --tw-translate-x: 50%;
  }

  :root .sm\:translate-x-1\/3{
    --tw-translate-x: 33.333333%;
  }

  :root .sm\:translate-x-2\/3{
    --tw-translate-x: 66.666667%;
  }

  :root .sm\:translate-x-1\/4{
    --tw-translate-x: 25%;
  }

  :root .sm\:translate-x-2\/4{
    --tw-translate-x: 50%;
  }

  :root .sm\:translate-x-3\/4{
    --tw-translate-x: 75%;
  }

  :root .sm\:translate-x-full{
    --tw-translate-x: 100%;
  }

  :root .sm\:-translate-x-1\/2{
    --tw-translate-x: -50%;
  }

  :root .sm\:-translate-x-1\/3{
    --tw-translate-x: -33.333333%;
  }

  :root .sm\:-translate-x-2\/3{
    --tw-translate-x: -66.666667%;
  }

  :root .sm\:-translate-x-1\/4{
    --tw-translate-x: -25%;
  }

  :root .sm\:-translate-x-2\/4{
    --tw-translate-x: -50%;
  }

  :root .sm\:-translate-x-3\/4{
    --tw-translate-x: -75%;
  }

  :root .sm\:-translate-x-full{
    --tw-translate-x: -100%;
  }

  :root .sm\:translate-y-0{
    --tw-translate-y: 0;
  }

  :root .sm\:translate-y-1{
    --tw-translate-y: 0.25rem;
  }

  :root .sm\:translate-y-2{
    --tw-translate-y: 0.5rem;
  }

  :root .sm\:translate-y-3{
    --tw-translate-y: 0.75rem;
  }

  :root .sm\:translate-y-4{
    --tw-translate-y: 1rem;
  }

  :root .sm\:translate-y-5{
    --tw-translate-y: 1.25rem;
  }

  :root .sm\:translate-y-6{
    --tw-translate-y: 1.5rem;
  }

  :root .sm\:translate-y-8{
    --tw-translate-y: 2rem;
  }

  :root .sm\:translate-y-9{
    --tw-translate-y: 2.25rem;
  }

  :root .sm\:translate-y-10{
    --tw-translate-y: 2.5rem;
  }

  :root .sm\:translate-y-12{
    --tw-translate-y: 3rem;
  }

  :root .sm\:translate-y-14{
    --tw-translate-y: 3.5rem;
  }

  :root .sm\:translate-y-16{
    --tw-translate-y: 4rem;
  }

  :root .sm\:translate-y-20{
    --tw-translate-y: 5rem;
  }

  :root .sm\:translate-y-24{
    --tw-translate-y: 6rem;
  }

  :root .sm\:translate-y-32{
    --tw-translate-y: 8rem;
  }

  :root .sm\:translate-y-40{
    --tw-translate-y: 10rem;
  }

  :root .sm\:translate-y-48{
    --tw-translate-y: 12rem;
  }

  :root .sm\:translate-y-56{
    --tw-translate-y: 14rem;
  }

  :root .sm\:translate-y-64{
    --tw-translate-y: 16rem;
  }

  :root .sm\:translate-y-px{
    --tw-translate-y: 1px;
  }

  :root .sm\:translate-y-gutter{
    --tw-translate-y: var(--padding-gutter);
  }

  :root .sm\:-translate-y-1{
    --tw-translate-y: -0.25rem;
  }

  :root .sm\:-translate-y-2{
    --tw-translate-y: -0.5rem;
  }

  :root .sm\:-translate-y-3{
    --tw-translate-y: -0.75rem;
  }

  :root .sm\:-translate-y-4{
    --tw-translate-y: -1rem;
  }

  :root .sm\:-translate-y-5{
    --tw-translate-y: -1.25rem;
  }

  :root .sm\:-translate-y-6{
    --tw-translate-y: -1.5rem;
  }

  :root .sm\:-translate-y-8{
    --tw-translate-y: -2rem;
  }

  :root .sm\:-translate-y-9{
    --tw-translate-y: -2.25rem;
  }

  :root .sm\:-translate-y-10{
    --tw-translate-y: -2.5rem;
  }

  :root .sm\:-translate-y-12{
    --tw-translate-y: -3rem;
  }

  :root .sm\:-translate-y-14{
    --tw-translate-y: -3.5rem;
  }

  :root .sm\:-translate-y-16{
    --tw-translate-y: -4rem;
  }

  :root .sm\:-translate-y-20{
    --tw-translate-y: -5rem;
  }

  :root .sm\:-translate-y-24{
    --tw-translate-y: -6rem;
  }

  :root .sm\:-translate-y-32{
    --tw-translate-y: -8rem;
  }

  :root .sm\:-translate-y-40{
    --tw-translate-y: -10rem;
  }

  :root .sm\:-translate-y-48{
    --tw-translate-y: -12rem;
  }

  :root .sm\:-translate-y-56{
    --tw-translate-y: -14rem;
  }

  :root .sm\:-translate-y-64{
    --tw-translate-y: -16rem;
  }

  :root .sm\:-translate-y-px{
    --tw-translate-y: -1px;
  }

  :root .sm\:-translate-y-gutter{
    --tw-translate-y: calc(var(--padding-gutter) * -1);
  }

  :root .sm\:translate-y-1\/2{
    --tw-translate-y: 50%;
  }

  :root .sm\:translate-y-1\/3{
    --tw-translate-y: 33.333333%;
  }

  :root .sm\:translate-y-2\/3{
    --tw-translate-y: 66.666667%;
  }

  :root .sm\:translate-y-1\/4{
    --tw-translate-y: 25%;
  }

  :root .sm\:translate-y-2\/4{
    --tw-translate-y: 50%;
  }

  :root .sm\:translate-y-3\/4{
    --tw-translate-y: 75%;
  }

  :root .sm\:translate-y-full{
    --tw-translate-y: 100%;
  }

  :root .sm\:-translate-y-1\/2{
    --tw-translate-y: -50%;
  }

  :root .sm\:-translate-y-1\/3{
    --tw-translate-y: -33.333333%;
  }

  :root .sm\:-translate-y-2\/3{
    --tw-translate-y: -66.666667%;
  }

  :root .sm\:-translate-y-1\/4{
    --tw-translate-y: -25%;
  }

  :root .sm\:-translate-y-2\/4{
    --tw-translate-y: -50%;
  }

  :root .sm\:-translate-y-3\/4{
    --tw-translate-y: -75%;
  }

  :root .sm\:-translate-y-full{
    --tw-translate-y: -100%;
  }

  :root .sm\:hover\:translate-x-0:hover{
    --tw-translate-x: 0;
  }

  :root .sm\:hover\:translate-x-1:hover{
    --tw-translate-x: 0.25rem;
  }

  :root .sm\:hover\:translate-x-2:hover{
    --tw-translate-x: 0.5rem;
  }

  :root .sm\:hover\:translate-x-3:hover{
    --tw-translate-x: 0.75rem;
  }

  :root .sm\:hover\:translate-x-4:hover{
    --tw-translate-x: 1rem;
  }

  :root .sm\:hover\:translate-x-5:hover{
    --tw-translate-x: 1.25rem;
  }

  :root .sm\:hover\:translate-x-6:hover{
    --tw-translate-x: 1.5rem;
  }

  :root .sm\:hover\:translate-x-8:hover{
    --tw-translate-x: 2rem;
  }

  :root .sm\:hover\:translate-x-9:hover{
    --tw-translate-x: 2.25rem;
  }

  :root .sm\:hover\:translate-x-10:hover{
    --tw-translate-x: 2.5rem;
  }

  :root .sm\:hover\:translate-x-12:hover{
    --tw-translate-x: 3rem;
  }

  :root .sm\:hover\:translate-x-14:hover{
    --tw-translate-x: 3.5rem;
  }

  :root .sm\:hover\:translate-x-16:hover{
    --tw-translate-x: 4rem;
  }

  :root .sm\:hover\:translate-x-20:hover{
    --tw-translate-x: 5rem;
  }

  :root .sm\:hover\:translate-x-24:hover{
    --tw-translate-x: 6rem;
  }

  :root .sm\:hover\:translate-x-32:hover{
    --tw-translate-x: 8rem;
  }

  :root .sm\:hover\:translate-x-40:hover{
    --tw-translate-x: 10rem;
  }

  :root .sm\:hover\:translate-x-48:hover{
    --tw-translate-x: 12rem;
  }

  :root .sm\:hover\:translate-x-56:hover{
    --tw-translate-x: 14rem;
  }

  :root .sm\:hover\:translate-x-64:hover{
    --tw-translate-x: 16rem;
  }

  :root .sm\:hover\:translate-x-px:hover{
    --tw-translate-x: 1px;
  }

  :root .sm\:hover\:translate-x-gutter:hover{
    --tw-translate-x: var(--padding-gutter);
  }

  :root .sm\:hover\:-translate-x-1:hover{
    --tw-translate-x: -0.25rem;
  }

  :root .sm\:hover\:-translate-x-2:hover{
    --tw-translate-x: -0.5rem;
  }

  :root .sm\:hover\:-translate-x-3:hover{
    --tw-translate-x: -0.75rem;
  }

  :root .sm\:hover\:-translate-x-4:hover{
    --tw-translate-x: -1rem;
  }

  :root .sm\:hover\:-translate-x-5:hover{
    --tw-translate-x: -1.25rem;
  }

  :root .sm\:hover\:-translate-x-6:hover{
    --tw-translate-x: -1.5rem;
  }

  :root .sm\:hover\:-translate-x-8:hover{
    --tw-translate-x: -2rem;
  }

  :root .sm\:hover\:-translate-x-9:hover{
    --tw-translate-x: -2.25rem;
  }

  :root .sm\:hover\:-translate-x-10:hover{
    --tw-translate-x: -2.5rem;
  }

  :root .sm\:hover\:-translate-x-12:hover{
    --tw-translate-x: -3rem;
  }

  :root .sm\:hover\:-translate-x-14:hover{
    --tw-translate-x: -3.5rem;
  }

  :root .sm\:hover\:-translate-x-16:hover{
    --tw-translate-x: -4rem;
  }

  :root .sm\:hover\:-translate-x-20:hover{
    --tw-translate-x: -5rem;
  }

  :root .sm\:hover\:-translate-x-24:hover{
    --tw-translate-x: -6rem;
  }

  :root .sm\:hover\:-translate-x-32:hover{
    --tw-translate-x: -8rem;
  }

  :root .sm\:hover\:-translate-x-40:hover{
    --tw-translate-x: -10rem;
  }

  :root .sm\:hover\:-translate-x-48:hover{
    --tw-translate-x: -12rem;
  }

  :root .sm\:hover\:-translate-x-56:hover{
    --tw-translate-x: -14rem;
  }

  :root .sm\:hover\:-translate-x-64:hover{
    --tw-translate-x: -16rem;
  }

  :root .sm\:hover\:-translate-x-px:hover{
    --tw-translate-x: -1px;
  }

  :root .sm\:hover\:-translate-x-gutter:hover{
    --tw-translate-x: calc(var(--padding-gutter) * -1);
  }

  :root .sm\:hover\:translate-x-1\/2:hover{
    --tw-translate-x: 50%;
  }

  :root .sm\:hover\:translate-x-1\/3:hover{
    --tw-translate-x: 33.333333%;
  }

  :root .sm\:hover\:translate-x-2\/3:hover{
    --tw-translate-x: 66.666667%;
  }

  :root .sm\:hover\:translate-x-1\/4:hover{
    --tw-translate-x: 25%;
  }

  :root .sm\:hover\:translate-x-2\/4:hover{
    --tw-translate-x: 50%;
  }

  :root .sm\:hover\:translate-x-3\/4:hover{
    --tw-translate-x: 75%;
  }

  :root .sm\:hover\:translate-x-full:hover{
    --tw-translate-x: 100%;
  }

  :root .sm\:hover\:-translate-x-1\/2:hover{
    --tw-translate-x: -50%;
  }

  :root .sm\:hover\:-translate-x-1\/3:hover{
    --tw-translate-x: -33.333333%;
  }

  :root .sm\:hover\:-translate-x-2\/3:hover{
    --tw-translate-x: -66.666667%;
  }

  :root .sm\:hover\:-translate-x-1\/4:hover{
    --tw-translate-x: -25%;
  }

  :root .sm\:hover\:-translate-x-2\/4:hover{
    --tw-translate-x: -50%;
  }

  :root .sm\:hover\:-translate-x-3\/4:hover{
    --tw-translate-x: -75%;
  }

  :root .sm\:hover\:-translate-x-full:hover{
    --tw-translate-x: -100%;
  }

  :root .sm\:hover\:translate-y-0:hover{
    --tw-translate-y: 0;
  }

  :root .sm\:hover\:translate-y-1:hover{
    --tw-translate-y: 0.25rem;
  }

  :root .sm\:hover\:translate-y-2:hover{
    --tw-translate-y: 0.5rem;
  }

  :root .sm\:hover\:translate-y-3:hover{
    --tw-translate-y: 0.75rem;
  }

  :root .sm\:hover\:translate-y-4:hover{
    --tw-translate-y: 1rem;
  }

  :root .sm\:hover\:translate-y-5:hover{
    --tw-translate-y: 1.25rem;
  }

  :root .sm\:hover\:translate-y-6:hover{
    --tw-translate-y: 1.5rem;
  }

  :root .sm\:hover\:translate-y-8:hover{
    --tw-translate-y: 2rem;
  }

  :root .sm\:hover\:translate-y-9:hover{
    --tw-translate-y: 2.25rem;
  }

  :root .sm\:hover\:translate-y-10:hover{
    --tw-translate-y: 2.5rem;
  }

  :root .sm\:hover\:translate-y-12:hover{
    --tw-translate-y: 3rem;
  }

  :root .sm\:hover\:translate-y-14:hover{
    --tw-translate-y: 3.5rem;
  }

  :root .sm\:hover\:translate-y-16:hover{
    --tw-translate-y: 4rem;
  }

  :root .sm\:hover\:translate-y-20:hover{
    --tw-translate-y: 5rem;
  }

  :root .sm\:hover\:translate-y-24:hover{
    --tw-translate-y: 6rem;
  }

  :root .sm\:hover\:translate-y-32:hover{
    --tw-translate-y: 8rem;
  }

  :root .sm\:hover\:translate-y-40:hover{
    --tw-translate-y: 10rem;
  }

  :root .sm\:hover\:translate-y-48:hover{
    --tw-translate-y: 12rem;
  }

  :root .sm\:hover\:translate-y-56:hover{
    --tw-translate-y: 14rem;
  }

  :root .sm\:hover\:translate-y-64:hover{
    --tw-translate-y: 16rem;
  }

  :root .sm\:hover\:translate-y-px:hover{
    --tw-translate-y: 1px;
  }

  :root .sm\:hover\:translate-y-gutter:hover{
    --tw-translate-y: var(--padding-gutter);
  }

  :root .sm\:hover\:-translate-y-1:hover{
    --tw-translate-y: -0.25rem;
  }

  :root .sm\:hover\:-translate-y-2:hover{
    --tw-translate-y: -0.5rem;
  }

  :root .sm\:hover\:-translate-y-3:hover{
    --tw-translate-y: -0.75rem;
  }

  :root .sm\:hover\:-translate-y-4:hover{
    --tw-translate-y: -1rem;
  }

  :root .sm\:hover\:-translate-y-5:hover{
    --tw-translate-y: -1.25rem;
  }

  :root .sm\:hover\:-translate-y-6:hover{
    --tw-translate-y: -1.5rem;
  }

  :root .sm\:hover\:-translate-y-8:hover{
    --tw-translate-y: -2rem;
  }

  :root .sm\:hover\:-translate-y-9:hover{
    --tw-translate-y: -2.25rem;
  }

  :root .sm\:hover\:-translate-y-10:hover{
    --tw-translate-y: -2.5rem;
  }

  :root .sm\:hover\:-translate-y-12:hover{
    --tw-translate-y: -3rem;
  }

  :root .sm\:hover\:-translate-y-14:hover{
    --tw-translate-y: -3.5rem;
  }

  :root .sm\:hover\:-translate-y-16:hover{
    --tw-translate-y: -4rem;
  }

  :root .sm\:hover\:-translate-y-20:hover{
    --tw-translate-y: -5rem;
  }

  :root .sm\:hover\:-translate-y-24:hover{
    --tw-translate-y: -6rem;
  }

  :root .sm\:hover\:-translate-y-32:hover{
    --tw-translate-y: -8rem;
  }

  :root .sm\:hover\:-translate-y-40:hover{
    --tw-translate-y: -10rem;
  }

  :root .sm\:hover\:-translate-y-48:hover{
    --tw-translate-y: -12rem;
  }

  :root .sm\:hover\:-translate-y-56:hover{
    --tw-translate-y: -14rem;
  }

  :root .sm\:hover\:-translate-y-64:hover{
    --tw-translate-y: -16rem;
  }

  :root .sm\:hover\:-translate-y-px:hover{
    --tw-translate-y: -1px;
  }

  :root .sm\:hover\:-translate-y-gutter:hover{
    --tw-translate-y: calc(var(--padding-gutter) * -1);
  }

  :root .sm\:hover\:translate-y-1\/2:hover{
    --tw-translate-y: 50%;
  }

  :root .sm\:hover\:translate-y-1\/3:hover{
    --tw-translate-y: 33.333333%;
  }

  :root .sm\:hover\:translate-y-2\/3:hover{
    --tw-translate-y: 66.666667%;
  }

  :root .sm\:hover\:translate-y-1\/4:hover{
    --tw-translate-y: 25%;
  }

  :root .sm\:hover\:translate-y-2\/4:hover{
    --tw-translate-y: 50%;
  }

  :root .sm\:hover\:translate-y-3\/4:hover{
    --tw-translate-y: 75%;
  }

  :root .sm\:hover\:translate-y-full:hover{
    --tw-translate-y: 100%;
  }

  :root .sm\:hover\:-translate-y-1\/2:hover{
    --tw-translate-y: -50%;
  }

  :root .sm\:hover\:-translate-y-1\/3:hover{
    --tw-translate-y: -33.333333%;
  }

  :root .sm\:hover\:-translate-y-2\/3:hover{
    --tw-translate-y: -66.666667%;
  }

  :root .sm\:hover\:-translate-y-1\/4:hover{
    --tw-translate-y: -25%;
  }

  :root .sm\:hover\:-translate-y-2\/4:hover{
    --tw-translate-y: -50%;
  }

  :root .sm\:hover\:-translate-y-3\/4:hover{
    --tw-translate-y: -75%;
  }

  :root .sm\:hover\:-translate-y-full:hover{
    --tw-translate-y: -100%;
  }

  :root .sm\:focus\:translate-x-0:focus{
    --tw-translate-x: 0;
  }

  :root .sm\:focus\:translate-x-1:focus{
    --tw-translate-x: 0.25rem;
  }

  :root .sm\:focus\:translate-x-2:focus{
    --tw-translate-x: 0.5rem;
  }

  :root .sm\:focus\:translate-x-3:focus{
    --tw-translate-x: 0.75rem;
  }

  :root .sm\:focus\:translate-x-4:focus{
    --tw-translate-x: 1rem;
  }

  :root .sm\:focus\:translate-x-5:focus{
    --tw-translate-x: 1.25rem;
  }

  :root .sm\:focus\:translate-x-6:focus{
    --tw-translate-x: 1.5rem;
  }

  :root .sm\:focus\:translate-x-8:focus{
    --tw-translate-x: 2rem;
  }

  :root .sm\:focus\:translate-x-9:focus{
    --tw-translate-x: 2.25rem;
  }

  :root .sm\:focus\:translate-x-10:focus{
    --tw-translate-x: 2.5rem;
  }

  :root .sm\:focus\:translate-x-12:focus{
    --tw-translate-x: 3rem;
  }

  :root .sm\:focus\:translate-x-14:focus{
    --tw-translate-x: 3.5rem;
  }

  :root .sm\:focus\:translate-x-16:focus{
    --tw-translate-x: 4rem;
  }

  :root .sm\:focus\:translate-x-20:focus{
    --tw-translate-x: 5rem;
  }

  :root .sm\:focus\:translate-x-24:focus{
    --tw-translate-x: 6rem;
  }

  :root .sm\:focus\:translate-x-32:focus{
    --tw-translate-x: 8rem;
  }

  :root .sm\:focus\:translate-x-40:focus{
    --tw-translate-x: 10rem;
  }

  :root .sm\:focus\:translate-x-48:focus{
    --tw-translate-x: 12rem;
  }

  :root .sm\:focus\:translate-x-56:focus{
    --tw-translate-x: 14rem;
  }

  :root .sm\:focus\:translate-x-64:focus{
    --tw-translate-x: 16rem;
  }

  :root .sm\:focus\:translate-x-px:focus{
    --tw-translate-x: 1px;
  }

  :root .sm\:focus\:translate-x-gutter:focus{
    --tw-translate-x: var(--padding-gutter);
  }

  :root .sm\:focus\:-translate-x-1:focus{
    --tw-translate-x: -0.25rem;
  }

  :root .sm\:focus\:-translate-x-2:focus{
    --tw-translate-x: -0.5rem;
  }

  :root .sm\:focus\:-translate-x-3:focus{
    --tw-translate-x: -0.75rem;
  }

  :root .sm\:focus\:-translate-x-4:focus{
    --tw-translate-x: -1rem;
  }

  :root .sm\:focus\:-translate-x-5:focus{
    --tw-translate-x: -1.25rem;
  }

  :root .sm\:focus\:-translate-x-6:focus{
    --tw-translate-x: -1.5rem;
  }

  :root .sm\:focus\:-translate-x-8:focus{
    --tw-translate-x: -2rem;
  }

  :root .sm\:focus\:-translate-x-9:focus{
    --tw-translate-x: -2.25rem;
  }

  :root .sm\:focus\:-translate-x-10:focus{
    --tw-translate-x: -2.5rem;
  }

  :root .sm\:focus\:-translate-x-12:focus{
    --tw-translate-x: -3rem;
  }

  :root .sm\:focus\:-translate-x-14:focus{
    --tw-translate-x: -3.5rem;
  }

  :root .sm\:focus\:-translate-x-16:focus{
    --tw-translate-x: -4rem;
  }

  :root .sm\:focus\:-translate-x-20:focus{
    --tw-translate-x: -5rem;
  }

  :root .sm\:focus\:-translate-x-24:focus{
    --tw-translate-x: -6rem;
  }

  :root .sm\:focus\:-translate-x-32:focus{
    --tw-translate-x: -8rem;
  }

  :root .sm\:focus\:-translate-x-40:focus{
    --tw-translate-x: -10rem;
  }

  :root .sm\:focus\:-translate-x-48:focus{
    --tw-translate-x: -12rem;
  }

  :root .sm\:focus\:-translate-x-56:focus{
    --tw-translate-x: -14rem;
  }

  :root .sm\:focus\:-translate-x-64:focus{
    --tw-translate-x: -16rem;
  }

  :root .sm\:focus\:-translate-x-px:focus{
    --tw-translate-x: -1px;
  }

  :root .sm\:focus\:-translate-x-gutter:focus{
    --tw-translate-x: calc(var(--padding-gutter) * -1);
  }

  :root .sm\:focus\:translate-x-1\/2:focus{
    --tw-translate-x: 50%;
  }

  :root .sm\:focus\:translate-x-1\/3:focus{
    --tw-translate-x: 33.333333%;
  }

  :root .sm\:focus\:translate-x-2\/3:focus{
    --tw-translate-x: 66.666667%;
  }

  :root .sm\:focus\:translate-x-1\/4:focus{
    --tw-translate-x: 25%;
  }

  :root .sm\:focus\:translate-x-2\/4:focus{
    --tw-translate-x: 50%;
  }

  :root .sm\:focus\:translate-x-3\/4:focus{
    --tw-translate-x: 75%;
  }

  :root .sm\:focus\:translate-x-full:focus{
    --tw-translate-x: 100%;
  }

  :root .sm\:focus\:-translate-x-1\/2:focus{
    --tw-translate-x: -50%;
  }

  :root .sm\:focus\:-translate-x-1\/3:focus{
    --tw-translate-x: -33.333333%;
  }

  :root .sm\:focus\:-translate-x-2\/3:focus{
    --tw-translate-x: -66.666667%;
  }

  :root .sm\:focus\:-translate-x-1\/4:focus{
    --tw-translate-x: -25%;
  }

  :root .sm\:focus\:-translate-x-2\/4:focus{
    --tw-translate-x: -50%;
  }

  :root .sm\:focus\:-translate-x-3\/4:focus{
    --tw-translate-x: -75%;
  }

  :root .sm\:focus\:-translate-x-full:focus{
    --tw-translate-x: -100%;
  }

  :root .sm\:focus\:translate-y-0:focus{
    --tw-translate-y: 0;
  }

  :root .sm\:focus\:translate-y-1:focus{
    --tw-translate-y: 0.25rem;
  }

  :root .sm\:focus\:translate-y-2:focus{
    --tw-translate-y: 0.5rem;
  }

  :root .sm\:focus\:translate-y-3:focus{
    --tw-translate-y: 0.75rem;
  }

  :root .sm\:focus\:translate-y-4:focus{
    --tw-translate-y: 1rem;
  }

  :root .sm\:focus\:translate-y-5:focus{
    --tw-translate-y: 1.25rem;
  }

  :root .sm\:focus\:translate-y-6:focus{
    --tw-translate-y: 1.5rem;
  }

  :root .sm\:focus\:translate-y-8:focus{
    --tw-translate-y: 2rem;
  }

  :root .sm\:focus\:translate-y-9:focus{
    --tw-translate-y: 2.25rem;
  }

  :root .sm\:focus\:translate-y-10:focus{
    --tw-translate-y: 2.5rem;
  }

  :root .sm\:focus\:translate-y-12:focus{
    --tw-translate-y: 3rem;
  }

  :root .sm\:focus\:translate-y-14:focus{
    --tw-translate-y: 3.5rem;
  }

  :root .sm\:focus\:translate-y-16:focus{
    --tw-translate-y: 4rem;
  }

  :root .sm\:focus\:translate-y-20:focus{
    --tw-translate-y: 5rem;
  }

  :root .sm\:focus\:translate-y-24:focus{
    --tw-translate-y: 6rem;
  }

  :root .sm\:focus\:translate-y-32:focus{
    --tw-translate-y: 8rem;
  }

  :root .sm\:focus\:translate-y-40:focus{
    --tw-translate-y: 10rem;
  }

  :root .sm\:focus\:translate-y-48:focus{
    --tw-translate-y: 12rem;
  }

  :root .sm\:focus\:translate-y-56:focus{
    --tw-translate-y: 14rem;
  }

  :root .sm\:focus\:translate-y-64:focus{
    --tw-translate-y: 16rem;
  }

  :root .sm\:focus\:translate-y-px:focus{
    --tw-translate-y: 1px;
  }

  :root .sm\:focus\:translate-y-gutter:focus{
    --tw-translate-y: var(--padding-gutter);
  }

  :root .sm\:focus\:-translate-y-1:focus{
    --tw-translate-y: -0.25rem;
  }

  :root .sm\:focus\:-translate-y-2:focus{
    --tw-translate-y: -0.5rem;
  }

  :root .sm\:focus\:-translate-y-3:focus{
    --tw-translate-y: -0.75rem;
  }

  :root .sm\:focus\:-translate-y-4:focus{
    --tw-translate-y: -1rem;
  }

  :root .sm\:focus\:-translate-y-5:focus{
    --tw-translate-y: -1.25rem;
  }

  :root .sm\:focus\:-translate-y-6:focus{
    --tw-translate-y: -1.5rem;
  }

  :root .sm\:focus\:-translate-y-8:focus{
    --tw-translate-y: -2rem;
  }

  :root .sm\:focus\:-translate-y-9:focus{
    --tw-translate-y: -2.25rem;
  }

  :root .sm\:focus\:-translate-y-10:focus{
    --tw-translate-y: -2.5rem;
  }

  :root .sm\:focus\:-translate-y-12:focus{
    --tw-translate-y: -3rem;
  }

  :root .sm\:focus\:-translate-y-14:focus{
    --tw-translate-y: -3.5rem;
  }

  :root .sm\:focus\:-translate-y-16:focus{
    --tw-translate-y: -4rem;
  }

  :root .sm\:focus\:-translate-y-20:focus{
    --tw-translate-y: -5rem;
  }

  :root .sm\:focus\:-translate-y-24:focus{
    --tw-translate-y: -6rem;
  }

  :root .sm\:focus\:-translate-y-32:focus{
    --tw-translate-y: -8rem;
  }

  :root .sm\:focus\:-translate-y-40:focus{
    --tw-translate-y: -10rem;
  }

  :root .sm\:focus\:-translate-y-48:focus{
    --tw-translate-y: -12rem;
  }

  :root .sm\:focus\:-translate-y-56:focus{
    --tw-translate-y: -14rem;
  }

  :root .sm\:focus\:-translate-y-64:focus{
    --tw-translate-y: -16rem;
  }

  :root .sm\:focus\:-translate-y-px:focus{
    --tw-translate-y: -1px;
  }

  :root .sm\:focus\:-translate-y-gutter:focus{
    --tw-translate-y: calc(var(--padding-gutter) * -1);
  }

  :root .sm\:focus\:translate-y-1\/2:focus{
    --tw-translate-y: 50%;
  }

  :root .sm\:focus\:translate-y-1\/3:focus{
    --tw-translate-y: 33.333333%;
  }

  :root .sm\:focus\:translate-y-2\/3:focus{
    --tw-translate-y: 66.666667%;
  }

  :root .sm\:focus\:translate-y-1\/4:focus{
    --tw-translate-y: 25%;
  }

  :root .sm\:focus\:translate-y-2\/4:focus{
    --tw-translate-y: 50%;
  }

  :root .sm\:focus\:translate-y-3\/4:focus{
    --tw-translate-y: 75%;
  }

  :root .sm\:focus\:translate-y-full:focus{
    --tw-translate-y: 100%;
  }

  :root .sm\:focus\:-translate-y-1\/2:focus{
    --tw-translate-y: -50%;
  }

  :root .sm\:focus\:-translate-y-1\/3:focus{
    --tw-translate-y: -33.333333%;
  }

  :root .sm\:focus\:-translate-y-2\/3:focus{
    --tw-translate-y: -66.666667%;
  }

  :root .sm\:focus\:-translate-y-1\/4:focus{
    --tw-translate-y: -25%;
  }

  :root .sm\:focus\:-translate-y-2\/4:focus{
    --tw-translate-y: -50%;
  }

  :root .sm\:focus\:-translate-y-3\/4:focus{
    --tw-translate-y: -75%;
  }

  :root .sm\:focus\:-translate-y-full:focus{
    --tw-translate-y: -100%;
  }

  :root .sm\:skew-x-0{
    --tw-skew-x: 0deg;
  }

  :root .sm\:skew-x-1{
    --tw-skew-x: 1deg;
  }

  :root .sm\:skew-x-2{
    --tw-skew-x: 2deg;
  }

  :root .sm\:skew-x-3{
    --tw-skew-x: 3deg;
  }

  :root .sm\:skew-x-6{
    --tw-skew-x: 6deg;
  }

  :root .sm\:skew-x-12{
    --tw-skew-x: 12deg;
  }

  :root .sm\:-skew-x-12{
    --tw-skew-x: -12deg;
  }

  :root .sm\:-skew-x-6{
    --tw-skew-x: -6deg;
  }

  :root .sm\:-skew-x-3{
    --tw-skew-x: -3deg;
  }

  :root .sm\:-skew-x-2{
    --tw-skew-x: -2deg;
  }

  :root .sm\:-skew-x-1{
    --tw-skew-x: -1deg;
  }

  :root .sm\:skew-y-0{
    --tw-skew-y: 0deg;
  }

  :root .sm\:skew-y-1{
    --tw-skew-y: 1deg;
  }

  :root .sm\:skew-y-2{
    --tw-skew-y: 2deg;
  }

  :root .sm\:skew-y-3{
    --tw-skew-y: 3deg;
  }

  :root .sm\:skew-y-6{
    --tw-skew-y: 6deg;
  }

  :root .sm\:skew-y-12{
    --tw-skew-y: 12deg;
  }

  :root .sm\:-skew-y-12{
    --tw-skew-y: -12deg;
  }

  :root .sm\:-skew-y-6{
    --tw-skew-y: -6deg;
  }

  :root .sm\:-skew-y-3{
    --tw-skew-y: -3deg;
  }

  :root .sm\:-skew-y-2{
    --tw-skew-y: -2deg;
  }

  :root .sm\:-skew-y-1{
    --tw-skew-y: -1deg;
  }

  :root .sm\:hover\:skew-x-0:hover{
    --tw-skew-x: 0deg;
  }

  :root .sm\:hover\:skew-x-1:hover{
    --tw-skew-x: 1deg;
  }

  :root .sm\:hover\:skew-x-2:hover{
    --tw-skew-x: 2deg;
  }

  :root .sm\:hover\:skew-x-3:hover{
    --tw-skew-x: 3deg;
  }

  :root .sm\:hover\:skew-x-6:hover{
    --tw-skew-x: 6deg;
  }

  :root .sm\:hover\:skew-x-12:hover{
    --tw-skew-x: 12deg;
  }

  :root .sm\:hover\:-skew-x-12:hover{
    --tw-skew-x: -12deg;
  }

  :root .sm\:hover\:-skew-x-6:hover{
    --tw-skew-x: -6deg;
  }

  :root .sm\:hover\:-skew-x-3:hover{
    --tw-skew-x: -3deg;
  }

  :root .sm\:hover\:-skew-x-2:hover{
    --tw-skew-x: -2deg;
  }

  :root .sm\:hover\:-skew-x-1:hover{
    --tw-skew-x: -1deg;
  }

  :root .sm\:hover\:skew-y-0:hover{
    --tw-skew-y: 0deg;
  }

  :root .sm\:hover\:skew-y-1:hover{
    --tw-skew-y: 1deg;
  }

  :root .sm\:hover\:skew-y-2:hover{
    --tw-skew-y: 2deg;
  }

  :root .sm\:hover\:skew-y-3:hover{
    --tw-skew-y: 3deg;
  }

  :root .sm\:hover\:skew-y-6:hover{
    --tw-skew-y: 6deg;
  }

  :root .sm\:hover\:skew-y-12:hover{
    --tw-skew-y: 12deg;
  }

  :root .sm\:hover\:-skew-y-12:hover{
    --tw-skew-y: -12deg;
  }

  :root .sm\:hover\:-skew-y-6:hover{
    --tw-skew-y: -6deg;
  }

  :root .sm\:hover\:-skew-y-3:hover{
    --tw-skew-y: -3deg;
  }

  :root .sm\:hover\:-skew-y-2:hover{
    --tw-skew-y: -2deg;
  }

  :root .sm\:hover\:-skew-y-1:hover{
    --tw-skew-y: -1deg;
  }

  :root .sm\:focus\:skew-x-0:focus{
    --tw-skew-x: 0deg;
  }

  :root .sm\:focus\:skew-x-1:focus{
    --tw-skew-x: 1deg;
  }

  :root .sm\:focus\:skew-x-2:focus{
    --tw-skew-x: 2deg;
  }

  :root .sm\:focus\:skew-x-3:focus{
    --tw-skew-x: 3deg;
  }

  :root .sm\:focus\:skew-x-6:focus{
    --tw-skew-x: 6deg;
  }

  :root .sm\:focus\:skew-x-12:focus{
    --tw-skew-x: 12deg;
  }

  :root .sm\:focus\:-skew-x-12:focus{
    --tw-skew-x: -12deg;
  }

  :root .sm\:focus\:-skew-x-6:focus{
    --tw-skew-x: -6deg;
  }

  :root .sm\:focus\:-skew-x-3:focus{
    --tw-skew-x: -3deg;
  }

  :root .sm\:focus\:-skew-x-2:focus{
    --tw-skew-x: -2deg;
  }

  :root .sm\:focus\:-skew-x-1:focus{
    --tw-skew-x: -1deg;
  }

  :root .sm\:focus\:skew-y-0:focus{
    --tw-skew-y: 0deg;
  }

  :root .sm\:focus\:skew-y-1:focus{
    --tw-skew-y: 1deg;
  }

  :root .sm\:focus\:skew-y-2:focus{
    --tw-skew-y: 2deg;
  }

  :root .sm\:focus\:skew-y-3:focus{
    --tw-skew-y: 3deg;
  }

  :root .sm\:focus\:skew-y-6:focus{
    --tw-skew-y: 6deg;
  }

  :root .sm\:focus\:skew-y-12:focus{
    --tw-skew-y: 12deg;
  }

  :root .sm\:focus\:-skew-y-12:focus{
    --tw-skew-y: -12deg;
  }

  :root .sm\:focus\:-skew-y-6:focus{
    --tw-skew-y: -6deg;
  }

  :root .sm\:focus\:-skew-y-3:focus{
    --tw-skew-y: -3deg;
  }

  :root .sm\:focus\:-skew-y-2:focus{
    --tw-skew-y: -2deg;
  }

  :root .sm\:focus\:-skew-y-1:focus{
    --tw-skew-y: -1deg;
  }

  :root .sm\:transition-none{
    transition-property: none;
  }

  :root .sm\:transition-all{
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .sm\:transition{
    transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .sm\:transition-colors{
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .sm\:transition-opacity{
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .sm\:transition-shadow{
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .sm\:transition-transform{
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .sm\:ease-linear{
    transition-timing-function: linear;
  }

  :root .sm\:ease-in{
    transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  }

  :root .sm\:ease-out{
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }

  :root .sm\:ease-in-out{
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }

  :root .sm\:duration-75{
    transition-duration: 75ms;
  }

  :root .sm\:duration-100{
    transition-duration: 100ms;
  }

  :root .sm\:duration-150{
    transition-duration: 150ms;
  }

  :root .sm\:duration-200{
    transition-duration: 200ms;
  }

  :root .sm\:duration-300{
    transition-duration: 300ms;
  }

  :root .sm\:duration-500{
    transition-duration: 500ms;
  }

  :root .sm\:duration-700{
    transition-duration: 700ms;
  }

  :root .sm\:duration-1000{
    transition-duration: 1000ms;
  }

  :root .sm\:delay-75{
    transition-delay: 75ms;
  }

  :root .sm\:delay-100{
    transition-delay: 100ms;
  }

  :root .sm\:delay-150{
    transition-delay: 150ms;
  }

  :root .sm\:delay-200{
    transition-delay: 200ms;
  }

  :root .sm\:delay-300{
    transition-delay: 300ms;
  }

  :root .sm\:delay-500{
    transition-delay: 500ms;
  }

  :root .sm\:delay-700{
    transition-delay: 700ms;
  }

  :root .sm\:delay-1000{
    transition-delay: 1000ms;
  }

  :root .sm\:animate-none{
    -webkit-animation: none;
            animation: none;
  }

  :root .sm\:animate-spin{
    -webkit-animation: spin 1s linear infinite;
            animation: spin 1s linear infinite;
  }

  :root .sm\:animate-ping{
    -webkit-animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
            animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
  }

  :root .sm\:animate-pulse{
    -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
            animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  }

  :root .sm\:animate-bounce{
    -webkit-animation: bounce 1s infinite;
            animation: bounce 1s infinite;
  }
}

@media (min-width: 960px){
  :root .md\:space-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0px * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-0 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0px * var(--tw-space-x-reverse));
    margin-left: calc(0px * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1.25rem * var(--tw-space-x-reverse));
    margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1.5rem * var(--tw-space-x-reverse));
    margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2rem * var(--tw-space-x-reverse));
    margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.25rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2.25rem * var(--tw-space-x-reverse));
    margin-left: calc(2.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2.5rem * var(--tw-space-x-reverse));
    margin-left: calc(2.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(3rem * var(--tw-space-x-reverse));
    margin-left: calc(3rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3.5rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(3.5rem * var(--tw-space-x-reverse));
    margin-left: calc(3.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(4rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(4rem * var(--tw-space-x-reverse));
    margin-left: calc(4rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(5rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(5rem * var(--tw-space-x-reverse));
    margin-left: calc(5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(6rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(6rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(6rem * var(--tw-space-x-reverse));
    margin-left: calc(6rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(8rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(8rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(8rem * var(--tw-space-x-reverse));
    margin-left: calc(8rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(10rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(10rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(10rem * var(--tw-space-x-reverse));
    margin-left: calc(10rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(12rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(12rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(12rem * var(--tw-space-x-reverse));
    margin-left: calc(12rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(14rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(14rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(14rem * var(--tw-space-x-reverse));
    margin-left: calc(14rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(16rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(16rem * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(16rem * var(--tw-space-x-reverse));
    margin-left: calc(16rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1px * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1px * var(--tw-space-x-reverse));
    margin-left: calc(1px * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(var(--padding-gutter) * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(var(--padding-gutter) * var(--tw-space-y-reverse));
  }

  :root .md\:space-x-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(var(--padding-gutter) * var(--tw-space-x-reverse));
    margin-left: calc(var(--padding-gutter) * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-0.25rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-0.5rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-0.75rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1rem * var(--tw-space-x-reverse));
    margin-left: calc(-1rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1.25rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1.25rem * var(--tw-space-x-reverse));
    margin-left: calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1.5rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-2rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-2rem * var(--tw-space-x-reverse));
    margin-left: calc(-2rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-2.25rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-2.25rem * var(--tw-space-x-reverse));
    margin-left: calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-2.5rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-2.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-3rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-3rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-3rem * var(--tw-space-x-reverse));
    margin-left: calc(-3rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-3.5rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-3.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-4rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-4rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-4rem * var(--tw-space-x-reverse));
    margin-left: calc(-4rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-5rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-5rem * var(--tw-space-x-reverse));
    margin-left: calc(-5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-6rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-6rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-6rem * var(--tw-space-x-reverse));
    margin-left: calc(-6rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-8rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-8rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-8rem * var(--tw-space-x-reverse));
    margin-left: calc(-8rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-10rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-10rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-10rem * var(--tw-space-x-reverse));
    margin-left: calc(-10rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-12rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-12rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-12rem * var(--tw-space-x-reverse));
    margin-left: calc(-12rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-14rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-14rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-14rem * var(--tw-space-x-reverse));
    margin-left: calc(-14rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-16rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-16rem * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-16rem * var(--tw-space-x-reverse));
    margin-left: calc(-16rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1px * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1px * var(--tw-space-x-reverse));
    margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:-space-y-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(calc(var(--padding-gutter) * -1) * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(calc(var(--padding-gutter) * -1) * var(--tw-space-y-reverse));
  }

  :root .md\:-space-x-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(calc(var(--padding-gutter) * -1) * var(--tw-space-x-reverse));
    margin-left: calc(calc(var(--padding-gutter) * -1) * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .md\:space-y-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 1;
  }

  :root .md\:space-x-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 1;
  }

  :root .md\:divide-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(0px * var(--tw-divide-y-reverse));
  }

  :root .md\:divide-x-0 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(0px * var(--tw-divide-x-reverse));
    border-left-width: calc(0px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .md\:divide-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(2px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(2px * var(--tw-divide-y-reverse));
  }

  :root .md\:divide-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(2px * var(--tw-divide-x-reverse));
    border-left-width: calc(2px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .md\:divide-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(3px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(3px * var(--tw-divide-y-reverse));
  }

  :root .md\:divide-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(3px * var(--tw-divide-x-reverse));
    border-left-width: calc(3px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .md\:divide-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(4px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(4px * var(--tw-divide-y-reverse));
  }

  :root .md\:divide-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(4px * var(--tw-divide-x-reverse));
    border-left-width: calc(4px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .md\:divide-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(8px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(8px * var(--tw-divide-y-reverse));
  }

  :root .md\:divide-x-8 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(8px * var(--tw-divide-x-reverse));
    border-left-width: calc(8px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .md\:divide-y > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
  }

  :root .md\:divide-x > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .md\:divide-y-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 1;
  }

  :root .md\:divide-x-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 1;
  }

  :root .md\:divide-current > :not([hidden]) ~ :not([hidden]){
    border-color: currentColor;
  }

  :root .md\:divide-transparent > :not([hidden]) ~ :not([hidden]){
    border-color: transparent;
  }

  :root .md\:divide-black > :not([hidden]) ~ :not([hidden]){
    border-color: var(--text-color);
  }

  :root .md\:divide-white > :not([hidden]) ~ :not([hidden]){
    border-color: var(--text-color-light);
  }

  :root .md\:divide-contrast-black > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-divide-opacity));
  }

  :root .md\:divide-contrast-white > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-divide-opacity));
  }

  :root .md\:divide-gray-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:divide-gray > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-divide-opacity));
  }

  :root .md\:divide-red-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:divide-red > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-divide-opacity));
  }

  :root .md\:divide-orange-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:divide-orange > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-divide-opacity));
  }

  :root .md\:divide-deep-orange-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:divide-deep-orange > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-divide-opacity));
  }

  :root .md\:divide-amber-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:divide-amber > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-divide-opacity));
  }

  :root .md\:divide-green-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:divide-green > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-divide-opacity));
  }

  :root .md\:divide-teal-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:divide-teal > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-divide-opacity));
  }

  :root .md\:divide-cyan-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:divide-cyan > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-divide-opacity));
  }

  :root .md\:divide-purple-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:divide-purple > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-divide-opacity));
  }

  :root .md\:divide-deep-purple-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:divide-deep-purple > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-divide-opacity));
  }

  :root .md\:divide-pink-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:divide-pink > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-divide-opacity));
  }

  :root .md\:divide-primary-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(var(--color-primary), .1);
  }

  :root .md\:divide-primary > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(var(--color-primary));
  }

  :root .md\:divide-accent-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(var(--color-accent), .1);
  }

  :root .md\:divide-accent > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(var(--color-accent));
  }

  :root .md\:divide-warn-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(var(--color-warn), .1);
  }

  :root .md\:divide-warn > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(var(--color-warn));
  }

  :root .md\:divide-solid > :not([hidden]) ~ :not([hidden]){
    border-style: solid;
  }

  :root .md\:divide-dashed > :not([hidden]) ~ :not([hidden]){
    border-style: dashed;
  }

  :root .md\:divide-dotted > :not([hidden]) ~ :not([hidden]){
    border-style: dotted;
  }

  :root .md\:divide-double > :not([hidden]) ~ :not([hidden]){
    border-style: double;
  }

  :root .md\:divide-none > :not([hidden]) ~ :not([hidden]){
    border-style: none;
  }

  :root .md\:divide-opacity-0 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0;
  }

  :root .md\:divide-opacity-25 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0.25;
  }

  :root .md\:divide-opacity-50 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0.5;
  }

  :root .md\:divide-opacity-75 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0.75;
  }

  :root .md\:divide-opacity-100 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
  }

  :root .md\:sr-only{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }

  :root .md\:not-sr-only{
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }

  :root .md\:focus\:sr-only:focus{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }

  :root .md\:focus\:not-sr-only:focus{
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }

  :root .md\:appearance-none{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }

  :root .md\:bg-fixed{
    background-attachment: fixed;
  }

  :root .md\:bg-local{
    background-attachment: local;
  }

  :root .md\:bg-scroll{
    background-attachment: scroll;
  }

  :root .md\:bg-clip-border{
    background-clip: border-box;
  }

  :root .md\:bg-clip-padding{
    background-clip: padding-box;
  }

  :root .md\:bg-clip-content{
    background-clip: content-box;
  }

  :root .md\:bg-clip-text{
    -webkit-background-clip: text;
            background-clip: text;
  }

  :root .md\:bg-base{
    background-color: var(--background-base);
  }

  :root .md\:bg-card{
    background-color: var(--background-card);
  }

  :root .md\:bg-app-bar{
    background-color: var(--background-app-bar);
  }

  :root .md\:bg-hover{
    background-color: var(--background-hover);
  }

  :root .md\:bg-current{
    background-color: currentColor;
  }

  :root .md\:bg-transparent{
    background-color: transparent;
  }

  :root .md\:bg-black{
    background-color: var(--text-color);
  }

  :root .md\:bg-white{
    background-color: var(--text-color-light);
  }

  :root .md\:bg-contrast-black{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
  }

  :root .md\:bg-contrast-white{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  }

  :root .md\:bg-gray-light{
    background-color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:bg-gray{
    --tw-bg-opacity: 1;
    background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
  }

  :root .md\:bg-red-light{
    background-color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:bg-red{
    --tw-bg-opacity: 1;
    background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
  }

  :root .md\:bg-orange-light{
    background-color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:bg-orange{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
  }

  :root .md\:bg-deep-orange-light{
    background-color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:bg-deep-orange{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
  }

  :root .md\:bg-amber-light{
    background-color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:bg-amber{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
  }

  :root .md\:bg-green-light{
    background-color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:bg-green{
    --tw-bg-opacity: 1;
    background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
  }

  :root .md\:bg-teal-light{
    background-color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:bg-teal{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
  }

  :root .md\:bg-cyan-light{
    background-color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:bg-cyan{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
  }

  :root .md\:bg-purple-light{
    background-color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:bg-purple{
    --tw-bg-opacity: 1;
    background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
  }

  :root .md\:bg-deep-purple-light{
    background-color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:bg-deep-purple{
    --tw-bg-opacity: 1;
    background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
  }

  :root .md\:bg-pink-light{
    background-color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:bg-pink{
    --tw-bg-opacity: 1;
    background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
  }

  :root .md\:bg-primary-light{
    background-color: rgba(var(--color-primary), .1);
  }

  :root .md\:bg-primary{
    background-color: rgb(var(--color-primary));
  }

  :root .md\:bg-accent-light{
    background-color: rgba(var(--color-accent), .1);
  }

  :root .md\:bg-accent{
    background-color: rgb(var(--color-accent));
  }

  :root .md\:bg-warn-light{
    background-color: rgba(var(--color-warn), .1);
  }

  :root .md\:bg-warn{
    background-color: rgb(var(--color-warn));
  }

  :root .md\:hover\:bg-base:hover{
    background-color: var(--background-base);
  }

  :root .md\:hover\:bg-card:hover{
    background-color: var(--background-card);
  }

  :root .md\:hover\:bg-app-bar:hover{
    background-color: var(--background-app-bar);
  }

  :root .md\:hover\:bg-hover:hover{
    background-color: var(--background-hover);
  }

  :root .md\:hover\:bg-current:hover{
    background-color: currentColor;
  }

  :root .md\:hover\:bg-transparent:hover{
    background-color: transparent;
  }

  :root .md\:hover\:bg-black:hover{
    background-color: var(--text-color);
  }

  :root .md\:hover\:bg-white:hover{
    background-color: var(--text-color-light);
  }

  :root .md\:hover\:bg-contrast-black:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
  }

  :root .md\:hover\:bg-contrast-white:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  }

  :root .md\:hover\:bg-gray-light:hover{
    background-color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:hover\:bg-gray:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
  }

  :root .md\:hover\:bg-red-light:hover{
    background-color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:hover\:bg-red:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
  }

  :root .md\:hover\:bg-orange-light:hover{
    background-color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:hover\:bg-orange:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
  }

  :root .md\:hover\:bg-deep-orange-light:hover{
    background-color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:hover\:bg-deep-orange:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
  }

  :root .md\:hover\:bg-amber-light:hover{
    background-color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:hover\:bg-amber:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
  }

  :root .md\:hover\:bg-green-light:hover{
    background-color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:hover\:bg-green:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
  }

  :root .md\:hover\:bg-teal-light:hover{
    background-color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:hover\:bg-teal:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
  }

  :root .md\:hover\:bg-cyan-light:hover{
    background-color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:hover\:bg-cyan:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
  }

  :root .md\:hover\:bg-purple-light:hover{
    background-color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:hover\:bg-purple:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
  }

  :root .md\:hover\:bg-deep-purple-light:hover{
    background-color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:hover\:bg-deep-purple:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
  }

  :root .md\:hover\:bg-pink-light:hover{
    background-color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:hover\:bg-pink:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
  }

  :root .md\:hover\:bg-primary-light:hover{
    background-color: rgba(var(--color-primary), .1);
  }

  :root .md\:hover\:bg-primary:hover{
    background-color: rgb(var(--color-primary));
  }

  :root .md\:hover\:bg-accent-light:hover{
    background-color: rgba(var(--color-accent), .1);
  }

  :root .md\:hover\:bg-accent:hover{
    background-color: rgb(var(--color-accent));
  }

  :root .md\:hover\:bg-warn-light:hover{
    background-color: rgba(var(--color-warn), .1);
  }

  :root .md\:hover\:bg-warn:hover{
    background-color: rgb(var(--color-warn));
  }

  :root .md\:focus\:bg-base:focus{
    background-color: var(--background-base);
  }

  :root .md\:focus\:bg-card:focus{
    background-color: var(--background-card);
  }

  :root .md\:focus\:bg-app-bar:focus{
    background-color: var(--background-app-bar);
  }

  :root .md\:focus\:bg-hover:focus{
    background-color: var(--background-hover);
  }

  :root .md\:focus\:bg-current:focus{
    background-color: currentColor;
  }

  :root .md\:focus\:bg-transparent:focus{
    background-color: transparent;
  }

  :root .md\:focus\:bg-black:focus{
    background-color: var(--text-color);
  }

  :root .md\:focus\:bg-white:focus{
    background-color: var(--text-color-light);
  }

  :root .md\:focus\:bg-contrast-black:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
  }

  :root .md\:focus\:bg-contrast-white:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  }

  :root .md\:focus\:bg-gray-light:focus{
    background-color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:focus\:bg-gray:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
  }

  :root .md\:focus\:bg-red-light:focus{
    background-color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:focus\:bg-red:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
  }

  :root .md\:focus\:bg-orange-light:focus{
    background-color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:focus\:bg-orange:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
  }

  :root .md\:focus\:bg-deep-orange-light:focus{
    background-color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:focus\:bg-deep-orange:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
  }

  :root .md\:focus\:bg-amber-light:focus{
    background-color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:focus\:bg-amber:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
  }

  :root .md\:focus\:bg-green-light:focus{
    background-color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:focus\:bg-green:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
  }

  :root .md\:focus\:bg-teal-light:focus{
    background-color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:focus\:bg-teal:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
  }

  :root .md\:focus\:bg-cyan-light:focus{
    background-color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:focus\:bg-cyan:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
  }

  :root .md\:focus\:bg-purple-light:focus{
    background-color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:focus\:bg-purple:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
  }

  :root .md\:focus\:bg-deep-purple-light:focus{
    background-color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:focus\:bg-deep-purple:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
  }

  :root .md\:focus\:bg-pink-light:focus{
    background-color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:focus\:bg-pink:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
  }

  :root .md\:focus\:bg-primary-light:focus{
    background-color: rgba(var(--color-primary), .1);
  }

  :root .md\:focus\:bg-primary:focus{
    background-color: rgb(var(--color-primary));
  }

  :root .md\:focus\:bg-accent-light:focus{
    background-color: rgba(var(--color-accent), .1);
  }

  :root .md\:focus\:bg-accent:focus{
    background-color: rgb(var(--color-accent));
  }

  :root .md\:focus\:bg-warn-light:focus{
    background-color: rgba(var(--color-warn), .1);
  }

  :root .md\:focus\:bg-warn:focus{
    background-color: rgb(var(--color-warn));
  }

  :root .md\:bg-none{
    background-image: none;
  }

  :root .md\:bg-gradient-to-t{
    background-image: linear-gradient(to top, var(--tw-gradient-stops));
  }

  :root .md\:bg-gradient-to-tr{
    background-image: linear-gradient(to top right, var(--tw-gradient-stops));
  }

  :root .md\:bg-gradient-to-r{
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
  }

  :root .md\:bg-gradient-to-br{
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
  }

  :root .md\:bg-gradient-to-b{
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
  }

  :root .md\:bg-gradient-to-bl{
    background-image: linear-gradient(to bottom left, var(--tw-gradient-stops));
  }

  :root .md\:bg-gradient-to-l{
    background-image: linear-gradient(to left, var(--tw-gradient-stops));
  }

  :root .md\:bg-gradient-to-tl{
    background-image: linear-gradient(to top left, var(--tw-gradient-stops));
  }

  :root .md\:from-current{
    --tw-gradient-from: currentColor;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:from-transparent{
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .md\:from-black{
    --tw-gradient-from: var(--text-color);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:from-white{
    --tw-gradient-from: var(--text-color-light);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:from-contrast-black{
    --tw-gradient-from: black;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .md\:from-contrast-white{
    --tw-gradient-from: white;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:from-gray-light{
    --tw-gradient-from: rgba(158, 158, 158, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .md\:from-gray{
    --tw-gradient-from: rgb(158, 158, 158);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .md\:from-red-light{
    --tw-gradient-from: rgba(244, 67, 54, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .md\:from-red{
    --tw-gradient-from: rgb(244, 67, 54);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .md\:from-orange-light{
    --tw-gradient-from: rgba(255, 152, 0, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .md\:from-orange{
    --tw-gradient-from: rgb(255, 152, 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .md\:from-deep-orange-light{
    --tw-gradient-from: rgba(255, 87, 34, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .md\:from-deep-orange{
    --tw-gradient-from: rgb(255, 87, 34);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .md\:from-amber-light{
    --tw-gradient-from: rgba(255, 193, 7, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .md\:from-amber{
    --tw-gradient-from: rgb(255, 193, 7);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .md\:from-green-light{
    --tw-gradient-from: rgba(76, 175, 80, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .md\:from-green{
    --tw-gradient-from: rgb(76, 175, 80);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .md\:from-teal-light{
    --tw-gradient-from: rgba(0, 150, 136, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .md\:from-teal{
    --tw-gradient-from: rgb(0, 150, 136);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .md\:from-cyan-light{
    --tw-gradient-from: rgba(0, 188, 212, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .md\:from-cyan{
    --tw-gradient-from: rgb(0, 188, 212);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .md\:from-purple-light{
    --tw-gradient-from: rgba(156, 39, 176, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .md\:from-purple{
    --tw-gradient-from: rgb(156, 39, 176);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .md\:from-deep-purple-light{
    --tw-gradient-from: rgba(103, 58, 183, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .md\:from-deep-purple{
    --tw-gradient-from: rgb(103, 58, 183);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .md\:from-pink-light{
    --tw-gradient-from: rgba(233, 30, 99, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .md\:from-pink{
    --tw-gradient-from: rgb(233, 30, 99);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .md\:from-primary-light{
    --tw-gradient-from: rgba(var(--color-primary), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:from-primary{
    --tw-gradient-from: rgb(var(--color-primary));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:from-accent-light{
    --tw-gradient-from: rgba(var(--color-accent), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:from-accent{
    --tw-gradient-from: rgb(var(--color-accent));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:from-warn-light{
    --tw-gradient-from: rgba(var(--color-warn), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:from-warn{
    --tw-gradient-from: rgb(var(--color-warn));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:via-current{
    --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:via-transparent{
    --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .md\:via-black{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:via-white{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:via-contrast-black{
    --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .md\:via-contrast-white{
    --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:via-gray-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .md\:via-gray{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .md\:via-red-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .md\:via-red{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .md\:via-orange-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .md\:via-orange{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .md\:via-deep-orange-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .md\:via-deep-orange{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .md\:via-amber-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .md\:via-amber{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .md\:via-green-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .md\:via-green{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .md\:via-teal-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .md\:via-teal{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .md\:via-cyan-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .md\:via-cyan{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .md\:via-purple-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .md\:via-purple{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .md\:via-deep-purple-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .md\:via-deep-purple{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .md\:via-pink-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .md\:via-pink{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .md\:via-primary-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:via-primary{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:via-accent-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:via-accent{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:via-warn-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:via-warn{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:to-current{
    --tw-gradient-to: currentColor;
  }

  :root .md\:to-transparent{
    --tw-gradient-to: transparent;
  }

  :root .md\:to-black{
    --tw-gradient-to: var(--text-color);
  }

  :root .md\:to-white{
    --tw-gradient-to: var(--text-color-light);
  }

  :root .md\:to-contrast-black{
    --tw-gradient-to: black;
  }

  :root .md\:to-contrast-white{
    --tw-gradient-to: white;
  }

  :root .md\:to-gray-light{
    --tw-gradient-to: rgba(158, 158, 158, 0.1);
  }

  :root .md\:to-gray{
    --tw-gradient-to: rgb(158, 158, 158);
  }

  :root .md\:to-red-light{
    --tw-gradient-to: rgba(244, 67, 54, 0.1);
  }

  :root .md\:to-red{
    --tw-gradient-to: rgb(244, 67, 54);
  }

  :root .md\:to-orange-light{
    --tw-gradient-to: rgba(255, 152, 0, 0.1);
  }

  :root .md\:to-orange{
    --tw-gradient-to: rgb(255, 152, 0);
  }

  :root .md\:to-deep-orange-light{
    --tw-gradient-to: rgba(255, 87, 34, 0.1);
  }

  :root .md\:to-deep-orange{
    --tw-gradient-to: rgb(255, 87, 34);
  }

  :root .md\:to-amber-light{
    --tw-gradient-to: rgba(255, 193, 7, 0.1);
  }

  :root .md\:to-amber{
    --tw-gradient-to: rgb(255, 193, 7);
  }

  :root .md\:to-green-light{
    --tw-gradient-to: rgba(76, 175, 80, 0.1);
  }

  :root .md\:to-green{
    --tw-gradient-to: rgb(76, 175, 80);
  }

  :root .md\:to-teal-light{
    --tw-gradient-to: rgba(0, 150, 136, 0.1);
  }

  :root .md\:to-teal{
    --tw-gradient-to: rgb(0, 150, 136);
  }

  :root .md\:to-cyan-light{
    --tw-gradient-to: rgba(0, 188, 212, 0.1);
  }

  :root .md\:to-cyan{
    --tw-gradient-to: rgb(0, 188, 212);
  }

  :root .md\:to-purple-light{
    --tw-gradient-to: rgba(156, 39, 176, 0.1);
  }

  :root .md\:to-purple{
    --tw-gradient-to: rgb(156, 39, 176);
  }

  :root .md\:to-deep-purple-light{
    --tw-gradient-to: rgba(103, 58, 183, 0.1);
  }

  :root .md\:to-deep-purple{
    --tw-gradient-to: rgb(103, 58, 183);
  }

  :root .md\:to-pink-light{
    --tw-gradient-to: rgba(233, 30, 99, 0.1);
  }

  :root .md\:to-pink{
    --tw-gradient-to: rgb(233, 30, 99);
  }

  :root .md\:to-primary-light{
    --tw-gradient-to: rgba(var(--color-primary), .1);
  }

  :root .md\:to-primary{
    --tw-gradient-to: rgb(var(--color-primary));
  }

  :root .md\:to-accent-light{
    --tw-gradient-to: rgba(var(--color-accent), .1);
  }

  :root .md\:to-accent{
    --tw-gradient-to: rgb(var(--color-accent));
  }

  :root .md\:to-warn-light{
    --tw-gradient-to: rgba(var(--color-warn), .1);
  }

  :root .md\:to-warn{
    --tw-gradient-to: rgb(var(--color-warn));
  }

  :root .md\:hover\:from-current:hover{
    --tw-gradient-from: currentColor;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:from-transparent:hover{
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .md\:hover\:from-black:hover{
    --tw-gradient-from: var(--text-color);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:from-white:hover{
    --tw-gradient-from: var(--text-color-light);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:from-contrast-black:hover{
    --tw-gradient-from: black;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .md\:hover\:from-contrast-white:hover{
    --tw-gradient-from: white;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:from-gray-light:hover{
    --tw-gradient-from: rgba(158, 158, 158, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .md\:hover\:from-gray:hover{
    --tw-gradient-from: rgb(158, 158, 158);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .md\:hover\:from-red-light:hover{
    --tw-gradient-from: rgba(244, 67, 54, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .md\:hover\:from-red:hover{
    --tw-gradient-from: rgb(244, 67, 54);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .md\:hover\:from-orange-light:hover{
    --tw-gradient-from: rgba(255, 152, 0, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .md\:hover\:from-orange:hover{
    --tw-gradient-from: rgb(255, 152, 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .md\:hover\:from-deep-orange-light:hover{
    --tw-gradient-from: rgba(255, 87, 34, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .md\:hover\:from-deep-orange:hover{
    --tw-gradient-from: rgb(255, 87, 34);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .md\:hover\:from-amber-light:hover{
    --tw-gradient-from: rgba(255, 193, 7, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .md\:hover\:from-amber:hover{
    --tw-gradient-from: rgb(255, 193, 7);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .md\:hover\:from-green-light:hover{
    --tw-gradient-from: rgba(76, 175, 80, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .md\:hover\:from-green:hover{
    --tw-gradient-from: rgb(76, 175, 80);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .md\:hover\:from-teal-light:hover{
    --tw-gradient-from: rgba(0, 150, 136, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .md\:hover\:from-teal:hover{
    --tw-gradient-from: rgb(0, 150, 136);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .md\:hover\:from-cyan-light:hover{
    --tw-gradient-from: rgba(0, 188, 212, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .md\:hover\:from-cyan:hover{
    --tw-gradient-from: rgb(0, 188, 212);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .md\:hover\:from-purple-light:hover{
    --tw-gradient-from: rgba(156, 39, 176, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .md\:hover\:from-purple:hover{
    --tw-gradient-from: rgb(156, 39, 176);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .md\:hover\:from-deep-purple-light:hover{
    --tw-gradient-from: rgba(103, 58, 183, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .md\:hover\:from-deep-purple:hover{
    --tw-gradient-from: rgb(103, 58, 183);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .md\:hover\:from-pink-light:hover{
    --tw-gradient-from: rgba(233, 30, 99, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .md\:hover\:from-pink:hover{
    --tw-gradient-from: rgb(233, 30, 99);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .md\:hover\:from-primary-light:hover{
    --tw-gradient-from: rgba(var(--color-primary), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:from-primary:hover{
    --tw-gradient-from: rgb(var(--color-primary));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:from-accent-light:hover{
    --tw-gradient-from: rgba(var(--color-accent), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:from-accent:hover{
    --tw-gradient-from: rgb(var(--color-accent));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:from-warn-light:hover{
    --tw-gradient-from: rgba(var(--color-warn), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:from-warn:hover{
    --tw-gradient-from: rgb(var(--color-warn));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:via-current:hover{
    --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:via-transparent:hover{
    --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .md\:hover\:via-black:hover{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:via-white:hover{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:via-contrast-black:hover{
    --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .md\:hover\:via-contrast-white:hover{
    --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:via-gray-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .md\:hover\:via-gray:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .md\:hover\:via-red-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .md\:hover\:via-red:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .md\:hover\:via-orange-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .md\:hover\:via-orange:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .md\:hover\:via-deep-orange-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .md\:hover\:via-deep-orange:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .md\:hover\:via-amber-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .md\:hover\:via-amber:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .md\:hover\:via-green-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .md\:hover\:via-green:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .md\:hover\:via-teal-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .md\:hover\:via-teal:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .md\:hover\:via-cyan-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .md\:hover\:via-cyan:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .md\:hover\:via-purple-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .md\:hover\:via-purple:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .md\:hover\:via-deep-purple-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .md\:hover\:via-deep-purple:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .md\:hover\:via-pink-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .md\:hover\:via-pink:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .md\:hover\:via-primary-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:via-primary:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:via-accent-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:via-accent:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:via-warn-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:via-warn:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:hover\:to-current:hover{
    --tw-gradient-to: currentColor;
  }

  :root .md\:hover\:to-transparent:hover{
    --tw-gradient-to: transparent;
  }

  :root .md\:hover\:to-black:hover{
    --tw-gradient-to: var(--text-color);
  }

  :root .md\:hover\:to-white:hover{
    --tw-gradient-to: var(--text-color-light);
  }

  :root .md\:hover\:to-contrast-black:hover{
    --tw-gradient-to: black;
  }

  :root .md\:hover\:to-contrast-white:hover{
    --tw-gradient-to: white;
  }

  :root .md\:hover\:to-gray-light:hover{
    --tw-gradient-to: rgba(158, 158, 158, 0.1);
  }

  :root .md\:hover\:to-gray:hover{
    --tw-gradient-to: rgb(158, 158, 158);
  }

  :root .md\:hover\:to-red-light:hover{
    --tw-gradient-to: rgba(244, 67, 54, 0.1);
  }

  :root .md\:hover\:to-red:hover{
    --tw-gradient-to: rgb(244, 67, 54);
  }

  :root .md\:hover\:to-orange-light:hover{
    --tw-gradient-to: rgba(255, 152, 0, 0.1);
  }

  :root .md\:hover\:to-orange:hover{
    --tw-gradient-to: rgb(255, 152, 0);
  }

  :root .md\:hover\:to-deep-orange-light:hover{
    --tw-gradient-to: rgba(255, 87, 34, 0.1);
  }

  :root .md\:hover\:to-deep-orange:hover{
    --tw-gradient-to: rgb(255, 87, 34);
  }

  :root .md\:hover\:to-amber-light:hover{
    --tw-gradient-to: rgba(255, 193, 7, 0.1);
  }

  :root .md\:hover\:to-amber:hover{
    --tw-gradient-to: rgb(255, 193, 7);
  }

  :root .md\:hover\:to-green-light:hover{
    --tw-gradient-to: rgba(76, 175, 80, 0.1);
  }

  :root .md\:hover\:to-green:hover{
    --tw-gradient-to: rgb(76, 175, 80);
  }

  :root .md\:hover\:to-teal-light:hover{
    --tw-gradient-to: rgba(0, 150, 136, 0.1);
  }

  :root .md\:hover\:to-teal:hover{
    --tw-gradient-to: rgb(0, 150, 136);
  }

  :root .md\:hover\:to-cyan-light:hover{
    --tw-gradient-to: rgba(0, 188, 212, 0.1);
  }

  :root .md\:hover\:to-cyan:hover{
    --tw-gradient-to: rgb(0, 188, 212);
  }

  :root .md\:hover\:to-purple-light:hover{
    --tw-gradient-to: rgba(156, 39, 176, 0.1);
  }

  :root .md\:hover\:to-purple:hover{
    --tw-gradient-to: rgb(156, 39, 176);
  }

  :root .md\:hover\:to-deep-purple-light:hover{
    --tw-gradient-to: rgba(103, 58, 183, 0.1);
  }

  :root .md\:hover\:to-deep-purple:hover{
    --tw-gradient-to: rgb(103, 58, 183);
  }

  :root .md\:hover\:to-pink-light:hover{
    --tw-gradient-to: rgba(233, 30, 99, 0.1);
  }

  :root .md\:hover\:to-pink:hover{
    --tw-gradient-to: rgb(233, 30, 99);
  }

  :root .md\:hover\:to-primary-light:hover{
    --tw-gradient-to: rgba(var(--color-primary), .1);
  }

  :root .md\:hover\:to-primary:hover{
    --tw-gradient-to: rgb(var(--color-primary));
  }

  :root .md\:hover\:to-accent-light:hover{
    --tw-gradient-to: rgba(var(--color-accent), .1);
  }

  :root .md\:hover\:to-accent:hover{
    --tw-gradient-to: rgb(var(--color-accent));
  }

  :root .md\:hover\:to-warn-light:hover{
    --tw-gradient-to: rgba(var(--color-warn), .1);
  }

  :root .md\:hover\:to-warn:hover{
    --tw-gradient-to: rgb(var(--color-warn));
  }

  :root .md\:focus\:from-current:focus{
    --tw-gradient-from: currentColor;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:from-transparent:focus{
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .md\:focus\:from-black:focus{
    --tw-gradient-from: var(--text-color);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:from-white:focus{
    --tw-gradient-from: var(--text-color-light);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:from-contrast-black:focus{
    --tw-gradient-from: black;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .md\:focus\:from-contrast-white:focus{
    --tw-gradient-from: white;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:from-gray-light:focus{
    --tw-gradient-from: rgba(158, 158, 158, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .md\:focus\:from-gray:focus{
    --tw-gradient-from: rgb(158, 158, 158);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .md\:focus\:from-red-light:focus{
    --tw-gradient-from: rgba(244, 67, 54, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .md\:focus\:from-red:focus{
    --tw-gradient-from: rgb(244, 67, 54);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .md\:focus\:from-orange-light:focus{
    --tw-gradient-from: rgba(255, 152, 0, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .md\:focus\:from-orange:focus{
    --tw-gradient-from: rgb(255, 152, 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .md\:focus\:from-deep-orange-light:focus{
    --tw-gradient-from: rgba(255, 87, 34, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .md\:focus\:from-deep-orange:focus{
    --tw-gradient-from: rgb(255, 87, 34);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .md\:focus\:from-amber-light:focus{
    --tw-gradient-from: rgba(255, 193, 7, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .md\:focus\:from-amber:focus{
    --tw-gradient-from: rgb(255, 193, 7);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .md\:focus\:from-green-light:focus{
    --tw-gradient-from: rgba(76, 175, 80, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .md\:focus\:from-green:focus{
    --tw-gradient-from: rgb(76, 175, 80);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .md\:focus\:from-teal-light:focus{
    --tw-gradient-from: rgba(0, 150, 136, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .md\:focus\:from-teal:focus{
    --tw-gradient-from: rgb(0, 150, 136);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .md\:focus\:from-cyan-light:focus{
    --tw-gradient-from: rgba(0, 188, 212, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .md\:focus\:from-cyan:focus{
    --tw-gradient-from: rgb(0, 188, 212);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .md\:focus\:from-purple-light:focus{
    --tw-gradient-from: rgba(156, 39, 176, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .md\:focus\:from-purple:focus{
    --tw-gradient-from: rgb(156, 39, 176);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .md\:focus\:from-deep-purple-light:focus{
    --tw-gradient-from: rgba(103, 58, 183, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .md\:focus\:from-deep-purple:focus{
    --tw-gradient-from: rgb(103, 58, 183);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .md\:focus\:from-pink-light:focus{
    --tw-gradient-from: rgba(233, 30, 99, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .md\:focus\:from-pink:focus{
    --tw-gradient-from: rgb(233, 30, 99);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .md\:focus\:from-primary-light:focus{
    --tw-gradient-from: rgba(var(--color-primary), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:from-primary:focus{
    --tw-gradient-from: rgb(var(--color-primary));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:from-accent-light:focus{
    --tw-gradient-from: rgba(var(--color-accent), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:from-accent:focus{
    --tw-gradient-from: rgb(var(--color-accent));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:from-warn-light:focus{
    --tw-gradient-from: rgba(var(--color-warn), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:from-warn:focus{
    --tw-gradient-from: rgb(var(--color-warn));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:via-current:focus{
    --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:via-transparent:focus{
    --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .md\:focus\:via-black:focus{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:via-white:focus{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:via-contrast-black:focus{
    --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .md\:focus\:via-contrast-white:focus{
    --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:via-gray-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .md\:focus\:via-gray:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .md\:focus\:via-red-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .md\:focus\:via-red:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .md\:focus\:via-orange-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .md\:focus\:via-orange:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .md\:focus\:via-deep-orange-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .md\:focus\:via-deep-orange:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .md\:focus\:via-amber-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .md\:focus\:via-amber:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .md\:focus\:via-green-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .md\:focus\:via-green:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .md\:focus\:via-teal-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .md\:focus\:via-teal:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .md\:focus\:via-cyan-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .md\:focus\:via-cyan:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .md\:focus\:via-purple-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .md\:focus\:via-purple:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .md\:focus\:via-deep-purple-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .md\:focus\:via-deep-purple:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .md\:focus\:via-pink-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .md\:focus\:via-pink:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .md\:focus\:via-primary-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:via-primary:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:via-accent-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:via-accent:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:via-warn-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:via-warn:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .md\:focus\:to-current:focus{
    --tw-gradient-to: currentColor;
  }

  :root .md\:focus\:to-transparent:focus{
    --tw-gradient-to: transparent;
  }

  :root .md\:focus\:to-black:focus{
    --tw-gradient-to: var(--text-color);
  }

  :root .md\:focus\:to-white:focus{
    --tw-gradient-to: var(--text-color-light);
  }

  :root .md\:focus\:to-contrast-black:focus{
    --tw-gradient-to: black;
  }

  :root .md\:focus\:to-contrast-white:focus{
    --tw-gradient-to: white;
  }

  :root .md\:focus\:to-gray-light:focus{
    --tw-gradient-to: rgba(158, 158, 158, 0.1);
  }

  :root .md\:focus\:to-gray:focus{
    --tw-gradient-to: rgb(158, 158, 158);
  }

  :root .md\:focus\:to-red-light:focus{
    --tw-gradient-to: rgba(244, 67, 54, 0.1);
  }

  :root .md\:focus\:to-red:focus{
    --tw-gradient-to: rgb(244, 67, 54);
  }

  :root .md\:focus\:to-orange-light:focus{
    --tw-gradient-to: rgba(255, 152, 0, 0.1);
  }

  :root .md\:focus\:to-orange:focus{
    --tw-gradient-to: rgb(255, 152, 0);
  }

  :root .md\:focus\:to-deep-orange-light:focus{
    --tw-gradient-to: rgba(255, 87, 34, 0.1);
  }

  :root .md\:focus\:to-deep-orange:focus{
    --tw-gradient-to: rgb(255, 87, 34);
  }

  :root .md\:focus\:to-amber-light:focus{
    --tw-gradient-to: rgba(255, 193, 7, 0.1);
  }

  :root .md\:focus\:to-amber:focus{
    --tw-gradient-to: rgb(255, 193, 7);
  }

  :root .md\:focus\:to-green-light:focus{
    --tw-gradient-to: rgba(76, 175, 80, 0.1);
  }

  :root .md\:focus\:to-green:focus{
    --tw-gradient-to: rgb(76, 175, 80);
  }

  :root .md\:focus\:to-teal-light:focus{
    --tw-gradient-to: rgba(0, 150, 136, 0.1);
  }

  :root .md\:focus\:to-teal:focus{
    --tw-gradient-to: rgb(0, 150, 136);
  }

  :root .md\:focus\:to-cyan-light:focus{
    --tw-gradient-to: rgba(0, 188, 212, 0.1);
  }

  :root .md\:focus\:to-cyan:focus{
    --tw-gradient-to: rgb(0, 188, 212);
  }

  :root .md\:focus\:to-purple-light:focus{
    --tw-gradient-to: rgba(156, 39, 176, 0.1);
  }

  :root .md\:focus\:to-purple:focus{
    --tw-gradient-to: rgb(156, 39, 176);
  }

  :root .md\:focus\:to-deep-purple-light:focus{
    --tw-gradient-to: rgba(103, 58, 183, 0.1);
  }

  :root .md\:focus\:to-deep-purple:focus{
    --tw-gradient-to: rgb(103, 58, 183);
  }

  :root .md\:focus\:to-pink-light:focus{
    --tw-gradient-to: rgba(233, 30, 99, 0.1);
  }

  :root .md\:focus\:to-pink:focus{
    --tw-gradient-to: rgb(233, 30, 99);
  }

  :root .md\:focus\:to-primary-light:focus{
    --tw-gradient-to: rgba(var(--color-primary), .1);
  }

  :root .md\:focus\:to-primary:focus{
    --tw-gradient-to: rgb(var(--color-primary));
  }

  :root .md\:focus\:to-accent-light:focus{
    --tw-gradient-to: rgba(var(--color-accent), .1);
  }

  :root .md\:focus\:to-accent:focus{
    --tw-gradient-to: rgb(var(--color-accent));
  }

  :root .md\:focus\:to-warn-light:focus{
    --tw-gradient-to: rgba(var(--color-warn), .1);
  }

  :root .md\:focus\:to-warn:focus{
    --tw-gradient-to: rgb(var(--color-warn));
  }

  :root .md\:bg-opacity-0{
    --tw-bg-opacity: 0;
  }

  :root .md\:bg-opacity-25{
    --tw-bg-opacity: 0.25;
  }

  :root .md\:bg-opacity-50{
    --tw-bg-opacity: 0.5;
  }

  :root .md\:bg-opacity-75{
    --tw-bg-opacity: 0.75;
  }

  :root .md\:bg-opacity-100{
    --tw-bg-opacity: 1;
  }

  :root .group:hover .md\:group-hover\:bg-opacity-0{
    --tw-bg-opacity: 0;
  }

  :root .group:hover .md\:group-hover\:bg-opacity-25{
    --tw-bg-opacity: 0.25;
  }

  :root .group:hover .md\:group-hover\:bg-opacity-50{
    --tw-bg-opacity: 0.5;
  }

  :root .group:hover .md\:group-hover\:bg-opacity-75{
    --tw-bg-opacity: 0.75;
  }

  :root .group:hover .md\:group-hover\:bg-opacity-100{
    --tw-bg-opacity: 1;
  }

  :root .md\:focus-within\:bg-opacity-0:focus-within{
    --tw-bg-opacity: 0;
  }

  :root .md\:focus-within\:bg-opacity-25:focus-within{
    --tw-bg-opacity: 0.25;
  }

  :root .md\:focus-within\:bg-opacity-50:focus-within{
    --tw-bg-opacity: 0.5;
  }

  :root .md\:focus-within\:bg-opacity-75:focus-within{
    --tw-bg-opacity: 0.75;
  }

  :root .md\:focus-within\:bg-opacity-100:focus-within{
    --tw-bg-opacity: 1;
  }

  :root .md\:hover\:bg-opacity-0:hover{
    --tw-bg-opacity: 0;
  }

  :root .md\:hover\:bg-opacity-25:hover{
    --tw-bg-opacity: 0.25;
  }

  :root .md\:hover\:bg-opacity-50:hover{
    --tw-bg-opacity: 0.5;
  }

  :root .md\:hover\:bg-opacity-75:hover{
    --tw-bg-opacity: 0.75;
  }

  :root .md\:hover\:bg-opacity-100:hover{
    --tw-bg-opacity: 1;
  }

  :root .md\:focus\:bg-opacity-0:focus{
    --tw-bg-opacity: 0;
  }

  :root .md\:focus\:bg-opacity-25:focus{
    --tw-bg-opacity: 0.25;
  }

  :root .md\:focus\:bg-opacity-50:focus{
    --tw-bg-opacity: 0.5;
  }

  :root .md\:focus\:bg-opacity-75:focus{
    --tw-bg-opacity: 0.75;
  }

  :root .md\:focus\:bg-opacity-100:focus{
    --tw-bg-opacity: 1;
  }

  :root .md\:bg-bottom{
    background-position: bottom;
  }

  :root .md\:bg-center{
    background-position: center;
  }

  :root .md\:bg-left{
    background-position: left;
  }

  :root .md\:bg-left-bottom{
    background-position: left bottom;
  }

  :root .md\:bg-left-top{
    background-position: left top;
  }

  :root .md\:bg-right{
    background-position: right;
  }

  :root .md\:bg-right-bottom{
    background-position: right bottom;
  }

  :root .md\:bg-right-top{
    background-position: right top;
  }

  :root .md\:bg-top{
    background-position: top;
  }

  :root .md\:bg-repeat{
    background-repeat: repeat;
  }

  :root .md\:bg-no-repeat{
    background-repeat: no-repeat;
  }

  :root .md\:bg-repeat-x{
    background-repeat: repeat-x;
  }

  :root .md\:bg-repeat-y{
    background-repeat: repeat-y;
  }

  :root .md\:bg-repeat-round{
    background-repeat: round;
  }

  :root .md\:bg-repeat-space{
    background-repeat: space;
  }

  :root .md\:bg-auto{
    background-size: auto;
  }

  :root .md\:bg-cover{
    background-size: cover;
  }

  :root .md\:bg-contain{
    background-size: contain;
  }

  :root .md\:border-collapse{
    border-collapse: collapse;
  }

  :root .md\:border-separate{
    border-collapse: separate;
  }

  :root .md\:border-current{
    border-color: currentColor;
  }

  :root .md\:border-transparent{
    border-color: transparent;
  }

  :root .md\:border-black{
    border-color: var(--text-color);
  }

  :root .md\:border-white{
    border-color: var(--text-color-light);
  }

  :root .md\:border-contrast-black{
    --tw-border-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-border-opacity));
  }

  :root .md\:border-contrast-white{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  }

  :root .md\:border-gray-light{
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:border-gray{
    --tw-border-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-border-opacity));
  }

  :root .md\:border-red-light{
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:border-red{
    --tw-border-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-border-opacity));
  }

  :root .md\:border-orange-light{
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:border-orange{
    --tw-border-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-border-opacity));
  }

  :root .md\:border-deep-orange-light{
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:border-deep-orange{
    --tw-border-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-border-opacity));
  }

  :root .md\:border-amber-light{
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:border-amber{
    --tw-border-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-border-opacity));
  }

  :root .md\:border-green-light{
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:border-green{
    --tw-border-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-border-opacity));
  }

  :root .md\:border-teal-light{
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:border-teal{
    --tw-border-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-border-opacity));
  }

  :root .md\:border-cyan-light{
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:border-cyan{
    --tw-border-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-border-opacity));
  }

  :root .md\:border-purple-light{
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:border-purple{
    --tw-border-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-border-opacity));
  }

  :root .md\:border-deep-purple-light{
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:border-deep-purple{
    --tw-border-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-border-opacity));
  }

  :root .md\:border-pink-light{
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:border-pink{
    --tw-border-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-border-opacity));
  }

  :root .md\:border-primary-light{
    border-color: rgba(var(--color-primary), .1);
  }

  :root .md\:border-primary{
    border-color: rgb(var(--color-primary));
  }

  :root .md\:border-accent-light{
    border-color: rgba(var(--color-accent), .1);
  }

  :root .md\:border-accent{
    border-color: rgb(var(--color-accent));
  }

  :root .md\:border-warn-light{
    border-color: rgba(var(--color-warn), .1);
  }

  :root .md\:border-warn{
    border-color: rgb(var(--color-warn));
  }

  :root .md\:hover\:border-current:hover{
    border-color: currentColor;
  }

  :root .md\:hover\:border-transparent:hover{
    border-color: transparent;
  }

  :root .md\:hover\:border-black:hover{
    border-color: var(--text-color);
  }

  :root .md\:hover\:border-white:hover{
    border-color: var(--text-color-light);
  }

  :root .md\:hover\:border-contrast-black:hover{
    --tw-border-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-border-opacity));
  }

  :root .md\:hover\:border-contrast-white:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  }

  :root .md\:hover\:border-gray-light:hover{
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:hover\:border-gray:hover{
    --tw-border-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-border-opacity));
  }

  :root .md\:hover\:border-red-light:hover{
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:hover\:border-red:hover{
    --tw-border-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-border-opacity));
  }

  :root .md\:hover\:border-orange-light:hover{
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:hover\:border-orange:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-border-opacity));
  }

  :root .md\:hover\:border-deep-orange-light:hover{
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:hover\:border-deep-orange:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-border-opacity));
  }

  :root .md\:hover\:border-amber-light:hover{
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:hover\:border-amber:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-border-opacity));
  }

  :root .md\:hover\:border-green-light:hover{
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:hover\:border-green:hover{
    --tw-border-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-border-opacity));
  }

  :root .md\:hover\:border-teal-light:hover{
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:hover\:border-teal:hover{
    --tw-border-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-border-opacity));
  }

  :root .md\:hover\:border-cyan-light:hover{
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:hover\:border-cyan:hover{
    --tw-border-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-border-opacity));
  }

  :root .md\:hover\:border-purple-light:hover{
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:hover\:border-purple:hover{
    --tw-border-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-border-opacity));
  }

  :root .md\:hover\:border-deep-purple-light:hover{
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:hover\:border-deep-purple:hover{
    --tw-border-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-border-opacity));
  }

  :root .md\:hover\:border-pink-light:hover{
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:hover\:border-pink:hover{
    --tw-border-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-border-opacity));
  }

  :root .md\:hover\:border-primary-light:hover{
    border-color: rgba(var(--color-primary), .1);
  }

  :root .md\:hover\:border-primary:hover{
    border-color: rgb(var(--color-primary));
  }

  :root .md\:hover\:border-accent-light:hover{
    border-color: rgba(var(--color-accent), .1);
  }

  :root .md\:hover\:border-accent:hover{
    border-color: rgb(var(--color-accent));
  }

  :root .md\:hover\:border-warn-light:hover{
    border-color: rgba(var(--color-warn), .1);
  }

  :root .md\:hover\:border-warn:hover{
    border-color: rgb(var(--color-warn));
  }

  :root .md\:focus\:border-current:focus{
    border-color: currentColor;
  }

  :root .md\:focus\:border-transparent:focus{
    border-color: transparent;
  }

  :root .md\:focus\:border-black:focus{
    border-color: var(--text-color);
  }

  :root .md\:focus\:border-white:focus{
    border-color: var(--text-color-light);
  }

  :root .md\:focus\:border-contrast-black:focus{
    --tw-border-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-border-opacity));
  }

  :root .md\:focus\:border-contrast-white:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  }

  :root .md\:focus\:border-gray-light:focus{
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:focus\:border-gray:focus{
    --tw-border-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-border-opacity));
  }

  :root .md\:focus\:border-red-light:focus{
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:focus\:border-red:focus{
    --tw-border-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-border-opacity));
  }

  :root .md\:focus\:border-orange-light:focus{
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:focus\:border-orange:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-border-opacity));
  }

  :root .md\:focus\:border-deep-orange-light:focus{
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:focus\:border-deep-orange:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-border-opacity));
  }

  :root .md\:focus\:border-amber-light:focus{
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:focus\:border-amber:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-border-opacity));
  }

  :root .md\:focus\:border-green-light:focus{
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:focus\:border-green:focus{
    --tw-border-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-border-opacity));
  }

  :root .md\:focus\:border-teal-light:focus{
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:focus\:border-teal:focus{
    --tw-border-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-border-opacity));
  }

  :root .md\:focus\:border-cyan-light:focus{
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:focus\:border-cyan:focus{
    --tw-border-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-border-opacity));
  }

  :root .md\:focus\:border-purple-light:focus{
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:focus\:border-purple:focus{
    --tw-border-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-border-opacity));
  }

  :root .md\:focus\:border-deep-purple-light:focus{
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:focus\:border-deep-purple:focus{
    --tw-border-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-border-opacity));
  }

  :root .md\:focus\:border-pink-light:focus{
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:focus\:border-pink:focus{
    --tw-border-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-border-opacity));
  }

  :root .md\:focus\:border-primary-light:focus{
    border-color: rgba(var(--color-primary), .1);
  }

  :root .md\:focus\:border-primary:focus{
    border-color: rgb(var(--color-primary));
  }

  :root .md\:focus\:border-accent-light:focus{
    border-color: rgba(var(--color-accent), .1);
  }

  :root .md\:focus\:border-accent:focus{
    border-color: rgb(var(--color-accent));
  }

  :root .md\:focus\:border-warn-light:focus{
    border-color: rgba(var(--color-warn), .1);
  }

  :root .md\:focus\:border-warn:focus{
    border-color: rgb(var(--color-warn));
  }

  :root .md\:border-opacity-0{
    --tw-border-opacity: 0;
  }

  :root .md\:border-opacity-25{
    --tw-border-opacity: 0.25;
  }

  :root .md\:border-opacity-50{
    --tw-border-opacity: 0.5;
  }

  :root .md\:border-opacity-75{
    --tw-border-opacity: 0.75;
  }

  :root .md\:border-opacity-100{
    --tw-border-opacity: 1;
  }

  :root .group:hover .md\:group-hover\:border-opacity-0{
    --tw-border-opacity: 0;
  }

  :root .group:hover .md\:group-hover\:border-opacity-25{
    --tw-border-opacity: 0.25;
  }

  :root .group:hover .md\:group-hover\:border-opacity-50{
    --tw-border-opacity: 0.5;
  }

  :root .group:hover .md\:group-hover\:border-opacity-75{
    --tw-border-opacity: 0.75;
  }

  :root .group:hover .md\:group-hover\:border-opacity-100{
    --tw-border-opacity: 1;
  }

  :root .md\:focus-within\:border-opacity-0:focus-within{
    --tw-border-opacity: 0;
  }

  :root .md\:focus-within\:border-opacity-25:focus-within{
    --tw-border-opacity: 0.25;
  }

  :root .md\:focus-within\:border-opacity-50:focus-within{
    --tw-border-opacity: 0.5;
  }

  :root .md\:focus-within\:border-opacity-75:focus-within{
    --tw-border-opacity: 0.75;
  }

  :root .md\:focus-within\:border-opacity-100:focus-within{
    --tw-border-opacity: 1;
  }

  :root .md\:hover\:border-opacity-0:hover{
    --tw-border-opacity: 0;
  }

  :root .md\:hover\:border-opacity-25:hover{
    --tw-border-opacity: 0.25;
  }

  :root .md\:hover\:border-opacity-50:hover{
    --tw-border-opacity: 0.5;
  }

  :root .md\:hover\:border-opacity-75:hover{
    --tw-border-opacity: 0.75;
  }

  :root .md\:hover\:border-opacity-100:hover{
    --tw-border-opacity: 1;
  }

  :root .md\:focus\:border-opacity-0:focus{
    --tw-border-opacity: 0;
  }

  :root .md\:focus\:border-opacity-25:focus{
    --tw-border-opacity: 0.25;
  }

  :root .md\:focus\:border-opacity-50:focus{
    --tw-border-opacity: 0.5;
  }

  :root .md\:focus\:border-opacity-75:focus{
    --tw-border-opacity: 0.75;
  }

  :root .md\:focus\:border-opacity-100:focus{
    --tw-border-opacity: 1;
  }

  :root .md\:rounded-none{
    border-radius: 0;
  }

  :root .md\:rounded-sm{
    border-radius: 0.125rem;
  }

  :root .md\:rounded{
    border-radius: 0.25rem;
  }

  :root .md\:rounded-lg{
    border-radius: 0.5rem;
  }

  :root .md\:rounded-full{
    border-radius: 9999px;
  }

  :root .md\:rounded-t-none{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  :root .md\:rounded-r-none{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  :root .md\:rounded-b-none{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root .md\:rounded-l-none{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root .md\:rounded-t-sm{
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
  }

  :root .md\:rounded-r-sm{
    border-top-right-radius: 0.125rem;
    border-bottom-right-radius: 0.125rem;
  }

  :root .md\:rounded-b-sm{
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root .md\:rounded-l-sm{
    border-top-left-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root .md\:rounded-t{
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }

  :root .md\:rounded-r{
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }

  :root .md\:rounded-b{
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root .md\:rounded-l{
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root .md\:rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }

  :root .md\:rounded-r-lg{
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
  }

  :root .md\:rounded-b-lg{
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root .md\:rounded-l-lg{
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root .md\:rounded-t-full{
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
  }

  :root .md\:rounded-r-full{
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }

  :root .md\:rounded-b-full{
    border-bottom-right-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root .md\:rounded-l-full{
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root .md\:rounded-tl-none{
    border-top-left-radius: 0;
  }

  :root .md\:rounded-tr-none{
    border-top-right-radius: 0;
  }

  :root .md\:rounded-br-none{
    border-bottom-right-radius: 0;
  }

  :root .md\:rounded-bl-none{
    border-bottom-left-radius: 0;
  }

  :root .md\:rounded-tl-sm{
    border-top-left-radius: 0.125rem;
  }

  :root .md\:rounded-tr-sm{
    border-top-right-radius: 0.125rem;
  }

  :root .md\:rounded-br-sm{
    border-bottom-right-radius: 0.125rem;
  }

  :root .md\:rounded-bl-sm{
    border-bottom-left-radius: 0.125rem;
  }

  :root .md\:rounded-tl{
    border-top-left-radius: 0.25rem;
  }

  :root .md\:rounded-tr{
    border-top-right-radius: 0.25rem;
  }

  :root .md\:rounded-br{
    border-bottom-right-radius: 0.25rem;
  }

  :root .md\:rounded-bl{
    border-bottom-left-radius: 0.25rem;
  }

  :root .md\:rounded-tl-lg{
    border-top-left-radius: 0.5rem;
  }

  :root .md\:rounded-tr-lg{
    border-top-right-radius: 0.5rem;
  }

  :root .md\:rounded-br-lg{
    border-bottom-right-radius: 0.5rem;
  }

  :root .md\:rounded-bl-lg{
    border-bottom-left-radius: 0.5rem;
  }

  :root .md\:rounded-tl-full{
    border-top-left-radius: 9999px;
  }

  :root .md\:rounded-tr-full{
    border-top-right-radius: 9999px;
  }

  :root .md\:rounded-br-full{
    border-bottom-right-radius: 9999px;
  }

  :root .md\:rounded-bl-full{
    border-bottom-left-radius: 9999px;
  }

  :root [dir=ltr] .md\:ltr\:rounded-none{
    border-radius: 0;
  }

  :root [dir=ltr] .md\:ltr\:rounded-sm{
    border-radius: 0.125rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded{
    border-radius: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-lg{
    border-radius: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-full{
    border-radius: 9999px;
  }

  :root [dir=ltr] .md\:ltr\:rounded-t-none{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  :root [dir=ltr] .md\:ltr\:rounded-r-none{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  :root [dir=ltr] .md\:ltr\:rounded-b-none{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=ltr] .md\:ltr\:rounded-l-none{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=ltr] .md\:ltr\:rounded-t-sm{
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-r-sm{
    border-top-right-radius: 0.125rem;
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-b-sm{
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-l-sm{
    border-top-left-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-t{
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-r{
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-b{
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-l{
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-r-lg{
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-b-lg{
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-l-lg{
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-t-full{
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
  }

  :root [dir=ltr] .md\:ltr\:rounded-r-full{
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }

  :root [dir=ltr] .md\:ltr\:rounded-b-full{
    border-bottom-right-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=ltr] .md\:ltr\:rounded-l-full{
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=ltr] .md\:ltr\:rounded-tl-none{
    border-top-left-radius: 0;
  }

  :root [dir=ltr] .md\:ltr\:rounded-tr-none{
    border-top-right-radius: 0;
  }

  :root [dir=ltr] .md\:ltr\:rounded-br-none{
    border-bottom-right-radius: 0;
  }

  :root [dir=ltr] .md\:ltr\:rounded-bl-none{
    border-bottom-left-radius: 0;
  }

  :root [dir=ltr] .md\:ltr\:rounded-tl-sm{
    border-top-left-radius: 0.125rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-tr-sm{
    border-top-right-radius: 0.125rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-br-sm{
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-bl-sm{
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-tl{
    border-top-left-radius: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-tr{
    border-top-right-radius: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-br{
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-bl{
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-tl-lg{
    border-top-left-radius: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-tr-lg{
    border-top-right-radius: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-br-lg{
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-bl-lg{
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:rounded-tl-full{
    border-top-left-radius: 9999px;
  }

  :root [dir=ltr] .md\:ltr\:rounded-tr-full{
    border-top-right-radius: 9999px;
  }

  :root [dir=ltr] .md\:ltr\:rounded-br-full{
    border-bottom-right-radius: 9999px;
  }

  :root [dir=ltr] .md\:ltr\:rounded-bl-full{
    border-bottom-left-radius: 9999px;
  }

  :root [dir=rtl] .md\:rtl\:rounded-none{
    border-radius: 0;
  }

  :root [dir=rtl] .md\:rtl\:rounded-sm{
    border-radius: 0.125rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded{
    border-radius: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-lg{
    border-radius: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-full{
    border-radius: 9999px;
  }

  :root [dir=rtl] .md\:rtl\:rounded-t-none{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  :root [dir=rtl] .md\:rtl\:rounded-r-none{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  :root [dir=rtl] .md\:rtl\:rounded-b-none{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=rtl] .md\:rtl\:rounded-l-none{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=rtl] .md\:rtl\:rounded-t-sm{
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-r-sm{
    border-top-right-radius: 0.125rem;
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-b-sm{
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-l-sm{
    border-top-left-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-t{
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-r{
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-b{
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-l{
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-r-lg{
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-b-lg{
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-l-lg{
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-t-full{
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
  }

  :root [dir=rtl] .md\:rtl\:rounded-r-full{
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }

  :root [dir=rtl] .md\:rtl\:rounded-b-full{
    border-bottom-right-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=rtl] .md\:rtl\:rounded-l-full{
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=rtl] .md\:rtl\:rounded-tl-none{
    border-top-left-radius: 0;
  }

  :root [dir=rtl] .md\:rtl\:rounded-tr-none{
    border-top-right-radius: 0;
  }

  :root [dir=rtl] .md\:rtl\:rounded-br-none{
    border-bottom-right-radius: 0;
  }

  :root [dir=rtl] .md\:rtl\:rounded-bl-none{
    border-bottom-left-radius: 0;
  }

  :root [dir=rtl] .md\:rtl\:rounded-tl-sm{
    border-top-left-radius: 0.125rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-tr-sm{
    border-top-right-radius: 0.125rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-br-sm{
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-bl-sm{
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-tl{
    border-top-left-radius: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-tr{
    border-top-right-radius: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-br{
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-bl{
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-tl-lg{
    border-top-left-radius: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-tr-lg{
    border-top-right-radius: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-br-lg{
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-bl-lg{
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:rounded-tl-full{
    border-top-left-radius: 9999px;
  }

  :root [dir=rtl] .md\:rtl\:rounded-tr-full{
    border-top-right-radius: 9999px;
  }

  :root [dir=rtl] .md\:rtl\:rounded-br-full{
    border-bottom-right-radius: 9999px;
  }

  :root [dir=rtl] .md\:rtl\:rounded-bl-full{
    border-bottom-left-radius: 9999px;
  }

  :root .md\:border-solid{
    border-style: solid;
  }

  :root .md\:border-dashed{
    border-style: dashed;
  }

  :root .md\:border-dotted{
    border-style: dotted;
  }

  :root .md\:border-double{
    border-style: double;
  }

  :root .md\:border-none{
    border-style: none;
  }

  :root .md\:border-0{
    border-width: 0;
  }

  :root .md\:border-2{
    border-width: 2px;
  }

  :root .md\:border-3{
    border-width: 3px;
  }

  :root .md\:border-4{
    border-width: 4px;
  }

  :root .md\:border-8{
    border-width: 8px;
  }

  :root .md\:border{
    border-width: 1px;
  }

  :root .md\:border-t-0{
    border-top-width: 0;
  }

  :root .md\:border-r-0{
    border-right-width: 0;
  }

  :root .md\:border-b-0{
    border-bottom-width: 0;
  }

  :root .md\:border-l-0{
    border-left-width: 0;
  }

  :root .md\:border-t-2{
    border-top-width: 2px;
  }

  :root .md\:border-r-2{
    border-right-width: 2px;
  }

  :root .md\:border-b-2{
    border-bottom-width: 2px;
  }

  :root .md\:border-l-2{
    border-left-width: 2px;
  }

  :root .md\:border-t-3{
    border-top-width: 3px;
  }

  :root .md\:border-r-3{
    border-right-width: 3px;
  }

  :root .md\:border-b-3{
    border-bottom-width: 3px;
  }

  :root .md\:border-l-3{
    border-left-width: 3px;
  }

  :root .md\:border-t-4{
    border-top-width: 4px;
  }

  :root .md\:border-r-4{
    border-right-width: 4px;
  }

  :root .md\:border-b-4{
    border-bottom-width: 4px;
  }

  :root .md\:border-l-4{
    border-left-width: 4px;
  }

  :root .md\:border-t-8{
    border-top-width: 8px;
  }

  :root .md\:border-r-8{
    border-right-width: 8px;
  }

  :root .md\:border-b-8{
    border-bottom-width: 8px;
  }

  :root .md\:border-l-8{
    border-left-width: 8px;
  }

  :root .md\:border-t{
    border-top-width: 1px;
  }

  :root .md\:border-r{
    border-right-width: 1px;
  }

  :root .md\:border-b{
    border-bottom-width: 1px;
  }

  :root .md\:border-l{
    border-left-width: 1px;
  }

  :root [dir=ltr] .md\:ltr\:border-0{
    border-width: 0;
  }

  :root [dir=ltr] .md\:ltr\:border-2{
    border-width: 2px;
  }

  :root [dir=ltr] .md\:ltr\:border-3{
    border-width: 3px;
  }

  :root [dir=ltr] .md\:ltr\:border-4{
    border-width: 4px;
  }

  :root [dir=ltr] .md\:ltr\:border-8{
    border-width: 8px;
  }

  :root [dir=ltr] .md\:ltr\:border{
    border-width: 1px;
  }

  :root [dir=ltr] .md\:ltr\:border-t-0{
    border-top-width: 0;
  }

  :root [dir=ltr] .md\:ltr\:border-r-0{
    border-right-width: 0;
  }

  :root [dir=ltr] .md\:ltr\:border-b-0{
    border-bottom-width: 0;
  }

  :root [dir=ltr] .md\:ltr\:border-l-0{
    border-left-width: 0;
  }

  :root [dir=ltr] .md\:ltr\:border-t-2{
    border-top-width: 2px;
  }

  :root [dir=ltr] .md\:ltr\:border-r-2{
    border-right-width: 2px;
  }

  :root [dir=ltr] .md\:ltr\:border-b-2{
    border-bottom-width: 2px;
  }

  :root [dir=ltr] .md\:ltr\:border-l-2{
    border-left-width: 2px;
  }

  :root [dir=ltr] .md\:ltr\:border-t-3{
    border-top-width: 3px;
  }

  :root [dir=ltr] .md\:ltr\:border-r-3{
    border-right-width: 3px;
  }

  :root [dir=ltr] .md\:ltr\:border-b-3{
    border-bottom-width: 3px;
  }

  :root [dir=ltr] .md\:ltr\:border-l-3{
    border-left-width: 3px;
  }

  :root [dir=ltr] .md\:ltr\:border-t-4{
    border-top-width: 4px;
  }

  :root [dir=ltr] .md\:ltr\:border-r-4{
    border-right-width: 4px;
  }

  :root [dir=ltr] .md\:ltr\:border-b-4{
    border-bottom-width: 4px;
  }

  :root [dir=ltr] .md\:ltr\:border-l-4{
    border-left-width: 4px;
  }

  :root [dir=ltr] .md\:ltr\:border-t-8{
    border-top-width: 8px;
  }

  :root [dir=ltr] .md\:ltr\:border-r-8{
    border-right-width: 8px;
  }

  :root [dir=ltr] .md\:ltr\:border-b-8{
    border-bottom-width: 8px;
  }

  :root [dir=ltr] .md\:ltr\:border-l-8{
    border-left-width: 8px;
  }

  :root [dir=ltr] .md\:ltr\:border-t{
    border-top-width: 1px;
  }

  :root [dir=ltr] .md\:ltr\:border-r{
    border-right-width: 1px;
  }

  :root [dir=ltr] .md\:ltr\:border-b{
    border-bottom-width: 1px;
  }

  :root [dir=ltr] .md\:ltr\:border-l{
    border-left-width: 1px;
  }

  :root [dir=rtl] .md\:rtl\:border-0{
    border-width: 0;
  }

  :root [dir=rtl] .md\:rtl\:border-2{
    border-width: 2px;
  }

  :root [dir=rtl] .md\:rtl\:border-3{
    border-width: 3px;
  }

  :root [dir=rtl] .md\:rtl\:border-4{
    border-width: 4px;
  }

  :root [dir=rtl] .md\:rtl\:border-8{
    border-width: 8px;
  }

  :root [dir=rtl] .md\:rtl\:border{
    border-width: 1px;
  }

  :root [dir=rtl] .md\:rtl\:border-t-0{
    border-top-width: 0;
  }

  :root [dir=rtl] .md\:rtl\:border-r-0{
    border-right-width: 0;
  }

  :root [dir=rtl] .md\:rtl\:border-b-0{
    border-bottom-width: 0;
  }

  :root [dir=rtl] .md\:rtl\:border-l-0{
    border-left-width: 0;
  }

  :root [dir=rtl] .md\:rtl\:border-t-2{
    border-top-width: 2px;
  }

  :root [dir=rtl] .md\:rtl\:border-r-2{
    border-right-width: 2px;
  }

  :root [dir=rtl] .md\:rtl\:border-b-2{
    border-bottom-width: 2px;
  }

  :root [dir=rtl] .md\:rtl\:border-l-2{
    border-left-width: 2px;
  }

  :root [dir=rtl] .md\:rtl\:border-t-3{
    border-top-width: 3px;
  }

  :root [dir=rtl] .md\:rtl\:border-r-3{
    border-right-width: 3px;
  }

  :root [dir=rtl] .md\:rtl\:border-b-3{
    border-bottom-width: 3px;
  }

  :root [dir=rtl] .md\:rtl\:border-l-3{
    border-left-width: 3px;
  }

  :root [dir=rtl] .md\:rtl\:border-t-4{
    border-top-width: 4px;
  }

  :root [dir=rtl] .md\:rtl\:border-r-4{
    border-right-width: 4px;
  }

  :root [dir=rtl] .md\:rtl\:border-b-4{
    border-bottom-width: 4px;
  }

  :root [dir=rtl] .md\:rtl\:border-l-4{
    border-left-width: 4px;
  }

  :root [dir=rtl] .md\:rtl\:border-t-8{
    border-top-width: 8px;
  }

  :root [dir=rtl] .md\:rtl\:border-r-8{
    border-right-width: 8px;
  }

  :root [dir=rtl] .md\:rtl\:border-b-8{
    border-bottom-width: 8px;
  }

  :root [dir=rtl] .md\:rtl\:border-l-8{
    border-left-width: 8px;
  }

  :root [dir=rtl] .md\:rtl\:border-t{
    border-top-width: 1px;
  }

  :root [dir=rtl] .md\:rtl\:border-r{
    border-right-width: 1px;
  }

  :root [dir=rtl] .md\:rtl\:border-b{
    border-bottom-width: 1px;
  }

  :root [dir=rtl] .md\:rtl\:border-l{
    border-left-width: 1px;
  }

  :root .md\:box-border{
    box-sizing: border-box;
  }

  :root .md\:box-content{
    box-sizing: content-box;
  }

  :root .md\:cursor-auto{
    cursor: auto;
  }

  :root .md\:cursor{
    cursor: default;
  }

  :root .md\:cursor-pointer{
    cursor: pointer;
  }

  :root .md\:cursor-wait{
    cursor: wait;
  }

  :root .md\:cursor-text{
    cursor: text;
  }

  :root .md\:cursor-move{
    cursor: move;
  }

  :root .md\:cursor-not-allowed{
    cursor: not-allowed;
  }

  :root .md\:block{
    display: block;
  }

  :root .md\:inline-block{
    display: inline-block;
  }

  :root .md\:inline{
    display: inline;
  }

  :root .md\:flex{
    display: flex;
  }

  :root .md\:inline-flex{
    display: inline-flex;
  }

  :root .md\:table{
    display: table;
  }

  :root .md\:table-caption{
    display: table-caption;
  }

  :root .md\:table-cell{
    display: table-cell;
  }

  :root .md\:table-column{
    display: table-column;
  }

  :root .md\:table-column-group{
    display: table-column-group;
  }

  :root .md\:table-footer-group{
    display: table-footer-group;
  }

  :root .md\:table-header-group{
    display: table-header-group;
  }

  :root .md\:table-row-group{
    display: table-row-group;
  }

  :root .md\:table-row{
    display: table-row;
  }

  :root .md\:flow-root{
    display: flow-root;
  }

  :root .md\:grid{
    display: grid;
  }

  :root .md\:inline-grid{
    display: inline-grid;
  }

  :root .md\:contents{
    display: contents;
  }

  :root .md\:hidden{
    display: none;
  }

  :root .md\:flex-row{
    flex-direction: row;
  }

  :root .md\:flex-row-reverse{
    flex-direction: row-reverse;
  }

  :root .md\:flex-col{
    flex-direction: column;
  }

  :root .md\:flex-col-reverse{
    flex-direction: column-reverse;
  }

  :root .md\:flex-wrap{
    flex-wrap: wrap;
  }

  :root .md\:flex-wrap-reverse{
    flex-wrap: wrap-reverse;
  }

  :root .md\:flex-nowrap{
    flex-wrap: nowrap;
  }

  :root .md\:place-items-auto{
    place-items: auto;
  }

  :root .md\:place-items-start{
    place-items: start;
  }

  :root .md\:place-items-end{
    place-items: end;
  }

  :root .md\:place-items-center{
    place-items: center;
  }

  :root .md\:place-items-stretch{
    place-items: stretch;
  }

  :root .md\:place-content-center{
    place-content: center;
  }

  :root .md\:place-content-start{
    place-content: start;
  }

  :root .md\:place-content-end{
    place-content: end;
  }

  :root .md\:place-content-between{
    place-content: space-between;
  }

  :root .md\:place-content-around{
    place-content: space-around;
  }

  :root .md\:place-content-evenly{
    place-content: space-evenly;
  }

  :root .md\:place-content-stretch{
    place-content: stretch;
  }

  :root .md\:place-self-auto{
    place-self: auto;
  }

  :root .md\:place-self-start{
    place-self: start;
  }

  :root .md\:place-self-end{
    place-self: end;
  }

  :root .md\:place-self-center{
    place-self: center;
  }

  :root .md\:place-self-stretch{
    place-self: stretch;
  }

  :root .md\:items-start{
    align-items: flex-start;
  }

  :root .md\:items-end{
    align-items: flex-end;
  }

  :root .md\:items-center{
    align-items: center;
  }

  :root .md\:items-baseline{
    align-items: baseline;
  }

  :root .md\:items-stretch{
    align-items: stretch;
  }

  :root .md\:content-center{
    align-content: center;
  }

  :root .md\:content-start{
    align-content: flex-start;
  }

  :root .md\:content-end{
    align-content: flex-end;
  }

  :root .md\:content-between{
    align-content: space-between;
  }

  :root .md\:content-around{
    align-content: space-around;
  }

  :root .md\:content-evenly{
    align-content: space-evenly;
  }

  :root .md\:self-auto{
    align-self: auto;
  }

  :root .md\:self-start{
    align-self: flex-start;
  }

  :root .md\:self-end{
    align-self: flex-end;
  }

  :root .md\:self-center{
    align-self: center;
  }

  :root .md\:self-stretch{
    align-self: stretch;
  }

  :root .md\:justify-items-auto{
    justify-items: auto;
  }

  :root .md\:justify-items-start{
    justify-items: start;
  }

  :root .md\:justify-items-end{
    justify-items: end;
  }

  :root .md\:justify-items-center{
    justify-items: center;
  }

  :root .md\:justify-items-stretch{
    justify-items: stretch;
  }

  :root .md\:justify-start{
    justify-content: flex-start;
  }

  :root .md\:justify-end{
    justify-content: flex-end;
  }

  :root .md\:justify-center{
    justify-content: center;
  }

  :root .md\:justify-between{
    justify-content: space-between;
  }

  :root .md\:justify-around{
    justify-content: space-around;
  }

  :root .md\:justify-evenly{
    justify-content: space-evenly;
  }

  :root .md\:justify-self-auto{
    justify-self: auto;
  }

  :root .md\:justify-self-start{
    justify-self: start;
  }

  :root .md\:justify-self-end{
    justify-self: end;
  }

  :root .md\:justify-self-center{
    justify-self: center;
  }

  :root .md\:justify-self-stretch{
    justify-self: stretch;
  }

  :root .md\:flex-1{
    flex: 1 1 0%;
  }

  :root .md\:flex-auto{
    flex: 1 1 auto;
  }

  :root .md\:flex-initial{
    flex: 0 1 auto;
  }

  :root .md\:flex-none{
    flex: none;
  }

  :root .md\:flex-grow-0{
    flex-grow: 0;
  }

  :root .md\:flex-grow{
    flex-grow: 1;
  }

  :root .md\:flex-shrink-0{
    flex-shrink: 0;
  }

  :root .md\:flex-shrink{
    flex-shrink: 1;
  }

  :root .md\:order-1{
    order: 1;
  }

  :root .md\:order-2{
    order: 2;
  }

  :root .md\:order-3{
    order: 3;
  }

  :root .md\:order-4{
    order: 4;
  }

  :root .md\:order-5{
    order: 5;
  }

  :root .md\:order-6{
    order: 6;
  }

  :root .md\:order-7{
    order: 7;
  }

  :root .md\:order-8{
    order: 8;
  }

  :root .md\:order-9{
    order: 9;
  }

  :root .md\:order-10{
    order: 10;
  }

  :root .md\:order-11{
    order: 11;
  }

  :root .md\:order-12{
    order: 12;
  }

  :root .md\:order-first{
    order: -9999;
  }

  :root .md\:order-last{
    order: 9999;
  }

  :root .md\:order-none{
    order: 0;
  }

  :root .md\:float-right{
    float: right;
  }

  :root .md\:float-left{
    float: left;
  }

  :root .md\:float-none{
    float: none;
  }

  :root .md\:clear-left{
    clear: left;
  }

  :root .md\:clear-right{
    clear: right;
  }

  :root .md\:clear-both{
    clear: both;
  }

  :root .md\:clear-none{
    clear: none;
  }

  :root .md\:font-sans{
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple ColorDef Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto ColorDef Emoji";
  }

  :root .md\:font-serif{
    font-family: Georgia, Cambria, "Times New Roman", Times, serif;
  }

  :root .md\:font-mono{
    font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  }

  :root .md\:font-hairline{
    font-weight: 100;
  }

  :root .md\:font-thin{
    font-weight: 200;
  }

  :root .md\:font-light{
    font-weight: 300;
  }

  :root .md\:font-normal{
    font-weight: 400;
  }

  :root .md\:font-medium{
    font-weight: 500;
  }

  :root .md\:font-semibold{
    font-weight: 600;
  }

  :root .md\:font-bold{
    font-weight: 700;
  }

  :root .md\:font-extrabold{
    font-weight: 800;
  }

  :root .md\:font-black{
    font-weight: 900;
  }

  :root .md\:hover\:font-hairline:hover{
    font-weight: 100;
  }

  :root .md\:hover\:font-thin:hover{
    font-weight: 200;
  }

  :root .md\:hover\:font-light:hover{
    font-weight: 300;
  }

  :root .md\:hover\:font-normal:hover{
    font-weight: 400;
  }

  :root .md\:hover\:font-medium:hover{
    font-weight: 500;
  }

  :root .md\:hover\:font-semibold:hover{
    font-weight: 600;
  }

  :root .md\:hover\:font-bold:hover{
    font-weight: 700;
  }

  :root .md\:hover\:font-extrabold:hover{
    font-weight: 800;
  }

  :root .md\:hover\:font-black:hover{
    font-weight: 900;
  }

  :root .md\:focus\:font-hairline:focus{
    font-weight: 100;
  }

  :root .md\:focus\:font-thin:focus{
    font-weight: 200;
  }

  :root .md\:focus\:font-light:focus{
    font-weight: 300;
  }

  :root .md\:focus\:font-normal:focus{
    font-weight: 400;
  }

  :root .md\:focus\:font-medium:focus{
    font-weight: 500;
  }

  :root .md\:focus\:font-semibold:focus{
    font-weight: 600;
  }

  :root .md\:focus\:font-bold:focus{
    font-weight: 700;
  }

  :root .md\:focus\:font-extrabold:focus{
    font-weight: 800;
  }

  :root .md\:focus\:font-black:focus{
    font-weight: 900;
  }

  :root .md\:h-0{
    height: 0;
  }

  :root .md\:h-1{
    height: 0.25rem;
  }

  :root .md\:h-2{
    height: 0.5rem;
  }

  :root .md\:h-3{
    height: 0.75rem;
  }

  :root .md\:h-4{
    height: 1rem;
  }

  :root .md\:h-5{
    height: 1.25rem;
  }

  :root .md\:h-6{
    height: 1.5rem;
  }

  :root .md\:h-8{
    height: 2rem;
  }

  :root .md\:h-9{
    height: 2.25rem;
  }

  :root .md\:h-10{
    height: 2.5rem;
  }

  :root .md\:h-12{
    height: 3rem;
  }

  :root .md\:h-14{
    height: 3.5rem;
  }

  :root .md\:h-16{
    height: 4rem;
  }

  :root .md\:h-20{
    height: 5rem;
  }

  :root .md\:h-24{
    height: 6rem;
  }

  :root .md\:h-32{
    height: 8rem;
  }

  :root .md\:h-40{
    height: 10rem;
  }

  :root .md\:h-48{
    height: 12rem;
  }

  :root .md\:h-56{
    height: 14rem;
  }

  :root .md\:h-64{
    height: 16rem;
  }

  :root .md\:h-auto{
    height: auto;
  }

  :root .md\:h-px{
    height: 1px;
  }

  :root .md\:h-gutter{
    height: var(--padding-gutter);
  }

  :root .md\:h-full{
    height: 100%;
  }

  :root .md\:h-screen{
    height: 100vh;
  }

  :root .md\:text-xxs{
    font-size: 0.625rem;
  }

  :root .md\:text-xs{
    font-size: 0.75rem;
  }

  :root .md\:text-sm{
    font-size: 0.875rem;
  }

  :root .md\:text-base{
    font-size: 1rem;
  }

  :root .md\:text-lg{
    font-size: 1.125rem;
  }

  :root .md\:text-xl{
    font-size: 1.25rem;
  }

  :root .md\:text-2xl{
    font-size: 1.5rem;
  }

  :root .md\:text-3xl{
    font-size: 1.875rem;
  }

  :root .md\:text-4xl{
    font-size: 2.25rem;
  }

  :root .md\:text-5xl{
    font-size: 3rem;
  }

  :root .md\:text-6xl{
    font-size: 4rem;
  }

  :root .md\:leading-none{
    line-height: 1;
  }

  :root .md\:leading-tight{
    line-height: 1.25;
  }

  :root .md\:leading-snug{
    line-height: 1.375;
  }

  :root .md\:leading-normal{
    line-height: 1.5;
  }

  :root .md\:leading-relaxed{
    line-height: 1.625;
  }

  :root .md\:leading-loose{
    line-height: 2;
  }

  :root .md\:list-inside{
    list-style-position: inside;
  }

  :root .md\:list-outside{
    list-style-position: outside;
  }

  :root .md\:list-none{
    list-style-type: none;
  }

  :root .md\:list-disc{
    list-style-type: disc;
  }

  :root .md\:list-decimal{
    list-style-type: decimal;
  }

  :root .md\:m-0{
    margin: 0;
  }

  :root .md\:m-1{
    margin: 0.25rem;
  }

  :root .md\:m-2{
    margin: 0.5rem;
  }

  :root .md\:m-3{
    margin: 0.75rem;
  }

  :root .md\:m-4{
    margin: 1rem;
  }

  :root .md\:m-5{
    margin: 1.25rem;
  }

  :root .md\:m-6{
    margin: 1.5rem;
  }

  :root .md\:m-8{
    margin: 2rem;
  }

  :root .md\:m-9{
    margin: 2.25rem;
  }

  :root .md\:m-10{
    margin: 2.5rem;
  }

  :root .md\:m-12{
    margin: 3rem;
  }

  :root .md\:m-14{
    margin: 3.5rem;
  }

  :root .md\:m-16{
    margin: 4rem;
  }

  :root .md\:m-20{
    margin: 5rem;
  }

  :root .md\:m-24{
    margin: 6rem;
  }

  :root .md\:m-32{
    margin: 8rem;
  }

  :root .md\:m-40{
    margin: 10rem;
  }

  :root .md\:m-48{
    margin: 12rem;
  }

  :root .md\:m-56{
    margin: 14rem;
  }

  :root .md\:m-64{
    margin: 16rem;
  }

  :root .md\:m-auto{
    margin: auto;
  }

  :root .md\:m-px{
    margin: 1px;
  }

  :root .md\:m-gutter{
    margin: var(--padding-gutter);
  }

  :root .md\:-m-1{
    margin: -0.25rem;
  }

  :root .md\:-m-2{
    margin: -0.5rem;
  }

  :root .md\:-m-3{
    margin: -0.75rem;
  }

  :root .md\:-m-4{
    margin: -1rem;
  }

  :root .md\:-m-5{
    margin: -1.25rem;
  }

  :root .md\:-m-6{
    margin: -1.5rem;
  }

  :root .md\:-m-8{
    margin: -2rem;
  }

  :root .md\:-m-9{
    margin: -2.25rem;
  }

  :root .md\:-m-10{
    margin: -2.5rem;
  }

  :root .md\:-m-12{
    margin: -3rem;
  }

  :root .md\:-m-14{
    margin: -3.5rem;
  }

  :root .md\:-m-16{
    margin: -4rem;
  }

  :root .md\:-m-20{
    margin: -5rem;
  }

  :root .md\:-m-24{
    margin: -6rem;
  }

  :root .md\:-m-32{
    margin: -8rem;
  }

  :root .md\:-m-40{
    margin: -10rem;
  }

  :root .md\:-m-48{
    margin: -12rem;
  }

  :root .md\:-m-56{
    margin: -14rem;
  }

  :root .md\:-m-64{
    margin: -16rem;
  }

  :root .md\:-m-px{
    margin: -1px;
  }

  :root .md\:-m-gutter{
    margin: calc(var(--padding-gutter) * -1);
  }

  :root .md\:my-0{
    margin-top: 0;
    margin-bottom: 0;
  }

  :root .md\:mx-0{
    margin-left: 0;
    margin-right: 0;
  }

  :root .md\:my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  :root .md\:mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }

  :root .md\:my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  :root .md\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  :root .md\:my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  :root .md\:mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  :root .md\:my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  :root .md\:mx-4{
    margin-left: 1rem;
    margin-right: 1rem;
  }

  :root .md\:my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }

  :root .md\:mx-5{
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  :root .md\:my-6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  :root .md\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  :root .md\:my-8{
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  :root .md\:mx-8{
    margin-left: 2rem;
    margin-right: 2rem;
  }

  :root .md\:my-9{
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
  }

  :root .md\:mx-9{
    margin-left: 2.25rem;
    margin-right: 2.25rem;
  }

  :root .md\:my-10{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }

  :root .md\:mx-10{
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }

  :root .md\:my-12{
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  :root .md\:mx-12{
    margin-left: 3rem;
    margin-right: 3rem;
  }

  :root .md\:my-14{
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  :root .md\:mx-14{
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }

  :root .md\:my-16{
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  :root .md\:mx-16{
    margin-left: 4rem;
    margin-right: 4rem;
  }

  :root .md\:my-20{
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  :root .md\:mx-20{
    margin-left: 5rem;
    margin-right: 5rem;
  }

  :root .md\:my-24{
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  :root .md\:mx-24{
    margin-left: 6rem;
    margin-right: 6rem;
  }

  :root .md\:my-32{
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  :root .md\:mx-32{
    margin-left: 8rem;
    margin-right: 8rem;
  }

  :root .md\:my-40{
    margin-top: 10rem;
    margin-bottom: 10rem;
  }

  :root .md\:mx-40{
    margin-left: 10rem;
    margin-right: 10rem;
  }

  :root .md\:my-48{
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  :root .md\:mx-48{
    margin-left: 12rem;
    margin-right: 12rem;
  }

  :root .md\:my-56{
    margin-top: 14rem;
    margin-bottom: 14rem;
  }

  :root .md\:mx-56{
    margin-left: 14rem;
    margin-right: 14rem;
  }

  :root .md\:my-64{
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  :root .md\:mx-64{
    margin-left: 16rem;
    margin-right: 16rem;
  }

  :root .md\:my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }

  :root .md\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

  :root .md\:my-px{
    margin-top: 1px;
    margin-bottom: 1px;
  }

  :root .md\:mx-px{
    margin-left: 1px;
    margin-right: 1px;
  }

  :root .md\:my-gutter{
    margin-top: var(--padding-gutter);
    margin-bottom: var(--padding-gutter);
  }

  :root .md\:mx-gutter{
    margin-left: var(--padding-gutter);
    margin-right: var(--padding-gutter);
  }

  :root .md\:-my-1{
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }

  :root .md\:-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  :root .md\:-my-2{
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }

  :root .md\:-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  :root .md\:-my-3{
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }

  :root .md\:-mx-3{
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

  :root .md\:-my-4{
    margin-top: -1rem;
    margin-bottom: -1rem;
  }

  :root .md\:-mx-4{
    margin-left: -1rem;
    margin-right: -1rem;
  }

  :root .md\:-my-5{
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }

  :root .md\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  :root .md\:-my-6{
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }

  :root .md\:-mx-6{
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

  :root .md\:-my-8{
    margin-top: -2rem;
    margin-bottom: -2rem;
  }

  :root .md\:-mx-8{
    margin-left: -2rem;
    margin-right: -2rem;
  }

  :root .md\:-my-9{
    margin-top: -2.25rem;
    margin-bottom: -2.25rem;
  }

  :root .md\:-mx-9{
    margin-left: -2.25rem;
    margin-right: -2.25rem;
  }

  :root .md\:-my-10{
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
  }

  :root .md\:-mx-10{
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

  :root .md\:-my-12{
    margin-top: -3rem;
    margin-bottom: -3rem;
  }

  :root .md\:-mx-12{
    margin-left: -3rem;
    margin-right: -3rem;
  }

  :root .md\:-my-14{
    margin-top: -3.5rem;
    margin-bottom: -3.5rem;
  }

  :root .md\:-mx-14{
    margin-left: -3.5rem;
    margin-right: -3.5rem;
  }

  :root .md\:-my-16{
    margin-top: -4rem;
    margin-bottom: -4rem;
  }

  :root .md\:-mx-16{
    margin-left: -4rem;
    margin-right: -4rem;
  }

  :root .md\:-my-20{
    margin-top: -5rem;
    margin-bottom: -5rem;
  }

  :root .md\:-mx-20{
    margin-left: -5rem;
    margin-right: -5rem;
  }

  :root .md\:-my-24{
    margin-top: -6rem;
    margin-bottom: -6rem;
  }

  :root .md\:-mx-24{
    margin-left: -6rem;
    margin-right: -6rem;
  }

  :root .md\:-my-32{
    margin-top: -8rem;
    margin-bottom: -8rem;
  }

  :root .md\:-mx-32{
    margin-left: -8rem;
    margin-right: -8rem;
  }

  :root .md\:-my-40{
    margin-top: -10rem;
    margin-bottom: -10rem;
  }

  :root .md\:-mx-40{
    margin-left: -10rem;
    margin-right: -10rem;
  }

  :root .md\:-my-48{
    margin-top: -12rem;
    margin-bottom: -12rem;
  }

  :root .md\:-mx-48{
    margin-left: -12rem;
    margin-right: -12rem;
  }

  :root .md\:-my-56{
    margin-top: -14rem;
    margin-bottom: -14rem;
  }

  :root .md\:-mx-56{
    margin-left: -14rem;
    margin-right: -14rem;
  }

  :root .md\:-my-64{
    margin-top: -16rem;
    margin-bottom: -16rem;
  }

  :root .md\:-mx-64{
    margin-left: -16rem;
    margin-right: -16rem;
  }

  :root .md\:-my-px{
    margin-top: -1px;
    margin-bottom: -1px;
  }

  :root .md\:-mx-px{
    margin-left: -1px;
    margin-right: -1px;
  }

  :root .md\:-my-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root .md\:-mx-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root .md\:mt-0{
    margin-top: 0;
  }

  :root .md\:mr-0{
    margin-right: 0;
  }

  :root .md\:mb-0{
    margin-bottom: 0;
  }

  :root .md\:ml-0{
    margin-left: 0;
  }

  :root .md\:mt-1{
    margin-top: 0.25rem;
  }

  :root .md\:mr-1{
    margin-right: 0.25rem;
  }

  :root .md\:mb-1{
    margin-bottom: 0.25rem;
  }

  :root .md\:ml-1{
    margin-left: 0.25rem;
  }

  :root .md\:mt-2{
    margin-top: 0.5rem;
  }

  :root .md\:mr-2{
    margin-right: 0.5rem;
  }

  :root .md\:mb-2{
    margin-bottom: 0.5rem;
  }

  :root .md\:ml-2{
    margin-left: 0.5rem;
  }

  :root .md\:mt-3{
    margin-top: 0.75rem;
  }

  :root .md\:mr-3{
    margin-right: 0.75rem;
  }

  :root .md\:mb-3{
    margin-bottom: 0.75rem;
  }

  :root .md\:ml-3{
    margin-left: 0.75rem;
  }

  :root .md\:mt-4{
    margin-top: 1rem;
  }

  :root .md\:mr-4{
    margin-right: 1rem;
  }

  :root .md\:mb-4{
    margin-bottom: 1rem;
  }

  :root .md\:ml-4{
    margin-left: 1rem;
  }

  :root .md\:mt-5{
    margin-top: 1.25rem;
  }

  :root .md\:mr-5{
    margin-right: 1.25rem;
  }

  :root .md\:mb-5{
    margin-bottom: 1.25rem;
  }

  :root .md\:ml-5{
    margin-left: 1.25rem;
  }

  :root .md\:mt-6{
    margin-top: 1.5rem;
  }

  :root .md\:mr-6{
    margin-right: 1.5rem;
  }

  :root .md\:mb-6{
    margin-bottom: 1.5rem;
  }

  :root .md\:ml-6{
    margin-left: 1.5rem;
  }

  :root .md\:mt-8{
    margin-top: 2rem;
  }

  :root .md\:mr-8{
    margin-right: 2rem;
  }

  :root .md\:mb-8{
    margin-bottom: 2rem;
  }

  :root .md\:ml-8{
    margin-left: 2rem;
  }

  :root .md\:mt-9{
    margin-top: 2.25rem;
  }

  :root .md\:mr-9{
    margin-right: 2.25rem;
  }

  :root .md\:mb-9{
    margin-bottom: 2.25rem;
  }

  :root .md\:ml-9{
    margin-left: 2.25rem;
  }

  :root .md\:mt-10{
    margin-top: 2.5rem;
  }

  :root .md\:mr-10{
    margin-right: 2.5rem;
  }

  :root .md\:mb-10{
    margin-bottom: 2.5rem;
  }

  :root .md\:ml-10{
    margin-left: 2.5rem;
  }

  :root .md\:mt-12{
    margin-top: 3rem;
  }

  :root .md\:mr-12{
    margin-right: 3rem;
  }

  :root .md\:mb-12{
    margin-bottom: 3rem;
  }

  :root .md\:ml-12{
    margin-left: 3rem;
  }

  :root .md\:mt-14{
    margin-top: 3.5rem;
  }

  :root .md\:mr-14{
    margin-right: 3.5rem;
  }

  :root .md\:mb-14{
    margin-bottom: 3.5rem;
  }

  :root .md\:ml-14{
    margin-left: 3.5rem;
  }

  :root .md\:mt-16{
    margin-top: 4rem;
  }

  :root .md\:mr-16{
    margin-right: 4rem;
  }

  :root .md\:mb-16{
    margin-bottom: 4rem;
  }

  :root .md\:ml-16{
    margin-left: 4rem;
  }

  :root .md\:mt-20{
    margin-top: 5rem;
  }

  :root .md\:mr-20{
    margin-right: 5rem;
  }

  :root .md\:mb-20{
    margin-bottom: 5rem;
  }

  :root .md\:ml-20{
    margin-left: 5rem;
  }

  :root .md\:mt-24{
    margin-top: 6rem;
  }

  :root .md\:mr-24{
    margin-right: 6rem;
  }

  :root .md\:mb-24{
    margin-bottom: 6rem;
  }

  :root .md\:ml-24{
    margin-left: 6rem;
  }

  :root .md\:mt-32{
    margin-top: 8rem;
  }

  :root .md\:mr-32{
    margin-right: 8rem;
  }

  :root .md\:mb-32{
    margin-bottom: 8rem;
  }

  :root .md\:ml-32{
    margin-left: 8rem;
  }

  :root .md\:mt-40{
    margin-top: 10rem;
  }

  :root .md\:mr-40{
    margin-right: 10rem;
  }

  :root .md\:mb-40{
    margin-bottom: 10rem;
  }

  :root .md\:ml-40{
    margin-left: 10rem;
  }

  :root .md\:mt-48{
    margin-top: 12rem;
  }

  :root .md\:mr-48{
    margin-right: 12rem;
  }

  :root .md\:mb-48{
    margin-bottom: 12rem;
  }

  :root .md\:ml-48{
    margin-left: 12rem;
  }

  :root .md\:mt-56{
    margin-top: 14rem;
  }

  :root .md\:mr-56{
    margin-right: 14rem;
  }

  :root .md\:mb-56{
    margin-bottom: 14rem;
  }

  :root .md\:ml-56{
    margin-left: 14rem;
  }

  :root .md\:mt-64{
    margin-top: 16rem;
  }

  :root .md\:mr-64{
    margin-right: 16rem;
  }

  :root .md\:mb-64{
    margin-bottom: 16rem;
  }

  :root .md\:ml-64{
    margin-left: 16rem;
  }

  :root .md\:mt-auto{
    margin-top: auto;
  }

  :root .md\:mr-auto{
    margin-right: auto;
  }

  :root .md\:mb-auto{
    margin-bottom: auto;
  }

  :root .md\:ml-auto{
    margin-left: auto;
  }

  :root .md\:mt-px{
    margin-top: 1px;
  }

  :root .md\:mr-px{
    margin-right: 1px;
  }

  :root .md\:mb-px{
    margin-bottom: 1px;
  }

  :root .md\:ml-px{
    margin-left: 1px;
  }

  :root .md\:mt-gutter{
    margin-top: var(--padding-gutter);
  }

  :root .md\:mr-gutter{
    margin-right: var(--padding-gutter);
  }

  :root .md\:mb-gutter{
    margin-bottom: var(--padding-gutter);
  }

  :root .md\:ml-gutter{
    margin-left: var(--padding-gutter);
  }

  :root .md\:-mt-1{
    margin-top: -0.25rem;
  }

  :root .md\:-mr-1{
    margin-right: -0.25rem;
  }

  :root .md\:-mb-1{
    margin-bottom: -0.25rem;
  }

  :root .md\:-ml-1{
    margin-left: -0.25rem;
  }

  :root .md\:-mt-2{
    margin-top: -0.5rem;
  }

  :root .md\:-mr-2{
    margin-right: -0.5rem;
  }

  :root .md\:-mb-2{
    margin-bottom: -0.5rem;
  }

  :root .md\:-ml-2{
    margin-left: -0.5rem;
  }

  :root .md\:-mt-3{
    margin-top: -0.75rem;
  }

  :root .md\:-mr-3{
    margin-right: -0.75rem;
  }

  :root .md\:-mb-3{
    margin-bottom: -0.75rem;
  }

  :root .md\:-ml-3{
    margin-left: -0.75rem;
  }

  :root .md\:-mt-4{
    margin-top: -1rem;
  }

  :root .md\:-mr-4{
    margin-right: -1rem;
  }

  :root .md\:-mb-4{
    margin-bottom: -1rem;
  }

  :root .md\:-ml-4{
    margin-left: -1rem;
  }

  :root .md\:-mt-5{
    margin-top: -1.25rem;
  }

  :root .md\:-mr-5{
    margin-right: -1.25rem;
  }

  :root .md\:-mb-5{
    margin-bottom: -1.25rem;
  }

  :root .md\:-ml-5{
    margin-left: -1.25rem;
  }

  :root .md\:-mt-6{
    margin-top: -1.5rem;
  }

  :root .md\:-mr-6{
    margin-right: -1.5rem;
  }

  :root .md\:-mb-6{
    margin-bottom: -1.5rem;
  }

  :root .md\:-ml-6{
    margin-left: -1.5rem;
  }

  :root .md\:-mt-8{
    margin-top: -2rem;
  }

  :root .md\:-mr-8{
    margin-right: -2rem;
  }

  :root .md\:-mb-8{
    margin-bottom: -2rem;
  }

  :root .md\:-ml-8{
    margin-left: -2rem;
  }

  :root .md\:-mt-9{
    margin-top: -2.25rem;
  }

  :root .md\:-mr-9{
    margin-right: -2.25rem;
  }

  :root .md\:-mb-9{
    margin-bottom: -2.25rem;
  }

  :root .md\:-ml-9{
    margin-left: -2.25rem;
  }

  :root .md\:-mt-10{
    margin-top: -2.5rem;
  }

  :root .md\:-mr-10{
    margin-right: -2.5rem;
  }

  :root .md\:-mb-10{
    margin-bottom: -2.5rem;
  }

  :root .md\:-ml-10{
    margin-left: -2.5rem;
  }

  :root .md\:-mt-12{
    margin-top: -3rem;
  }

  :root .md\:-mr-12{
    margin-right: -3rem;
  }

  :root .md\:-mb-12{
    margin-bottom: -3rem;
  }

  :root .md\:-ml-12{
    margin-left: -3rem;
  }

  :root .md\:-mt-14{
    margin-top: -3.5rem;
  }

  :root .md\:-mr-14{
    margin-right: -3.5rem;
  }

  :root .md\:-mb-14{
    margin-bottom: -3.5rem;
  }

  :root .md\:-ml-14{
    margin-left: -3.5rem;
  }

  :root .md\:-mt-16{
    margin-top: -4rem;
  }

  :root .md\:-mr-16{
    margin-right: -4rem;
  }

  :root .md\:-mb-16{
    margin-bottom: -4rem;
  }

  :root .md\:-ml-16{
    margin-left: -4rem;
  }

  :root .md\:-mt-20{
    margin-top: -5rem;
  }

  :root .md\:-mr-20{
    margin-right: -5rem;
  }

  :root .md\:-mb-20{
    margin-bottom: -5rem;
  }

  :root .md\:-ml-20{
    margin-left: -5rem;
  }

  :root .md\:-mt-24{
    margin-top: -6rem;
  }

  :root .md\:-mr-24{
    margin-right: -6rem;
  }

  :root .md\:-mb-24{
    margin-bottom: -6rem;
  }

  :root .md\:-ml-24{
    margin-left: -6rem;
  }

  :root .md\:-mt-32{
    margin-top: -8rem;
  }

  :root .md\:-mr-32{
    margin-right: -8rem;
  }

  :root .md\:-mb-32{
    margin-bottom: -8rem;
  }

  :root .md\:-ml-32{
    margin-left: -8rem;
  }

  :root .md\:-mt-40{
    margin-top: -10rem;
  }

  :root .md\:-mr-40{
    margin-right: -10rem;
  }

  :root .md\:-mb-40{
    margin-bottom: -10rem;
  }

  :root .md\:-ml-40{
    margin-left: -10rem;
  }

  :root .md\:-mt-48{
    margin-top: -12rem;
  }

  :root .md\:-mr-48{
    margin-right: -12rem;
  }

  :root .md\:-mb-48{
    margin-bottom: -12rem;
  }

  :root .md\:-ml-48{
    margin-left: -12rem;
  }

  :root .md\:-mt-56{
    margin-top: -14rem;
  }

  :root .md\:-mr-56{
    margin-right: -14rem;
  }

  :root .md\:-mb-56{
    margin-bottom: -14rem;
  }

  :root .md\:-ml-56{
    margin-left: -14rem;
  }

  :root .md\:-mt-64{
    margin-top: -16rem;
  }

  :root .md\:-mr-64{
    margin-right: -16rem;
  }

  :root .md\:-mb-64{
    margin-bottom: -16rem;
  }

  :root .md\:-ml-64{
    margin-left: -16rem;
  }

  :root .md\:-mt-px{
    margin-top: -1px;
  }

  :root .md\:-mr-px{
    margin-right: -1px;
  }

  :root .md\:-mb-px{
    margin-bottom: -1px;
  }

  :root .md\:-ml-px{
    margin-left: -1px;
  }

  :root .md\:-mt-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
  }

  :root .md\:-mr-gutter{
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root .md\:-mb-gutter{
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root .md\:-ml-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .md\:ltr\:m-0{
    margin: 0;
  }

  :root [dir=ltr] .md\:ltr\:m-1{
    margin: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:m-2{
    margin: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:m-3{
    margin: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:m-4{
    margin: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:m-5{
    margin: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:m-6{
    margin: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:m-8{
    margin: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:m-9{
    margin: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:m-10{
    margin: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:m-12{
    margin: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:m-14{
    margin: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:m-16{
    margin: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:m-20{
    margin: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:m-24{
    margin: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:m-32{
    margin: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:m-40{
    margin: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:m-48{
    margin: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:m-56{
    margin: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:m-64{
    margin: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:m-auto{
    margin: auto;
  }

  :root [dir=ltr] .md\:ltr\:m-px{
    margin: 1px;
  }

  :root [dir=ltr] .md\:ltr\:m-gutter{
    margin: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:-m-1{
    margin: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-2{
    margin: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-3{
    margin: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-4{
    margin: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-5{
    margin: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-6{
    margin: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-8{
    margin: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-9{
    margin: -2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-10{
    margin: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-12{
    margin: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-14{
    margin: -3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-16{
    margin: -4rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-20{
    margin: -5rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-24{
    margin: -6rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-32{
    margin: -8rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-40{
    margin: -10rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-48{
    margin: -12rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-56{
    margin: -14rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-64{
    margin: -16rem;
  }

  :root [dir=ltr] .md\:ltr\:-m-px{
    margin: -1px;
  }

  :root [dir=ltr] .md\:ltr\:-m-gutter{
    margin: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .md\:ltr\:my-0{
    margin-top: 0;
    margin-bottom: 0;
  }

  :root [dir=ltr] .md\:ltr\:mx-0{
    margin-left: 0;
    margin-right: 0;
  }

  :root [dir=ltr] .md\:ltr\:my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-4{
    margin-left: 1rem;
    margin-right: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-5{
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:my-6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:my-8{
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-8{
    margin-left: 2rem;
    margin-right: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:my-9{
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-9{
    margin-left: 2.25rem;
    margin-right: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:my-10{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-10{
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:my-12{
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-12{
    margin-left: 3rem;
    margin-right: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:my-14{
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-14{
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:my-16{
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-16{
    margin-left: 4rem;
    margin-right: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:my-20{
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-20{
    margin-left: 5rem;
    margin-right: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:my-24{
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-24{
    margin-left: 6rem;
    margin-right: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:my-32{
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-32{
    margin-left: 8rem;
    margin-right: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:my-40{
    margin-top: 10rem;
    margin-bottom: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-40{
    margin-left: 10rem;
    margin-right: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:my-48{
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-48{
    margin-left: 12rem;
    margin-right: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:my-56{
    margin-top: 14rem;
    margin-bottom: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-56{
    margin-left: 14rem;
    margin-right: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:my-64{
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:mx-64{
    margin-left: 16rem;
    margin-right: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }

  :root [dir=ltr] .md\:ltr\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

  :root [dir=ltr] .md\:ltr\:my-px{
    margin-top: 1px;
    margin-bottom: 1px;
  }

  :root [dir=ltr] .md\:ltr\:mx-px{
    margin-left: 1px;
    margin-right: 1px;
  }

  :root [dir=ltr] .md\:ltr\:my-gutter{
    margin-top: var(--padding-gutter);
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:mx-gutter{
    margin-left: var(--padding-gutter);
    margin-right: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:-my-1{
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-2{
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-3{
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-3{
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-4{
    margin-top: -1rem;
    margin-bottom: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-4{
    margin-left: -1rem;
    margin-right: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-5{
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-6{
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-6{
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-8{
    margin-top: -2rem;
    margin-bottom: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-8{
    margin-left: -2rem;
    margin-right: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-9{
    margin-top: -2.25rem;
    margin-bottom: -2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-9{
    margin-left: -2.25rem;
    margin-right: -2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-10{
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-10{
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-12{
    margin-top: -3rem;
    margin-bottom: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-12{
    margin-left: -3rem;
    margin-right: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-14{
    margin-top: -3.5rem;
    margin-bottom: -3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-14{
    margin-left: -3.5rem;
    margin-right: -3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-16{
    margin-top: -4rem;
    margin-bottom: -4rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-16{
    margin-left: -4rem;
    margin-right: -4rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-20{
    margin-top: -5rem;
    margin-bottom: -5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-20{
    margin-left: -5rem;
    margin-right: -5rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-24{
    margin-top: -6rem;
    margin-bottom: -6rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-24{
    margin-left: -6rem;
    margin-right: -6rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-32{
    margin-top: -8rem;
    margin-bottom: -8rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-32{
    margin-left: -8rem;
    margin-right: -8rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-40{
    margin-top: -10rem;
    margin-bottom: -10rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-40{
    margin-left: -10rem;
    margin-right: -10rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-48{
    margin-top: -12rem;
    margin-bottom: -12rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-48{
    margin-left: -12rem;
    margin-right: -12rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-56{
    margin-top: -14rem;
    margin-bottom: -14rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-56{
    margin-left: -14rem;
    margin-right: -14rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-64{
    margin-top: -16rem;
    margin-bottom: -16rem;
  }

  :root [dir=ltr] .md\:ltr\:-mx-64{
    margin-left: -16rem;
    margin-right: -16rem;
  }

  :root [dir=ltr] .md\:ltr\:-my-px{
    margin-top: -1px;
    margin-bottom: -1px;
  }

  :root [dir=ltr] .md\:ltr\:-mx-px{
    margin-left: -1px;
    margin-right: -1px;
  }

  :root [dir=ltr] .md\:ltr\:-my-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .md\:ltr\:-mx-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .md\:ltr\:mt-0{
    margin-top: 0;
  }

  :root [dir=ltr] .md\:ltr\:mr-0{
    margin-right: 0;
  }

  :root [dir=ltr] .md\:ltr\:mb-0{
    margin-bottom: 0;
  }

  :root [dir=ltr] .md\:ltr\:ml-0{
    margin-left: 0;
  }

  :root [dir=ltr] .md\:ltr\:mt-1{
    margin-top: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-1{
    margin-right: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-1{
    margin-bottom: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-1{
    margin-left: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-2{
    margin-top: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-2{
    margin-right: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-2{
    margin-bottom: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-2{
    margin-left: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-3{
    margin-top: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-3{
    margin-right: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-3{
    margin-bottom: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-3{
    margin-left: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-4{
    margin-top: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-4{
    margin-right: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-4{
    margin-bottom: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-4{
    margin-left: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-5{
    margin-top: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-5{
    margin-right: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-5{
    margin-bottom: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-5{
    margin-left: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-6{
    margin-top: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-6{
    margin-right: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-6{
    margin-bottom: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-6{
    margin-left: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-8{
    margin-top: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-8{
    margin-right: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-8{
    margin-bottom: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-8{
    margin-left: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-9{
    margin-top: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-9{
    margin-right: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-9{
    margin-bottom: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-9{
    margin-left: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-10{
    margin-top: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-10{
    margin-right: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-10{
    margin-bottom: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-10{
    margin-left: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-12{
    margin-top: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-12{
    margin-right: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-12{
    margin-bottom: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-12{
    margin-left: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-14{
    margin-top: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-14{
    margin-right: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-14{
    margin-bottom: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-14{
    margin-left: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-16{
    margin-top: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-16{
    margin-right: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-16{
    margin-bottom: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-16{
    margin-left: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-20{
    margin-top: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-20{
    margin-right: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-20{
    margin-bottom: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-20{
    margin-left: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-24{
    margin-top: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-24{
    margin-right: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-24{
    margin-bottom: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-24{
    margin-left: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-32{
    margin-top: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-32{
    margin-right: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-32{
    margin-bottom: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-32{
    margin-left: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-40{
    margin-top: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-40{
    margin-right: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-40{
    margin-bottom: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-40{
    margin-left: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-48{
    margin-top: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-48{
    margin-right: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-48{
    margin-bottom: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-48{
    margin-left: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-56{
    margin-top: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-56{
    margin-right: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-56{
    margin-bottom: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-56{
    margin-left: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-64{
    margin-top: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:mr-64{
    margin-right: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:mb-64{
    margin-bottom: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:ml-64{
    margin-left: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:mt-auto{
    margin-top: auto;
  }

  :root [dir=ltr] .md\:ltr\:mr-auto{
    margin-right: auto;
  }

  :root [dir=ltr] .md\:ltr\:mb-auto{
    margin-bottom: auto;
  }

  :root [dir=ltr] .md\:ltr\:ml-auto{
    margin-left: auto;
  }

  :root [dir=ltr] .md\:ltr\:mt-px{
    margin-top: 1px;
  }

  :root [dir=ltr] .md\:ltr\:mr-px{
    margin-right: 1px;
  }

  :root [dir=ltr] .md\:ltr\:mb-px{
    margin-bottom: 1px;
  }

  :root [dir=ltr] .md\:ltr\:ml-px{
    margin-left: 1px;
  }

  :root [dir=ltr] .md\:ltr\:mt-gutter{
    margin-top: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:mr-gutter{
    margin-right: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:mb-gutter{
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:ml-gutter{
    margin-left: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:-mt-1{
    margin-top: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-1{
    margin-right: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-1{
    margin-bottom: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-1{
    margin-left: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-2{
    margin-top: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-2{
    margin-right: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-2{
    margin-bottom: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-2{
    margin-left: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-3{
    margin-top: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-3{
    margin-right: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-3{
    margin-bottom: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-3{
    margin-left: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-4{
    margin-top: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-4{
    margin-right: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-4{
    margin-bottom: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-4{
    margin-left: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-5{
    margin-top: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-5{
    margin-right: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-5{
    margin-bottom: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-5{
    margin-left: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-6{
    margin-top: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-6{
    margin-right: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-6{
    margin-bottom: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-6{
    margin-left: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-8{
    margin-top: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-8{
    margin-right: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-8{
    margin-bottom: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-8{
    margin-left: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-9{
    margin-top: -2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-9{
    margin-right: -2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-9{
    margin-bottom: -2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-9{
    margin-left: -2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-10{
    margin-top: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-10{
    margin-right: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-10{
    margin-bottom: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-10{
    margin-left: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-12{
    margin-top: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-12{
    margin-right: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-12{
    margin-bottom: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-12{
    margin-left: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-14{
    margin-top: -3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-14{
    margin-right: -3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-14{
    margin-bottom: -3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-14{
    margin-left: -3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-16{
    margin-top: -4rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-16{
    margin-right: -4rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-16{
    margin-bottom: -4rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-16{
    margin-left: -4rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-20{
    margin-top: -5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-20{
    margin-right: -5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-20{
    margin-bottom: -5rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-20{
    margin-left: -5rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-24{
    margin-top: -6rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-24{
    margin-right: -6rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-24{
    margin-bottom: -6rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-24{
    margin-left: -6rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-32{
    margin-top: -8rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-32{
    margin-right: -8rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-32{
    margin-bottom: -8rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-32{
    margin-left: -8rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-40{
    margin-top: -10rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-40{
    margin-right: -10rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-40{
    margin-bottom: -10rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-40{
    margin-left: -10rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-48{
    margin-top: -12rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-48{
    margin-right: -12rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-48{
    margin-bottom: -12rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-48{
    margin-left: -12rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-56{
    margin-top: -14rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-56{
    margin-right: -14rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-56{
    margin-bottom: -14rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-56{
    margin-left: -14rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-64{
    margin-top: -16rem;
  }

  :root [dir=ltr] .md\:ltr\:-mr-64{
    margin-right: -16rem;
  }

  :root [dir=ltr] .md\:ltr\:-mb-64{
    margin-bottom: -16rem;
  }

  :root [dir=ltr] .md\:ltr\:-ml-64{
    margin-left: -16rem;
  }

  :root [dir=ltr] .md\:ltr\:-mt-px{
    margin-top: -1px;
  }

  :root [dir=ltr] .md\:ltr\:-mr-px{
    margin-right: -1px;
  }

  :root [dir=ltr] .md\:ltr\:-mb-px{
    margin-bottom: -1px;
  }

  :root [dir=ltr] .md\:ltr\:-ml-px{
    margin-left: -1px;
  }

  :root [dir=ltr] .md\:ltr\:-mt-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .md\:ltr\:-mr-gutter{
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .md\:ltr\:-mb-gutter{
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .md\:ltr\:-ml-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .md\:rtl\:m-0{
    margin: 0;
  }

  :root [dir=rtl] .md\:rtl\:m-1{
    margin: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:m-2{
    margin: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:m-3{
    margin: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:m-4{
    margin: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:m-5{
    margin: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:m-6{
    margin: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:m-8{
    margin: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:m-9{
    margin: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:m-10{
    margin: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:m-12{
    margin: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:m-14{
    margin: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:m-16{
    margin: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:m-20{
    margin: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:m-24{
    margin: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:m-32{
    margin: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:m-40{
    margin: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:m-48{
    margin: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:m-56{
    margin: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:m-64{
    margin: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:m-auto{
    margin: auto;
  }

  :root [dir=rtl] .md\:rtl\:m-px{
    margin: 1px;
  }

  :root [dir=rtl] .md\:rtl\:m-gutter{
    margin: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:-m-1{
    margin: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-2{
    margin: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-3{
    margin: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-4{
    margin: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-5{
    margin: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-6{
    margin: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-8{
    margin: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-9{
    margin: -2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-10{
    margin: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-12{
    margin: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-14{
    margin: -3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-16{
    margin: -4rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-20{
    margin: -5rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-24{
    margin: -6rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-32{
    margin: -8rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-40{
    margin: -10rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-48{
    margin: -12rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-56{
    margin: -14rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-64{
    margin: -16rem;
  }

  :root [dir=rtl] .md\:rtl\:-m-px{
    margin: -1px;
  }

  :root [dir=rtl] .md\:rtl\:-m-gutter{
    margin: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .md\:rtl\:my-0{
    margin-top: 0;
    margin-bottom: 0;
  }

  :root [dir=rtl] .md\:rtl\:mx-0{
    margin-left: 0;
    margin-right: 0;
  }

  :root [dir=rtl] .md\:rtl\:my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-4{
    margin-left: 1rem;
    margin-right: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-5{
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:my-6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:my-8{
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-8{
    margin-left: 2rem;
    margin-right: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:my-9{
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-9{
    margin-left: 2.25rem;
    margin-right: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:my-10{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-10{
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:my-12{
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-12{
    margin-left: 3rem;
    margin-right: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:my-14{
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-14{
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:my-16{
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-16{
    margin-left: 4rem;
    margin-right: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:my-20{
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-20{
    margin-left: 5rem;
    margin-right: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:my-24{
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-24{
    margin-left: 6rem;
    margin-right: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:my-32{
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-32{
    margin-left: 8rem;
    margin-right: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:my-40{
    margin-top: 10rem;
    margin-bottom: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-40{
    margin-left: 10rem;
    margin-right: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:my-48{
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-48{
    margin-left: 12rem;
    margin-right: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:my-56{
    margin-top: 14rem;
    margin-bottom: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-56{
    margin-left: 14rem;
    margin-right: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:my-64{
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:mx-64{
    margin-left: 16rem;
    margin-right: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }

  :root [dir=rtl] .md\:rtl\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

  :root [dir=rtl] .md\:rtl\:my-px{
    margin-top: 1px;
    margin-bottom: 1px;
  }

  :root [dir=rtl] .md\:rtl\:mx-px{
    margin-left: 1px;
    margin-right: 1px;
  }

  :root [dir=rtl] .md\:rtl\:my-gutter{
    margin-top: var(--padding-gutter);
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:mx-gutter{
    margin-left: var(--padding-gutter);
    margin-right: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:-my-1{
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-2{
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-3{
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-3{
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-4{
    margin-top: -1rem;
    margin-bottom: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-4{
    margin-left: -1rem;
    margin-right: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-5{
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-6{
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-6{
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-8{
    margin-top: -2rem;
    margin-bottom: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-8{
    margin-left: -2rem;
    margin-right: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-9{
    margin-top: -2.25rem;
    margin-bottom: -2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-9{
    margin-left: -2.25rem;
    margin-right: -2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-10{
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-10{
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-12{
    margin-top: -3rem;
    margin-bottom: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-12{
    margin-left: -3rem;
    margin-right: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-14{
    margin-top: -3.5rem;
    margin-bottom: -3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-14{
    margin-left: -3.5rem;
    margin-right: -3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-16{
    margin-top: -4rem;
    margin-bottom: -4rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-16{
    margin-left: -4rem;
    margin-right: -4rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-20{
    margin-top: -5rem;
    margin-bottom: -5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-20{
    margin-left: -5rem;
    margin-right: -5rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-24{
    margin-top: -6rem;
    margin-bottom: -6rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-24{
    margin-left: -6rem;
    margin-right: -6rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-32{
    margin-top: -8rem;
    margin-bottom: -8rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-32{
    margin-left: -8rem;
    margin-right: -8rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-40{
    margin-top: -10rem;
    margin-bottom: -10rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-40{
    margin-left: -10rem;
    margin-right: -10rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-48{
    margin-top: -12rem;
    margin-bottom: -12rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-48{
    margin-left: -12rem;
    margin-right: -12rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-56{
    margin-top: -14rem;
    margin-bottom: -14rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-56{
    margin-left: -14rem;
    margin-right: -14rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-64{
    margin-top: -16rem;
    margin-bottom: -16rem;
  }

  :root [dir=rtl] .md\:rtl\:-mx-64{
    margin-left: -16rem;
    margin-right: -16rem;
  }

  :root [dir=rtl] .md\:rtl\:-my-px{
    margin-top: -1px;
    margin-bottom: -1px;
  }

  :root [dir=rtl] .md\:rtl\:-mx-px{
    margin-left: -1px;
    margin-right: -1px;
  }

  :root [dir=rtl] .md\:rtl\:-my-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .md\:rtl\:-mx-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .md\:rtl\:mt-0{
    margin-top: 0;
  }

  :root [dir=rtl] .md\:rtl\:mr-0{
    margin-right: 0;
  }

  :root [dir=rtl] .md\:rtl\:mb-0{
    margin-bottom: 0;
  }

  :root [dir=rtl] .md\:rtl\:ml-0{
    margin-left: 0;
  }

  :root [dir=rtl] .md\:rtl\:mt-1{
    margin-top: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-1{
    margin-right: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-1{
    margin-bottom: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-1{
    margin-left: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-2{
    margin-top: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-2{
    margin-right: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-2{
    margin-bottom: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-2{
    margin-left: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-3{
    margin-top: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-3{
    margin-right: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-3{
    margin-bottom: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-3{
    margin-left: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-4{
    margin-top: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-4{
    margin-right: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-4{
    margin-bottom: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-4{
    margin-left: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-5{
    margin-top: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-5{
    margin-right: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-5{
    margin-bottom: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-5{
    margin-left: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-6{
    margin-top: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-6{
    margin-right: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-6{
    margin-bottom: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-6{
    margin-left: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-8{
    margin-top: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-8{
    margin-right: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-8{
    margin-bottom: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-8{
    margin-left: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-9{
    margin-top: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-9{
    margin-right: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-9{
    margin-bottom: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-9{
    margin-left: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-10{
    margin-top: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-10{
    margin-right: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-10{
    margin-bottom: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-10{
    margin-left: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-12{
    margin-top: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-12{
    margin-right: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-12{
    margin-bottom: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-12{
    margin-left: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-14{
    margin-top: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-14{
    margin-right: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-14{
    margin-bottom: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-14{
    margin-left: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-16{
    margin-top: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-16{
    margin-right: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-16{
    margin-bottom: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-16{
    margin-left: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-20{
    margin-top: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-20{
    margin-right: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-20{
    margin-bottom: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-20{
    margin-left: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-24{
    margin-top: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-24{
    margin-right: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-24{
    margin-bottom: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-24{
    margin-left: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-32{
    margin-top: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-32{
    margin-right: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-32{
    margin-bottom: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-32{
    margin-left: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-40{
    margin-top: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-40{
    margin-right: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-40{
    margin-bottom: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-40{
    margin-left: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-48{
    margin-top: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-48{
    margin-right: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-48{
    margin-bottom: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-48{
    margin-left: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-56{
    margin-top: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-56{
    margin-right: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-56{
    margin-bottom: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-56{
    margin-left: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-64{
    margin-top: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:mr-64{
    margin-right: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:mb-64{
    margin-bottom: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:ml-64{
    margin-left: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:mt-auto{
    margin-top: auto;
  }

  :root [dir=rtl] .md\:rtl\:mr-auto{
    margin-right: auto;
  }

  :root [dir=rtl] .md\:rtl\:mb-auto{
    margin-bottom: auto;
  }

  :root [dir=rtl] .md\:rtl\:ml-auto{
    margin-left: auto;
  }

  :root [dir=rtl] .md\:rtl\:mt-px{
    margin-top: 1px;
  }

  :root [dir=rtl] .md\:rtl\:mr-px{
    margin-right: 1px;
  }

  :root [dir=rtl] .md\:rtl\:mb-px{
    margin-bottom: 1px;
  }

  :root [dir=rtl] .md\:rtl\:ml-px{
    margin-left: 1px;
  }

  :root [dir=rtl] .md\:rtl\:mt-gutter{
    margin-top: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:mr-gutter{
    margin-right: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:mb-gutter{
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:ml-gutter{
    margin-left: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:-mt-1{
    margin-top: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-1{
    margin-right: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-1{
    margin-bottom: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-1{
    margin-left: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-2{
    margin-top: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-2{
    margin-right: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-2{
    margin-bottom: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-2{
    margin-left: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-3{
    margin-top: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-3{
    margin-right: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-3{
    margin-bottom: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-3{
    margin-left: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-4{
    margin-top: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-4{
    margin-right: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-4{
    margin-bottom: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-4{
    margin-left: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-5{
    margin-top: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-5{
    margin-right: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-5{
    margin-bottom: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-5{
    margin-left: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-6{
    margin-top: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-6{
    margin-right: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-6{
    margin-bottom: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-6{
    margin-left: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-8{
    margin-top: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-8{
    margin-right: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-8{
    margin-bottom: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-8{
    margin-left: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-9{
    margin-top: -2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-9{
    margin-right: -2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-9{
    margin-bottom: -2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-9{
    margin-left: -2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-10{
    margin-top: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-10{
    margin-right: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-10{
    margin-bottom: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-10{
    margin-left: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-12{
    margin-top: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-12{
    margin-right: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-12{
    margin-bottom: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-12{
    margin-left: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-14{
    margin-top: -3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-14{
    margin-right: -3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-14{
    margin-bottom: -3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-14{
    margin-left: -3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-16{
    margin-top: -4rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-16{
    margin-right: -4rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-16{
    margin-bottom: -4rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-16{
    margin-left: -4rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-20{
    margin-top: -5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-20{
    margin-right: -5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-20{
    margin-bottom: -5rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-20{
    margin-left: -5rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-24{
    margin-top: -6rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-24{
    margin-right: -6rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-24{
    margin-bottom: -6rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-24{
    margin-left: -6rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-32{
    margin-top: -8rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-32{
    margin-right: -8rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-32{
    margin-bottom: -8rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-32{
    margin-left: -8rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-40{
    margin-top: -10rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-40{
    margin-right: -10rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-40{
    margin-bottom: -10rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-40{
    margin-left: -10rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-48{
    margin-top: -12rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-48{
    margin-right: -12rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-48{
    margin-bottom: -12rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-48{
    margin-left: -12rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-56{
    margin-top: -14rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-56{
    margin-right: -14rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-56{
    margin-bottom: -14rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-56{
    margin-left: -14rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-64{
    margin-top: -16rem;
  }

  :root [dir=rtl] .md\:rtl\:-mr-64{
    margin-right: -16rem;
  }

  :root [dir=rtl] .md\:rtl\:-mb-64{
    margin-bottom: -16rem;
  }

  :root [dir=rtl] .md\:rtl\:-ml-64{
    margin-left: -16rem;
  }

  :root [dir=rtl] .md\:rtl\:-mt-px{
    margin-top: -1px;
  }

  :root [dir=rtl] .md\:rtl\:-mr-px{
    margin-right: -1px;
  }

  :root [dir=rtl] .md\:rtl\:-mb-px{
    margin-bottom: -1px;
  }

  :root [dir=rtl] .md\:rtl\:-ml-px{
    margin-left: -1px;
  }

  :root [dir=rtl] .md\:rtl\:-mt-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .md\:rtl\:-mr-gutter{
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .md\:rtl\:-mb-gutter{
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .md\:rtl\:-ml-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
  }

  :root .md\:max-h-full{
    max-height: 100%;
  }

  :root .md\:max-h-screen{
    max-height: 100vh;
  }

  :root .md\:max-w-unset{
    max-width: unset;
  }

  :root .md\:max-w-xxxs{
    max-width: 16rem;
  }

  :root .md\:max-w-xxs{
    max-width: 18rem;
  }

  :root .md\:max-w-xs{
    max-width: 20rem;
  }

  :root .md\:max-w-sm{
    max-width: 24rem;
  }

  :root .md\:max-w-md{
    max-width: 28rem;
  }

  :root .md\:max-w-lg{
    max-width: 32rem;
  }

  :root .md\:max-w-xl{
    max-width: 36rem;
  }

  :root .md\:max-w-2xl{
    max-width: 42rem;
  }

  :root .md\:max-w-3xl{
    max-width: 48rem;
  }

  :root .md\:max-w-4xl{
    max-width: 56rem;
  }

  :root .md\:max-w-5xl{
    max-width: 64rem;
  }

  :root .md\:max-w-6xl{
    max-width: 72rem;
  }

  :root .md\:max-w-full{
    max-width: 100%;
  }

  :root .md\:min-h-0{
    min-height: 0;
  }

  :root .md\:min-h-full{
    min-height: 100%;
  }

  :root .md\:min-h-screen{
    min-height: 100vh;
  }

  :root .md\:min-w-0{
    min-width: 0;
  }

  :root .md\:min-w-1{
    min-width: 0.25rem;
  }

  :root .md\:min-w-2{
    min-width: 0.5rem;
  }

  :root .md\:min-w-3{
    min-width: 0.75rem;
  }

  :root .md\:min-w-4{
    min-width: 1rem;
  }

  :root .md\:min-w-5{
    min-width: 1.25rem;
  }

  :root .md\:min-w-6{
    min-width: 1.5rem;
  }

  :root .md\:min-w-8{
    min-width: 2rem;
  }

  :root .md\:min-w-9{
    min-width: 2.25rem;
  }

  :root .md\:min-w-10{
    min-width: 2.5rem;
  }

  :root .md\:min-w-12{
    min-width: 3rem;
  }

  :root .md\:min-w-14{
    min-width: 3.5rem;
  }

  :root .md\:min-w-16{
    min-width: 4rem;
  }

  :root .md\:min-w-20{
    min-width: 5rem;
  }

  :root .md\:min-w-24{
    min-width: 6rem;
  }

  :root .md\:min-w-32{
    min-width: 8rem;
  }

  :root .md\:min-w-40{
    min-width: 10rem;
  }

  :root .md\:min-w-48{
    min-width: 12rem;
  }

  :root .md\:min-w-56{
    min-width: 14rem;
  }

  :root .md\:min-w-64{
    min-width: 16rem;
  }

  :root .md\:min-w-full{
    min-width: 100%;
  }

  :root .md\:min-w-px{
    min-width: 1px;
  }

  :root .md\:min-w-gutter{
    min-width: var(--padding-gutter);
  }

  :root .md\:object-contain{
    -o-object-fit: contain;
       object-fit: contain;
  }

  :root .md\:object-cover{
    -o-object-fit: cover;
       object-fit: cover;
  }

  :root .md\:object-fill{
    -o-object-fit: fill;
       object-fit: fill;
  }

  :root .md\:object-none{
    -o-object-fit: none;
       object-fit: none;
  }

  :root .md\:object-scale-down{
    -o-object-fit: scale-down;
       object-fit: scale-down;
  }

  :root .md\:object-bottom{
    -o-object-position: bottom;
       object-position: bottom;
  }

  :root .md\:object-center{
    -o-object-position: center;
       object-position: center;
  }

  :root .md\:object-left{
    -o-object-position: left;
       object-position: left;
  }

  :root .md\:object-left-bottom{
    -o-object-position: left bottom;
       object-position: left bottom;
  }

  :root .md\:object-left-top{
    -o-object-position: left top;
       object-position: left top;
  }

  :root .md\:object-right{
    -o-object-position: right;
       object-position: right;
  }

  :root .md\:object-right-bottom{
    -o-object-position: right bottom;
       object-position: right bottom;
  }

  :root .md\:object-right-top{
    -o-object-position: right top;
       object-position: right top;
  }

  :root .md\:object-top{
    -o-object-position: top;
       object-position: top;
  }

  :root .md\:opacity-0{
    opacity: 0;
  }

  :root .md\:opacity-25{
    opacity: 0.25;
  }

  :root .md\:opacity-50{
    opacity: 0.5;
  }

  :root .md\:opacity-75{
    opacity: 0.75;
  }

  :root .md\:opacity-100{
    opacity: 1;
  }

  :root .md\:hover\:opacity-0:hover{
    opacity: 0;
  }

  :root .md\:hover\:opacity-25:hover{
    opacity: 0.25;
  }

  :root .md\:hover\:opacity-50:hover{
    opacity: 0.5;
  }

  :root .md\:hover\:opacity-75:hover{
    opacity: 0.75;
  }

  :root .md\:hover\:opacity-100:hover{
    opacity: 1;
  }

  :root .md\:focus\:opacity-0:focus{
    opacity: 0;
  }

  :root .md\:focus\:opacity-25:focus{
    opacity: 0.25;
  }

  :root .md\:focus\:opacity-50:focus{
    opacity: 0.5;
  }

  :root .md\:focus\:opacity-75:focus{
    opacity: 0.75;
  }

  :root .md\:focus\:opacity-100:focus{
    opacity: 1;
  }

  :root .md\:outline-none{
    outline: 2px solid transparent;
    outline-offset: 2px;
  }

  :root .md\:outline-white{
    outline: 2px dotted white;
    outline-offset: 2px;
  }

  :root .md\:outline-black{
    outline: 2px dotted black;
    outline-offset: 2px;
  }

  :root .md\:focus\:outline-none:focus{
    outline: 2px solid transparent;
    outline-offset: 2px;
  }

  :root .md\:focus\:outline-white:focus{
    outline: 2px dotted white;
    outline-offset: 2px;
  }

  :root .md\:focus\:outline-black:focus{
    outline: 2px dotted black;
    outline-offset: 2px;
  }

  :root .md\:overflow-auto{
    overflow: auto;
  }

  :root .md\:overflow-hidden{
    overflow: hidden;
  }

  :root .md\:overflow-visible{
    overflow: visible;
  }

  :root .md\:overflow-scroll{
    overflow: scroll;
  }

  :root .md\:overflow-x-auto{
    overflow-x: auto;
  }

  :root .md\:overflow-y-auto{
    overflow-y: auto;
  }

  :root .md\:overflow-x-hidden{
    overflow-x: hidden;
  }

  :root .md\:overflow-y-hidden{
    overflow-y: hidden;
  }

  :root .md\:overflow-x-visible{
    overflow-x: visible;
  }

  :root .md\:overflow-y-visible{
    overflow-y: visible;
  }

  :root .md\:overflow-x-scroll{
    overflow-x: scroll;
  }

  :root .md\:overflow-y-scroll{
    overflow-y: scroll;
  }

  :root .md\:overscroll-auto{
    overscroll-behavior: auto;
  }

  :root .md\:overscroll-contain{
    overscroll-behavior: contain;
  }

  :root .md\:overscroll-none{
    overscroll-behavior: none;
  }

  :root .md\:overscroll-y-auto{
    overscroll-behavior-y: auto;
  }

  :root .md\:overscroll-y-contain{
    overscroll-behavior-y: contain;
  }

  :root .md\:overscroll-y-none{
    overscroll-behavior-y: none;
  }

  :root .md\:overscroll-x-auto{
    overscroll-behavior-x: auto;
  }

  :root .md\:overscroll-x-contain{
    overscroll-behavior-x: contain;
  }

  :root .md\:overscroll-x-none{
    overscroll-behavior-x: none;
  }

  :root .md\:p-0{
    padding: 0;
  }

  :root .md\:p-1{
    padding: 0.25rem;
  }

  :root .md\:p-2{
    padding: 0.5rem;
  }

  :root .md\:p-3{
    padding: 0.75rem;
  }

  :root .md\:p-4{
    padding: 1rem;
  }

  :root .md\:p-5{
    padding: 1.25rem;
  }

  :root .md\:p-6{
    padding: 1.5rem;
  }

  :root .md\:p-8{
    padding: 2rem;
  }

  :root .md\:p-9{
    padding: 2.25rem;
  }

  :root .md\:p-10{
    padding: 2.5rem;
  }

  :root .md\:p-12{
    padding: 3rem;
  }

  :root .md\:p-14{
    padding: 3.5rem;
  }

  :root .md\:p-16{
    padding: 4rem;
  }

  :root .md\:p-20{
    padding: 5rem;
  }

  :root .md\:p-24{
    padding: 6rem;
  }

  :root .md\:p-32{
    padding: 8rem;
  }

  :root .md\:p-40{
    padding: 10rem;
  }

  :root .md\:p-48{
    padding: 12rem;
  }

  :root .md\:p-56{
    padding: 14rem;
  }

  :root .md\:p-64{
    padding: 16rem;
  }

  :root .md\:p-px{
    padding: 1px;
  }

  :root .md\:p-gutter{
    padding: var(--padding-gutter);
  }

  :root .md\:py-0{
    padding-top: 0;
    padding-bottom: 0;
  }

  :root .md\:px-0{
    padding-left: 0;
    padding-right: 0;
  }

  :root .md\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  :root .md\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  :root .md\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  :root .md\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  :root .md\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  :root .md\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  :root .md\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  :root .md\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  :root .md\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  :root .md\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  :root .md\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  :root .md\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  :root .md\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  :root .md\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  :root .md\:py-9{
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  :root .md\:px-9{
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  :root .md\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  :root .md\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  :root .md\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  :root .md\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  :root .md\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  :root .md\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  :root .md\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  :root .md\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  :root .md\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  :root .md\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  :root .md\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  :root .md\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  :root .md\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  :root .md\:px-32{
    padding-left: 8rem;
    padding-right: 8rem;
  }

  :root .md\:py-40{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  :root .md\:px-40{
    padding-left: 10rem;
    padding-right: 10rem;
  }

  :root .md\:py-48{
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  :root .md\:px-48{
    padding-left: 12rem;
    padding-right: 12rem;
  }

  :root .md\:py-56{
    padding-top: 14rem;
    padding-bottom: 14rem;
  }

  :root .md\:px-56{
    padding-left: 14rem;
    padding-right: 14rem;
  }

  :root .md\:py-64{
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  :root .md\:px-64{
    padding-left: 16rem;
    padding-right: 16rem;
  }

  :root .md\:py-px{
    padding-top: 1px;
    padding-bottom: 1px;
  }

  :root .md\:px-px{
    padding-left: 1px;
    padding-right: 1px;
  }

  :root .md\:py-gutter{
    padding-top: var(--padding-gutter);
    padding-bottom: var(--padding-gutter);
  }

  :root .md\:px-gutter{
    padding-left: var(--padding-gutter);
    padding-right: var(--padding-gutter);
  }

  :root .md\:pt-0{
    padding-top: 0;
  }

  :root .md\:pr-0{
    padding-right: 0;
  }

  :root .md\:pb-0{
    padding-bottom: 0;
  }

  :root .md\:pl-0{
    padding-left: 0;
  }

  :root .md\:pt-1{
    padding-top: 0.25rem;
  }

  :root .md\:pr-1{
    padding-right: 0.25rem;
  }

  :root .md\:pb-1{
    padding-bottom: 0.25rem;
  }

  :root .md\:pl-1{
    padding-left: 0.25rem;
  }

  :root .md\:pt-2{
    padding-top: 0.5rem;
  }

  :root .md\:pr-2{
    padding-right: 0.5rem;
  }

  :root .md\:pb-2{
    padding-bottom: 0.5rem;
  }

  :root .md\:pl-2{
    padding-left: 0.5rem;
  }

  :root .md\:pt-3{
    padding-top: 0.75rem;
  }

  :root .md\:pr-3{
    padding-right: 0.75rem;
  }

  :root .md\:pb-3{
    padding-bottom: 0.75rem;
  }

  :root .md\:pl-3{
    padding-left: 0.75rem;
  }

  :root .md\:pt-4{
    padding-top: 1rem;
  }

  :root .md\:pr-4{
    padding-right: 1rem;
  }

  :root .md\:pb-4{
    padding-bottom: 1rem;
  }

  :root .md\:pl-4{
    padding-left: 1rem;
  }

  :root .md\:pt-5{
    padding-top: 1.25rem;
  }

  :root .md\:pr-5{
    padding-right: 1.25rem;
  }

  :root .md\:pb-5{
    padding-bottom: 1.25rem;
  }

  :root .md\:pl-5{
    padding-left: 1.25rem;
  }

  :root .md\:pt-6{
    padding-top: 1.5rem;
  }

  :root .md\:pr-6{
    padding-right: 1.5rem;
  }

  :root .md\:pb-6{
    padding-bottom: 1.5rem;
  }

  :root .md\:pl-6{
    padding-left: 1.5rem;
  }

  :root .md\:pt-8{
    padding-top: 2rem;
  }

  :root .md\:pr-8{
    padding-right: 2rem;
  }

  :root .md\:pb-8{
    padding-bottom: 2rem;
  }

  :root .md\:pl-8{
    padding-left: 2rem;
  }

  :root .md\:pt-9{
    padding-top: 2.25rem;
  }

  :root .md\:pr-9{
    padding-right: 2.25rem;
  }

  :root .md\:pb-9{
    padding-bottom: 2.25rem;
  }

  :root .md\:pl-9{
    padding-left: 2.25rem;
  }

  :root .md\:pt-10{
    padding-top: 2.5rem;
  }

  :root .md\:pr-10{
    padding-right: 2.5rem;
  }

  :root .md\:pb-10{
    padding-bottom: 2.5rem;
  }

  :root .md\:pl-10{
    padding-left: 2.5rem;
  }

  :root .md\:pt-12{
    padding-top: 3rem;
  }

  :root .md\:pr-12{
    padding-right: 3rem;
  }

  :root .md\:pb-12{
    padding-bottom: 3rem;
  }

  :root .md\:pl-12{
    padding-left: 3rem;
  }

  :root .md\:pt-14{
    padding-top: 3.5rem;
  }

  :root .md\:pr-14{
    padding-right: 3.5rem;
  }

  :root .md\:pb-14{
    padding-bottom: 3.5rem;
  }

  :root .md\:pl-14{
    padding-left: 3.5rem;
  }

  :root .md\:pt-16{
    padding-top: 4rem;
  }

  :root .md\:pr-16{
    padding-right: 4rem;
  }

  :root .md\:pb-16{
    padding-bottom: 4rem;
  }

  :root .md\:pl-16{
    padding-left: 4rem;
  }

  :root .md\:pt-20{
    padding-top: 5rem;
  }

  :root .md\:pr-20{
    padding-right: 5rem;
  }

  :root .md\:pb-20{
    padding-bottom: 5rem;
  }

  :root .md\:pl-20{
    padding-left: 5rem;
  }

  :root .md\:pt-24{
    padding-top: 6rem;
  }

  :root .md\:pr-24{
    padding-right: 6rem;
  }

  :root .md\:pb-24{
    padding-bottom: 6rem;
  }

  :root .md\:pl-24{
    padding-left: 6rem;
  }

  :root .md\:pt-32{
    padding-top: 8rem;
  }

  :root .md\:pr-32{
    padding-right: 8rem;
  }

  :root .md\:pb-32{
    padding-bottom: 8rem;
  }

  :root .md\:pl-32{
    padding-left: 8rem;
  }

  :root .md\:pt-40{
    padding-top: 10rem;
  }

  :root .md\:pr-40{
    padding-right: 10rem;
  }

  :root .md\:pb-40{
    padding-bottom: 10rem;
  }

  :root .md\:pl-40{
    padding-left: 10rem;
  }

  :root .md\:pt-48{
    padding-top: 12rem;
  }

  :root .md\:pr-48{
    padding-right: 12rem;
  }

  :root .md\:pb-48{
    padding-bottom: 12rem;
  }

  :root .md\:pl-48{
    padding-left: 12rem;
  }

  :root .md\:pt-56{
    padding-top: 14rem;
  }

  :root .md\:pr-56{
    padding-right: 14rem;
  }

  :root .md\:pb-56{
    padding-bottom: 14rem;
  }

  :root .md\:pl-56{
    padding-left: 14rem;
  }

  :root .md\:pt-64{
    padding-top: 16rem;
  }

  :root .md\:pr-64{
    padding-right: 16rem;
  }

  :root .md\:pb-64{
    padding-bottom: 16rem;
  }

  :root .md\:pl-64{
    padding-left: 16rem;
  }

  :root .md\:pt-px{
    padding-top: 1px;
  }

  :root .md\:pr-px{
    padding-right: 1px;
  }

  :root .md\:pb-px{
    padding-bottom: 1px;
  }

  :root .md\:pl-px{
    padding-left: 1px;
  }

  :root .md\:pt-gutter{
    padding-top: var(--padding-gutter);
  }

  :root .md\:pr-gutter{
    padding-right: var(--padding-gutter);
  }

  :root .md\:pb-gutter{
    padding-bottom: var(--padding-gutter);
  }

  :root .md\:pl-gutter{
    padding-left: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:p-0{
    padding: 0;
  }

  :root [dir=ltr] .md\:ltr\:p-1{
    padding: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:p-2{
    padding: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:p-3{
    padding: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:p-4{
    padding: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:p-5{
    padding: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:p-6{
    padding: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:p-8{
    padding: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:p-9{
    padding: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:p-10{
    padding: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:p-12{
    padding: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:p-14{
    padding: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:p-16{
    padding: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:p-20{
    padding: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:p-24{
    padding: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:p-32{
    padding: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:p-40{
    padding: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:p-48{
    padding: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:p-56{
    padding: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:p-64{
    padding: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:p-px{
    padding: 1px;
  }

  :root [dir=ltr] .md\:ltr\:p-gutter{
    padding: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:py-0{
    padding-top: 0;
    padding-bottom: 0;
  }

  :root [dir=ltr] .md\:ltr\:px-0{
    padding-left: 0;
    padding-right: 0;
  }

  :root [dir=ltr] .md\:ltr\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:py-9{
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:px-9{
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:px-32{
    padding-left: 8rem;
    padding-right: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:py-40{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:px-40{
    padding-left: 10rem;
    padding-right: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:py-48{
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:px-48{
    padding-left: 12rem;
    padding-right: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:py-56{
    padding-top: 14rem;
    padding-bottom: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:px-56{
    padding-left: 14rem;
    padding-right: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:py-64{
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:px-64{
    padding-left: 16rem;
    padding-right: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:py-px{
    padding-top: 1px;
    padding-bottom: 1px;
  }

  :root [dir=ltr] .md\:ltr\:px-px{
    padding-left: 1px;
    padding-right: 1px;
  }

  :root [dir=ltr] .md\:ltr\:py-gutter{
    padding-top: var(--padding-gutter);
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:px-gutter{
    padding-left: var(--padding-gutter);
    padding-right: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:pt-0{
    padding-top: 0;
  }

  :root [dir=ltr] .md\:ltr\:pr-0{
    padding-right: 0;
  }

  :root [dir=ltr] .md\:ltr\:pb-0{
    padding-bottom: 0;
  }

  :root [dir=ltr] .md\:ltr\:pl-0{
    padding-left: 0;
  }

  :root [dir=ltr] .md\:ltr\:pt-1{
    padding-top: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-1{
    padding-right: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-1{
    padding-bottom: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-1{
    padding-left: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-2{
    padding-top: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-2{
    padding-right: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-2{
    padding-bottom: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-2{
    padding-left: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-3{
    padding-top: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-3{
    padding-right: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-3{
    padding-bottom: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-3{
    padding-left: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-4{
    padding-top: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-4{
    padding-right: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-4{
    padding-bottom: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-4{
    padding-left: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-5{
    padding-top: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-5{
    padding-right: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-5{
    padding-bottom: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-5{
    padding-left: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-6{
    padding-top: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-6{
    padding-right: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-6{
    padding-bottom: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-6{
    padding-left: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-8{
    padding-top: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-8{
    padding-right: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-8{
    padding-bottom: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-8{
    padding-left: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-9{
    padding-top: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-9{
    padding-right: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-9{
    padding-bottom: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-9{
    padding-left: 2.25rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-10{
    padding-top: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-10{
    padding-right: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-10{
    padding-bottom: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-10{
    padding-left: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-12{
    padding-top: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-12{
    padding-right: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-12{
    padding-bottom: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-12{
    padding-left: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-14{
    padding-top: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-14{
    padding-right: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-14{
    padding-bottom: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-14{
    padding-left: 3.5rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-16{
    padding-top: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-16{
    padding-right: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-16{
    padding-bottom: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-16{
    padding-left: 4rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-20{
    padding-top: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-20{
    padding-right: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-20{
    padding-bottom: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-20{
    padding-left: 5rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-24{
    padding-top: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-24{
    padding-right: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-24{
    padding-bottom: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-24{
    padding-left: 6rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-32{
    padding-top: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-32{
    padding-right: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-32{
    padding-bottom: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-32{
    padding-left: 8rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-40{
    padding-top: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-40{
    padding-right: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-40{
    padding-bottom: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-40{
    padding-left: 10rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-48{
    padding-top: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-48{
    padding-right: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-48{
    padding-bottom: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-48{
    padding-left: 12rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-56{
    padding-top: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-56{
    padding-right: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-56{
    padding-bottom: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-56{
    padding-left: 14rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-64{
    padding-top: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:pr-64{
    padding-right: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:pb-64{
    padding-bottom: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:pl-64{
    padding-left: 16rem;
  }

  :root [dir=ltr] .md\:ltr\:pt-px{
    padding-top: 1px;
  }

  :root [dir=ltr] .md\:ltr\:pr-px{
    padding-right: 1px;
  }

  :root [dir=ltr] .md\:ltr\:pb-px{
    padding-bottom: 1px;
  }

  :root [dir=ltr] .md\:ltr\:pl-px{
    padding-left: 1px;
  }

  :root [dir=ltr] .md\:ltr\:pt-gutter{
    padding-top: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:pr-gutter{
    padding-right: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:pb-gutter{
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .md\:ltr\:pl-gutter{
    padding-left: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:p-0{
    padding: 0;
  }

  :root [dir=rtl] .md\:rtl\:p-1{
    padding: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:p-2{
    padding: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:p-3{
    padding: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:p-4{
    padding: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:p-5{
    padding: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:p-6{
    padding: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:p-8{
    padding: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:p-9{
    padding: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:p-10{
    padding: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:p-12{
    padding: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:p-14{
    padding: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:p-16{
    padding: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:p-20{
    padding: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:p-24{
    padding: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:p-32{
    padding: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:p-40{
    padding: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:p-48{
    padding: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:p-56{
    padding: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:p-64{
    padding: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:p-px{
    padding: 1px;
  }

  :root [dir=rtl] .md\:rtl\:p-gutter{
    padding: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:py-0{
    padding-top: 0;
    padding-bottom: 0;
  }

  :root [dir=rtl] .md\:rtl\:px-0{
    padding-left: 0;
    padding-right: 0;
  }

  :root [dir=rtl] .md\:rtl\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:py-9{
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:px-9{
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:px-32{
    padding-left: 8rem;
    padding-right: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:py-40{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:px-40{
    padding-left: 10rem;
    padding-right: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:py-48{
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:px-48{
    padding-left: 12rem;
    padding-right: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:py-56{
    padding-top: 14rem;
    padding-bottom: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:px-56{
    padding-left: 14rem;
    padding-right: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:py-64{
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:px-64{
    padding-left: 16rem;
    padding-right: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:py-px{
    padding-top: 1px;
    padding-bottom: 1px;
  }

  :root [dir=rtl] .md\:rtl\:px-px{
    padding-left: 1px;
    padding-right: 1px;
  }

  :root [dir=rtl] .md\:rtl\:py-gutter{
    padding-top: var(--padding-gutter);
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:px-gutter{
    padding-left: var(--padding-gutter);
    padding-right: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:pt-0{
    padding-top: 0;
  }

  :root [dir=rtl] .md\:rtl\:pr-0{
    padding-right: 0;
  }

  :root [dir=rtl] .md\:rtl\:pb-0{
    padding-bottom: 0;
  }

  :root [dir=rtl] .md\:rtl\:pl-0{
    padding-left: 0;
  }

  :root [dir=rtl] .md\:rtl\:pt-1{
    padding-top: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-1{
    padding-right: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-1{
    padding-bottom: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-1{
    padding-left: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-2{
    padding-top: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-2{
    padding-right: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-2{
    padding-bottom: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-2{
    padding-left: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-3{
    padding-top: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-3{
    padding-right: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-3{
    padding-bottom: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-3{
    padding-left: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-4{
    padding-top: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-4{
    padding-right: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-4{
    padding-bottom: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-4{
    padding-left: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-5{
    padding-top: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-5{
    padding-right: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-5{
    padding-bottom: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-5{
    padding-left: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-6{
    padding-top: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-6{
    padding-right: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-6{
    padding-bottom: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-6{
    padding-left: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-8{
    padding-top: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-8{
    padding-right: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-8{
    padding-bottom: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-8{
    padding-left: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-9{
    padding-top: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-9{
    padding-right: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-9{
    padding-bottom: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-9{
    padding-left: 2.25rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-10{
    padding-top: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-10{
    padding-right: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-10{
    padding-bottom: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-10{
    padding-left: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-12{
    padding-top: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-12{
    padding-right: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-12{
    padding-bottom: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-12{
    padding-left: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-14{
    padding-top: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-14{
    padding-right: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-14{
    padding-bottom: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-14{
    padding-left: 3.5rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-16{
    padding-top: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-16{
    padding-right: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-16{
    padding-bottom: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-16{
    padding-left: 4rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-20{
    padding-top: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-20{
    padding-right: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-20{
    padding-bottom: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-20{
    padding-left: 5rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-24{
    padding-top: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-24{
    padding-right: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-24{
    padding-bottom: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-24{
    padding-left: 6rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-32{
    padding-top: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-32{
    padding-right: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-32{
    padding-bottom: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-32{
    padding-left: 8rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-40{
    padding-top: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-40{
    padding-right: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-40{
    padding-bottom: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-40{
    padding-left: 10rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-48{
    padding-top: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-48{
    padding-right: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-48{
    padding-bottom: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-48{
    padding-left: 12rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-56{
    padding-top: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-56{
    padding-right: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-56{
    padding-bottom: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-56{
    padding-left: 14rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-64{
    padding-top: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:pr-64{
    padding-right: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:pb-64{
    padding-bottom: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:pl-64{
    padding-left: 16rem;
  }

  :root [dir=rtl] .md\:rtl\:pt-px{
    padding-top: 1px;
  }

  :root [dir=rtl] .md\:rtl\:pr-px{
    padding-right: 1px;
  }

  :root [dir=rtl] .md\:rtl\:pb-px{
    padding-bottom: 1px;
  }

  :root [dir=rtl] .md\:rtl\:pl-px{
    padding-left: 1px;
  }

  :root [dir=rtl] .md\:rtl\:pt-gutter{
    padding-top: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:pr-gutter{
    padding-right: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:pb-gutter{
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .md\:rtl\:pl-gutter{
    padding-left: var(--padding-gutter);
  }

  :root .md\:placeholder-current::-moz-placeholder{
    color: currentColor;
  }

  :root .md\:placeholder-current::placeholder{
    color: currentColor;
  }

  :root .md\:placeholder-transparent::-moz-placeholder{
    color: transparent;
  }

  :root .md\:placeholder-transparent::placeholder{
    color: transparent;
  }

  :root .md\:placeholder-black::-moz-placeholder{
    color: var(--text-color);
  }

  :root .md\:placeholder-black::placeholder{
    color: var(--text-color);
  }

  :root .md\:placeholder-white::-moz-placeholder{
    color: var(--text-color-light);
  }

  :root .md\:placeholder-white::placeholder{
    color: var(--text-color-light);
  }

  :root .md\:placeholder-contrast-black::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-contrast-black::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-contrast-white::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-contrast-white::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-gray-light::-moz-placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:placeholder-gray-light::placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:placeholder-gray::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-gray::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-red-light::-moz-placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:placeholder-red-light::placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:placeholder-red::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-red::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-orange-light::-moz-placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:placeholder-orange-light::placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:placeholder-orange::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-orange::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-deep-orange-light::-moz-placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:placeholder-deep-orange-light::placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:placeholder-deep-orange::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-deep-orange::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-amber-light::-moz-placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:placeholder-amber-light::placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:placeholder-amber::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-amber::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-green-light::-moz-placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:placeholder-green-light::placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:placeholder-green::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-green::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-teal-light::-moz-placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:placeholder-teal-light::placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:placeholder-teal::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-teal::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-cyan-light::-moz-placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:placeholder-cyan-light::placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:placeholder-cyan::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-cyan::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-purple-light::-moz-placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:placeholder-purple-light::placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:placeholder-purple::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-purple::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-deep-purple-light::-moz-placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:placeholder-deep-purple-light::placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:placeholder-deep-purple::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-deep-purple::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-pink-light::-moz-placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:placeholder-pink-light::placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:placeholder-pink::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-pink::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .md\:placeholder-primary-light::-moz-placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .md\:placeholder-primary-light::placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .md\:placeholder-primary::-moz-placeholder{
    color: rgb(var(--color-primary));
  }

  :root .md\:placeholder-primary::placeholder{
    color: rgb(var(--color-primary));
  }

  :root .md\:placeholder-accent-light::-moz-placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .md\:placeholder-accent-light::placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .md\:placeholder-accent::-moz-placeholder{
    color: rgb(var(--color-accent));
  }

  :root .md\:placeholder-accent::placeholder{
    color: rgb(var(--color-accent));
  }

  :root .md\:placeholder-warn-light::-moz-placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .md\:placeholder-warn-light::placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .md\:placeholder-warn::-moz-placeholder{
    color: rgb(var(--color-warn));
  }

  :root .md\:placeholder-warn::placeholder{
    color: rgb(var(--color-warn));
  }

  :root .md\:focus\:placeholder-current:focus::-moz-placeholder{
    color: currentColor;
  }

  :root .md\:focus\:placeholder-current:focus::placeholder{
    color: currentColor;
  }

  :root .md\:focus\:placeholder-transparent:focus::-moz-placeholder{
    color: transparent;
  }

  :root .md\:focus\:placeholder-transparent:focus::placeholder{
    color: transparent;
  }

  :root .md\:focus\:placeholder-black:focus::-moz-placeholder{
    color: var(--text-color);
  }

  :root .md\:focus\:placeholder-black:focus::placeholder{
    color: var(--text-color);
  }

  :root .md\:focus\:placeholder-white:focus::-moz-placeholder{
    color: var(--text-color-light);
  }

  :root .md\:focus\:placeholder-white:focus::placeholder{
    color: var(--text-color-light);
  }

  :root .md\:focus\:placeholder-contrast-black:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-contrast-black:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-contrast-white:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-contrast-white:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-gray-light:focus::-moz-placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:focus\:placeholder-gray-light:focus::placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:focus\:placeholder-gray:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-gray:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-red-light:focus::-moz-placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:focus\:placeholder-red-light:focus::placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:focus\:placeholder-red:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-red:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-orange-light:focus::-moz-placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:focus\:placeholder-orange-light:focus::placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:focus\:placeholder-orange:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-orange:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-deep-orange-light:focus::-moz-placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:focus\:placeholder-deep-orange-light:focus::placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:focus\:placeholder-deep-orange:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-deep-orange:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-amber-light:focus::-moz-placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:focus\:placeholder-amber-light:focus::placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:focus\:placeholder-amber:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-amber:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-green-light:focus::-moz-placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:focus\:placeholder-green-light:focus::placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:focus\:placeholder-green:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-green:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-teal-light:focus::-moz-placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:focus\:placeholder-teal-light:focus::placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:focus\:placeholder-teal:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-teal:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-cyan-light:focus::-moz-placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:focus\:placeholder-cyan-light:focus::placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:focus\:placeholder-cyan:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-cyan:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-purple-light:focus::-moz-placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:focus\:placeholder-purple-light:focus::placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:focus\:placeholder-purple:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-purple:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-deep-purple-light:focus::-moz-placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:focus\:placeholder-deep-purple-light:focus::placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:focus\:placeholder-deep-purple:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-deep-purple:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-pink-light:focus::-moz-placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:focus\:placeholder-pink-light:focus::placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:focus\:placeholder-pink:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-pink:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .md\:focus\:placeholder-primary-light:focus::-moz-placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .md\:focus\:placeholder-primary-light:focus::placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .md\:focus\:placeholder-primary:focus::-moz-placeholder{
    color: rgb(var(--color-primary));
  }

  :root .md\:focus\:placeholder-primary:focus::placeholder{
    color: rgb(var(--color-primary));
  }

  :root .md\:focus\:placeholder-accent-light:focus::-moz-placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .md\:focus\:placeholder-accent-light:focus::placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .md\:focus\:placeholder-accent:focus::-moz-placeholder{
    color: rgb(var(--color-accent));
  }

  :root .md\:focus\:placeholder-accent:focus::placeholder{
    color: rgb(var(--color-accent));
  }

  :root .md\:focus\:placeholder-warn-light:focus::-moz-placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .md\:focus\:placeholder-warn-light:focus::placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .md\:focus\:placeholder-warn:focus::-moz-placeholder{
    color: rgb(var(--color-warn));
  }

  :root .md\:focus\:placeholder-warn:focus::placeholder{
    color: rgb(var(--color-warn));
  }

  :root .md\:placeholder-opacity-0::-moz-placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .md\:placeholder-opacity-0::placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .md\:placeholder-opacity-25::-moz-placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .md\:placeholder-opacity-25::placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .md\:placeholder-opacity-50::-moz-placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .md\:placeholder-opacity-50::placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .md\:placeholder-opacity-75::-moz-placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .md\:placeholder-opacity-75::placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .md\:placeholder-opacity-100::-moz-placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .md\:placeholder-opacity-100::placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .md\:focus\:placeholder-opacity-0:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .md\:focus\:placeholder-opacity-0:focus::placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .md\:focus\:placeholder-opacity-25:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .md\:focus\:placeholder-opacity-25:focus::placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .md\:focus\:placeholder-opacity-50:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .md\:focus\:placeholder-opacity-50:focus::placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .md\:focus\:placeholder-opacity-75:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .md\:focus\:placeholder-opacity-75:focus::placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .md\:focus\:placeholder-opacity-100:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .md\:focus\:placeholder-opacity-100:focus::placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .md\:pointer-events-none{
    pointer-events: none;
  }

  :root .md\:pointer-events-auto{
    pointer-events: auto;
  }

  :root .md\:static{
    position: static;
  }

  :root .md\:fixed{
    position: fixed;
  }

  :root .md\:absolute{
    position: absolute;
  }

  :root .md\:relative{
    position: relative;
  }

  :root .md\:sticky{
    position: sticky;
  }

  :root .md\:inset-0{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  :root .md\:inset-1{
    top: 0.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
  }

  :root .md\:inset-2{
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }

  :root .md\:inset-3{
    top: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
  }

  :root .md\:inset-4{
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
  }

  :root .md\:inset-5{
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }

  :root .md\:inset-6{
    top: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
  }

  :root .md\:inset-8{
    top: 2rem;
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }

  :root .md\:inset-10{
    top: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;
    left: 2.5rem;
  }

  :root .md\:inset-12{
    top: 3rem;
    right: 3rem;
    bottom: 3rem;
    left: 3rem;
  }

  :root .md\:-inset-1{
    top: -0.25rem;
    right: -0.25rem;
    bottom: -0.25rem;
    left: -0.25rem;
  }

  :root .md\:-inset-2{
    top: -0.5rem;
    right: -0.5rem;
    bottom: -0.5rem;
    left: -0.5rem;
  }

  :root .md\:-inset-3{
    top: -0.75rem;
    right: -0.75rem;
    bottom: -0.75rem;
    left: -0.75rem;
  }

  :root .md\:-inset-4{
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem;
  }

  :root .md\:-inset-5{
    top: -1.25rem;
    right: -1.25rem;
    bottom: -1.25rem;
    left: -1.25rem;
  }

  :root .md\:-inset-6{
    top: -1.5rem;
    right: -1.5rem;
    bottom: -1.5rem;
    left: -1.5rem;
  }

  :root .md\:-inset-8{
    top: -2rem;
    right: -2rem;
    bottom: -2rem;
    left: -2rem;
  }

  :root .md\:-inset-10{
    top: -2.5rem;
    right: -2.5rem;
    bottom: -2.5rem;
    left: -2.5rem;
  }

  :root .md\:-inset-12{
    top: -3rem;
    right: -3rem;
    bottom: -3rem;
    left: -3rem;
  }

  :root .md\:inset-auto{
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }

  :root .md\:inset-y-0{
    top: 0;
    bottom: 0;
  }

  :root .md\:inset-x-0{
    right: 0;
    left: 0;
  }

  :root .md\:inset-y-1{
    top: 0.25rem;
    bottom: 0.25rem;
  }

  :root .md\:inset-x-1{
    right: 0.25rem;
    left: 0.25rem;
  }

  :root .md\:inset-y-2{
    top: 0.5rem;
    bottom: 0.5rem;
  }

  :root .md\:inset-x-2{
    right: 0.5rem;
    left: 0.5rem;
  }

  :root .md\:inset-y-3{
    top: 0.75rem;
    bottom: 0.75rem;
  }

  :root .md\:inset-x-3{
    right: 0.75rem;
    left: 0.75rem;
  }

  :root .md\:inset-y-4{
    top: 1rem;
    bottom: 1rem;
  }

  :root .md\:inset-x-4{
    right: 1rem;
    left: 1rem;
  }

  :root .md\:inset-y-5{
    top: 1.25rem;
    bottom: 1.25rem;
  }

  :root .md\:inset-x-5{
    right: 1.25rem;
    left: 1.25rem;
  }

  :root .md\:inset-y-6{
    top: 1.5rem;
    bottom: 1.5rem;
  }

  :root .md\:inset-x-6{
    right: 1.5rem;
    left: 1.5rem;
  }

  :root .md\:inset-y-8{
    top: 2rem;
    bottom: 2rem;
  }

  :root .md\:inset-x-8{
    right: 2rem;
    left: 2rem;
  }

  :root .md\:inset-y-10{
    top: 2.5rem;
    bottom: 2.5rem;
  }

  :root .md\:inset-x-10{
    right: 2.5rem;
    left: 2.5rem;
  }

  :root .md\:inset-y-12{
    top: 3rem;
    bottom: 3rem;
  }

  :root .md\:inset-x-12{
    right: 3rem;
    left: 3rem;
  }

  :root .md\:-inset-y-1{
    top: -0.25rem;
    bottom: -0.25rem;
  }

  :root .md\:-inset-x-1{
    right: -0.25rem;
    left: -0.25rem;
  }

  :root .md\:-inset-y-2{
    top: -0.5rem;
    bottom: -0.5rem;
  }

  :root .md\:-inset-x-2{
    right: -0.5rem;
    left: -0.5rem;
  }

  :root .md\:-inset-y-3{
    top: -0.75rem;
    bottom: -0.75rem;
  }

  :root .md\:-inset-x-3{
    right: -0.75rem;
    left: -0.75rem;
  }

  :root .md\:-inset-y-4{
    top: -1rem;
    bottom: -1rem;
  }

  :root .md\:-inset-x-4{
    right: -1rem;
    left: -1rem;
  }

  :root .md\:-inset-y-5{
    top: -1.25rem;
    bottom: -1.25rem;
  }

  :root .md\:-inset-x-5{
    right: -1.25rem;
    left: -1.25rem;
  }

  :root .md\:-inset-y-6{
    top: -1.5rem;
    bottom: -1.5rem;
  }

  :root .md\:-inset-x-6{
    right: -1.5rem;
    left: -1.5rem;
  }

  :root .md\:-inset-y-8{
    top: -2rem;
    bottom: -2rem;
  }

  :root .md\:-inset-x-8{
    right: -2rem;
    left: -2rem;
  }

  :root .md\:-inset-y-10{
    top: -2.5rem;
    bottom: -2.5rem;
  }

  :root .md\:-inset-x-10{
    right: -2.5rem;
    left: -2.5rem;
  }

  :root .md\:-inset-y-12{
    top: -3rem;
    bottom: -3rem;
  }

  :root .md\:-inset-x-12{
    right: -3rem;
    left: -3rem;
  }

  :root .md\:inset-y-auto{
    top: auto;
    bottom: auto;
  }

  :root .md\:inset-x-auto{
    right: auto;
    left: auto;
  }

  :root .md\:top-0{
    top: 0;
  }

  :root .md\:right-0{
    right: 0;
  }

  :root .md\:bottom-0{
    bottom: 0;
  }

  :root .md\:left-0{
    left: 0;
  }

  :root .md\:top-1{
    top: 0.25rem;
  }

  :root .md\:right-1{
    right: 0.25rem;
  }

  :root .md\:bottom-1{
    bottom: 0.25rem;
  }

  :root .md\:left-1{
    left: 0.25rem;
  }

  :root .md\:top-2{
    top: 0.5rem;
  }

  :root .md\:right-2{
    right: 0.5rem;
  }

  :root .md\:bottom-2{
    bottom: 0.5rem;
  }

  :root .md\:left-2{
    left: 0.5rem;
  }

  :root .md\:top-3{
    top: 0.75rem;
  }

  :root .md\:right-3{
    right: 0.75rem;
  }

  :root .md\:bottom-3{
    bottom: 0.75rem;
  }

  :root .md\:left-3{
    left: 0.75rem;
  }

  :root .md\:top-4{
    top: 1rem;
  }

  :root .md\:right-4{
    right: 1rem;
  }

  :root .md\:bottom-4{
    bottom: 1rem;
  }

  :root .md\:left-4{
    left: 1rem;
  }

  :root .md\:top-5{
    top: 1.25rem;
  }

  :root .md\:right-5{
    right: 1.25rem;
  }

  :root .md\:bottom-5{
    bottom: 1.25rem;
  }

  :root .md\:left-5{
    left: 1.25rem;
  }

  :root .md\:top-6{
    top: 1.5rem;
  }

  :root .md\:right-6{
    right: 1.5rem;
  }

  :root .md\:bottom-6{
    bottom: 1.5rem;
  }

  :root .md\:left-6{
    left: 1.5rem;
  }

  :root .md\:top-8{
    top: 2rem;
  }

  :root .md\:right-8{
    right: 2rem;
  }

  :root .md\:bottom-8{
    bottom: 2rem;
  }

  :root .md\:left-8{
    left: 2rem;
  }

  :root .md\:top-10{
    top: 2.5rem;
  }

  :root .md\:right-10{
    right: 2.5rem;
  }

  :root .md\:bottom-10{
    bottom: 2.5rem;
  }

  :root .md\:left-10{
    left: 2.5rem;
  }

  :root .md\:top-12{
    top: 3rem;
  }

  :root .md\:right-12{
    right: 3rem;
  }

  :root .md\:bottom-12{
    bottom: 3rem;
  }

  :root .md\:left-12{
    left: 3rem;
  }

  :root .md\:-top-1{
    top: -0.25rem;
  }

  :root .md\:-right-1{
    right: -0.25rem;
  }

  :root .md\:-bottom-1{
    bottom: -0.25rem;
  }

  :root .md\:-left-1{
    left: -0.25rem;
  }

  :root .md\:-top-2{
    top: -0.5rem;
  }

  :root .md\:-right-2{
    right: -0.5rem;
  }

  :root .md\:-bottom-2{
    bottom: -0.5rem;
  }

  :root .md\:-left-2{
    left: -0.5rem;
  }

  :root .md\:-top-3{
    top: -0.75rem;
  }

  :root .md\:-right-3{
    right: -0.75rem;
  }

  :root .md\:-bottom-3{
    bottom: -0.75rem;
  }

  :root .md\:-left-3{
    left: -0.75rem;
  }

  :root .md\:-top-4{
    top: -1rem;
  }

  :root .md\:-right-4{
    right: -1rem;
  }

  :root .md\:-bottom-4{
    bottom: -1rem;
  }

  :root .md\:-left-4{
    left: -1rem;
  }

  :root .md\:-top-5{
    top: -1.25rem;
  }

  :root .md\:-right-5{
    right: -1.25rem;
  }

  :root .md\:-bottom-5{
    bottom: -1.25rem;
  }

  :root .md\:-left-5{
    left: -1.25rem;
  }

  :root .md\:-top-6{
    top: -1.5rem;
  }

  :root .md\:-right-6{
    right: -1.5rem;
  }

  :root .md\:-bottom-6{
    bottom: -1.5rem;
  }

  :root .md\:-left-6{
    left: -1.5rem;
  }

  :root .md\:-top-8{
    top: -2rem;
  }

  :root .md\:-right-8{
    right: -2rem;
  }

  :root .md\:-bottom-8{
    bottom: -2rem;
  }

  :root .md\:-left-8{
    left: -2rem;
  }

  :root .md\:-top-10{
    top: -2.5rem;
  }

  :root .md\:-right-10{
    right: -2.5rem;
  }

  :root .md\:-bottom-10{
    bottom: -2.5rem;
  }

  :root .md\:-left-10{
    left: -2.5rem;
  }

  :root .md\:-top-12{
    top: -3rem;
  }

  :root .md\:-right-12{
    right: -3rem;
  }

  :root .md\:-bottom-12{
    bottom: -3rem;
  }

  :root .md\:-left-12{
    left: -3rem;
  }

  :root .md\:top-auto{
    top: auto;
  }

  :root .md\:right-auto{
    right: auto;
  }

  :root .md\:bottom-auto{
    bottom: auto;
  }

  :root .md\:left-auto{
    left: auto;
  }

  :root [dir=ltr] .md\:ltr\:inset-0{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  :root [dir=ltr] .md\:ltr\:inset-1{
    top: 0.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-2{
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-3{
    top: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-4{
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-5{
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-6{
    top: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-8{
    top: 2rem;
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-10{
    top: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-12{
    top: 3rem;
    right: 3rem;
    bottom: 3rem;
    left: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-1{
    top: -0.25rem;
    right: -0.25rem;
    bottom: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-2{
    top: -0.5rem;
    right: -0.5rem;
    bottom: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-3{
    top: -0.75rem;
    right: -0.75rem;
    bottom: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-4{
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-5{
    top: -1.25rem;
    right: -1.25rem;
    bottom: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-6{
    top: -1.5rem;
    right: -1.5rem;
    bottom: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-8{
    top: -2rem;
    right: -2rem;
    bottom: -2rem;
    left: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-10{
    top: -2.5rem;
    right: -2.5rem;
    bottom: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-12{
    top: -3rem;
    right: -3rem;
    bottom: -3rem;
    left: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-auto{
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }

  :root [dir=ltr] .md\:ltr\:inset-y-0{
    top: 0;
    bottom: 0;
  }

  :root [dir=ltr] .md\:ltr\:inset-x-0{
    right: 0;
    left: 0;
  }

  :root [dir=ltr] .md\:ltr\:inset-y-1{
    top: 0.25rem;
    bottom: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-x-1{
    right: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-y-2{
    top: 0.5rem;
    bottom: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-x-2{
    right: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-y-3{
    top: 0.75rem;
    bottom: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-x-3{
    right: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-y-4{
    top: 1rem;
    bottom: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-x-4{
    right: 1rem;
    left: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-y-5{
    top: 1.25rem;
    bottom: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-x-5{
    right: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-y-6{
    top: 1.5rem;
    bottom: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-x-6{
    right: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-y-8{
    top: 2rem;
    bottom: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-x-8{
    right: 2rem;
    left: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-y-10{
    top: 2.5rem;
    bottom: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-x-10{
    right: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-y-12{
    top: 3rem;
    bottom: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-x-12{
    right: 3rem;
    left: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-y-1{
    top: -0.25rem;
    bottom: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-x-1{
    right: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-y-2{
    top: -0.5rem;
    bottom: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-x-2{
    right: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-y-3{
    top: -0.75rem;
    bottom: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-x-3{
    right: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-y-4{
    top: -1rem;
    bottom: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-x-4{
    right: -1rem;
    left: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-y-5{
    top: -1.25rem;
    bottom: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-x-5{
    right: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-y-6{
    top: -1.5rem;
    bottom: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-x-6{
    right: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-y-8{
    top: -2rem;
    bottom: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-x-8{
    right: -2rem;
    left: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-y-10{
    top: -2.5rem;
    bottom: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-x-10{
    right: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-y-12{
    top: -3rem;
    bottom: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:-inset-x-12{
    right: -3rem;
    left: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:inset-y-auto{
    top: auto;
    bottom: auto;
  }

  :root [dir=ltr] .md\:ltr\:inset-x-auto{
    right: auto;
    left: auto;
  }

  :root [dir=ltr] .md\:ltr\:top-0{
    top: 0;
  }

  :root [dir=ltr] .md\:ltr\:right-0{
    right: 0;
  }

  :root [dir=ltr] .md\:ltr\:bottom-0{
    bottom: 0;
  }

  :root [dir=ltr] .md\:ltr\:left-0{
    left: 0;
  }

  :root [dir=ltr] .md\:ltr\:top-1{
    top: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:right-1{
    right: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:bottom-1{
    bottom: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:left-1{
    left: 0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:top-2{
    top: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:right-2{
    right: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:bottom-2{
    bottom: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:left-2{
    left: 0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:top-3{
    top: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:right-3{
    right: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:bottom-3{
    bottom: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:left-3{
    left: 0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:top-4{
    top: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:right-4{
    right: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:bottom-4{
    bottom: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:left-4{
    left: 1rem;
  }

  :root [dir=ltr] .md\:ltr\:top-5{
    top: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:right-5{
    right: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:bottom-5{
    bottom: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:left-5{
    left: 1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:top-6{
    top: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:right-6{
    right: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:bottom-6{
    bottom: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:left-6{
    left: 1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:top-8{
    top: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:right-8{
    right: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:bottom-8{
    bottom: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:left-8{
    left: 2rem;
  }

  :root [dir=ltr] .md\:ltr\:top-10{
    top: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:right-10{
    right: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:bottom-10{
    bottom: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:left-10{
    left: 2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:top-12{
    top: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:right-12{
    right: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:bottom-12{
    bottom: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:left-12{
    left: 3rem;
  }

  :root [dir=ltr] .md\:ltr\:-top-1{
    top: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-right-1{
    right: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-bottom-1{
    bottom: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-left-1{
    left: -0.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-top-2{
    top: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-right-2{
    right: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-bottom-2{
    bottom: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-left-2{
    left: -0.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-top-3{
    top: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-right-3{
    right: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-bottom-3{
    bottom: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-left-3{
    left: -0.75rem;
  }

  :root [dir=ltr] .md\:ltr\:-top-4{
    top: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-right-4{
    right: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-bottom-4{
    bottom: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-left-4{
    left: -1rem;
  }

  :root [dir=ltr] .md\:ltr\:-top-5{
    top: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-right-5{
    right: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-bottom-5{
    bottom: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-left-5{
    left: -1.25rem;
  }

  :root [dir=ltr] .md\:ltr\:-top-6{
    top: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-right-6{
    right: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-bottom-6{
    bottom: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-left-6{
    left: -1.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-top-8{
    top: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-right-8{
    right: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-bottom-8{
    bottom: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-left-8{
    left: -2rem;
  }

  :root [dir=ltr] .md\:ltr\:-top-10{
    top: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-right-10{
    right: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-bottom-10{
    bottom: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-left-10{
    left: -2.5rem;
  }

  :root [dir=ltr] .md\:ltr\:-top-12{
    top: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:-right-12{
    right: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:-bottom-12{
    bottom: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:-left-12{
    left: -3rem;
  }

  :root [dir=ltr] .md\:ltr\:top-auto{
    top: auto;
  }

  :root [dir=ltr] .md\:ltr\:right-auto{
    right: auto;
  }

  :root [dir=ltr] .md\:ltr\:bottom-auto{
    bottom: auto;
  }

  :root [dir=ltr] .md\:ltr\:left-auto{
    left: auto;
  }

  :root [dir=rtl] .md\:rtl\:inset-0{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  :root [dir=rtl] .md\:rtl\:inset-1{
    top: 0.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-2{
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-3{
    top: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-4{
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-5{
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-6{
    top: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-8{
    top: 2rem;
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-10{
    top: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-12{
    top: 3rem;
    right: 3rem;
    bottom: 3rem;
    left: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-1{
    top: -0.25rem;
    right: -0.25rem;
    bottom: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-2{
    top: -0.5rem;
    right: -0.5rem;
    bottom: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-3{
    top: -0.75rem;
    right: -0.75rem;
    bottom: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-4{
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-5{
    top: -1.25rem;
    right: -1.25rem;
    bottom: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-6{
    top: -1.5rem;
    right: -1.5rem;
    bottom: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-8{
    top: -2rem;
    right: -2rem;
    bottom: -2rem;
    left: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-10{
    top: -2.5rem;
    right: -2.5rem;
    bottom: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-12{
    top: -3rem;
    right: -3rem;
    bottom: -3rem;
    left: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-auto{
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }

  :root [dir=rtl] .md\:rtl\:inset-y-0{
    top: 0;
    bottom: 0;
  }

  :root [dir=rtl] .md\:rtl\:inset-x-0{
    right: 0;
    left: 0;
  }

  :root [dir=rtl] .md\:rtl\:inset-y-1{
    top: 0.25rem;
    bottom: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-x-1{
    right: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-y-2{
    top: 0.5rem;
    bottom: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-x-2{
    right: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-y-3{
    top: 0.75rem;
    bottom: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-x-3{
    right: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-y-4{
    top: 1rem;
    bottom: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-x-4{
    right: 1rem;
    left: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-y-5{
    top: 1.25rem;
    bottom: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-x-5{
    right: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-y-6{
    top: 1.5rem;
    bottom: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-x-6{
    right: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-y-8{
    top: 2rem;
    bottom: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-x-8{
    right: 2rem;
    left: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-y-10{
    top: 2.5rem;
    bottom: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-x-10{
    right: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-y-12{
    top: 3rem;
    bottom: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-x-12{
    right: 3rem;
    left: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-y-1{
    top: -0.25rem;
    bottom: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-x-1{
    right: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-y-2{
    top: -0.5rem;
    bottom: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-x-2{
    right: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-y-3{
    top: -0.75rem;
    bottom: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-x-3{
    right: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-y-4{
    top: -1rem;
    bottom: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-x-4{
    right: -1rem;
    left: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-y-5{
    top: -1.25rem;
    bottom: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-x-5{
    right: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-y-6{
    top: -1.5rem;
    bottom: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-x-6{
    right: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-y-8{
    top: -2rem;
    bottom: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-x-8{
    right: -2rem;
    left: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-y-10{
    top: -2.5rem;
    bottom: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-x-10{
    right: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-y-12{
    top: -3rem;
    bottom: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:-inset-x-12{
    right: -3rem;
    left: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:inset-y-auto{
    top: auto;
    bottom: auto;
  }

  :root [dir=rtl] .md\:rtl\:inset-x-auto{
    right: auto;
    left: auto;
  }

  :root [dir=rtl] .md\:rtl\:top-0{
    top: 0;
  }

  :root [dir=rtl] .md\:rtl\:right-0{
    right: 0;
  }

  :root [dir=rtl] .md\:rtl\:bottom-0{
    bottom: 0;
  }

  :root [dir=rtl] .md\:rtl\:left-0{
    left: 0;
  }

  :root [dir=rtl] .md\:rtl\:top-1{
    top: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:right-1{
    right: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:bottom-1{
    bottom: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:left-1{
    left: 0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:top-2{
    top: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:right-2{
    right: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:bottom-2{
    bottom: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:left-2{
    left: 0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:top-3{
    top: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:right-3{
    right: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:bottom-3{
    bottom: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:left-3{
    left: 0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:top-4{
    top: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:right-4{
    right: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:bottom-4{
    bottom: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:left-4{
    left: 1rem;
  }

  :root [dir=rtl] .md\:rtl\:top-5{
    top: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:right-5{
    right: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:bottom-5{
    bottom: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:left-5{
    left: 1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:top-6{
    top: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:right-6{
    right: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:bottom-6{
    bottom: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:left-6{
    left: 1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:top-8{
    top: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:right-8{
    right: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:bottom-8{
    bottom: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:left-8{
    left: 2rem;
  }

  :root [dir=rtl] .md\:rtl\:top-10{
    top: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:right-10{
    right: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:bottom-10{
    bottom: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:left-10{
    left: 2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:top-12{
    top: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:right-12{
    right: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:bottom-12{
    bottom: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:left-12{
    left: 3rem;
  }

  :root [dir=rtl] .md\:rtl\:-top-1{
    top: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-right-1{
    right: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-bottom-1{
    bottom: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-left-1{
    left: -0.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-top-2{
    top: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-right-2{
    right: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-bottom-2{
    bottom: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-left-2{
    left: -0.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-top-3{
    top: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-right-3{
    right: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-bottom-3{
    bottom: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-left-3{
    left: -0.75rem;
  }

  :root [dir=rtl] .md\:rtl\:-top-4{
    top: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-right-4{
    right: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-bottom-4{
    bottom: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-left-4{
    left: -1rem;
  }

  :root [dir=rtl] .md\:rtl\:-top-5{
    top: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-right-5{
    right: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-bottom-5{
    bottom: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-left-5{
    left: -1.25rem;
  }

  :root [dir=rtl] .md\:rtl\:-top-6{
    top: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-right-6{
    right: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-bottom-6{
    bottom: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-left-6{
    left: -1.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-top-8{
    top: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-right-8{
    right: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-bottom-8{
    bottom: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-left-8{
    left: -2rem;
  }

  :root [dir=rtl] .md\:rtl\:-top-10{
    top: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-right-10{
    right: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-bottom-10{
    bottom: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-left-10{
    left: -2.5rem;
  }

  :root [dir=rtl] .md\:rtl\:-top-12{
    top: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:-right-12{
    right: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:-bottom-12{
    bottom: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:-left-12{
    left: -3rem;
  }

  :root [dir=rtl] .md\:rtl\:top-auto{
    top: auto;
  }

  :root [dir=rtl] .md\:rtl\:right-auto{
    right: auto;
  }

  :root [dir=rtl] .md\:rtl\:bottom-auto{
    bottom: auto;
  }

  :root [dir=rtl] .md\:rtl\:left-auto{
    left: auto;
  }

  :root .md\:resize-none{
    resize: none;
  }

  :root .md\:resize-y{
    resize: vertical;
  }

  :root .md\:resize-x{
    resize: horizontal;
  }

  :root .md\:resize{
    resize: both;
  }

  :root .md\:shadow-1{
    --tw-shadow: var(--elevation-z1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-2{
    --tw-shadow: var(--elevation-z2);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-3{
    --tw-shadow: var(--elevation-z3);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-4{
    --tw-shadow: var(--elevation-z4);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-5{
    --tw-shadow: var(--elevation-z5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-6{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-7{
    --tw-shadow: var(--elevation-z7);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-9{
    --tw-shadow: var(--elevation-z9);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-10{
    --tw-shadow: var(--elevation-z10);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-11{
    --tw-shadow: var(--elevation-z11);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-12{
    --tw-shadow: var(--elevation-z12);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-13{
    --tw-shadow: var(--elevation-z13);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-14{
    --tw-shadow: var(--elevation-z14);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-15{
    --tw-shadow: var(--elevation-z15);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-16{
    --tw-shadow: var(--elevation-z16);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-17{
    --tw-shadow: var(--elevation-z17);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-18{
    --tw-shadow: var(--elevation-z18);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-19{
    --tw-shadow: var(--elevation-z19);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-20{
    --tw-shadow: var(--elevation-z20);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-md{
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-lg{
    --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-xl{
    --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-2xl{
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-inner{
    --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-outline{
    --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-none{
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:shadow-b{
    --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-1:hover{
    --tw-shadow: var(--elevation-z1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-2:hover{
    --tw-shadow: var(--elevation-z2);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-3:hover{
    --tw-shadow: var(--elevation-z3);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-4:hover{
    --tw-shadow: var(--elevation-z4);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-5:hover{
    --tw-shadow: var(--elevation-z5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-6:hover{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-7:hover{
    --tw-shadow: var(--elevation-z7);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-9:hover{
    --tw-shadow: var(--elevation-z9);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-10:hover{
    --tw-shadow: var(--elevation-z10);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-11:hover{
    --tw-shadow: var(--elevation-z11);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-12:hover{
    --tw-shadow: var(--elevation-z12);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-13:hover{
    --tw-shadow: var(--elevation-z13);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-14:hover{
    --tw-shadow: var(--elevation-z14);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-15:hover{
    --tw-shadow: var(--elevation-z15);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-16:hover{
    --tw-shadow: var(--elevation-z16);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-17:hover{
    --tw-shadow: var(--elevation-z17);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-18:hover{
    --tw-shadow: var(--elevation-z18);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-19:hover{
    --tw-shadow: var(--elevation-z19);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-20:hover{
    --tw-shadow: var(--elevation-z20);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow:hover{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-md:hover{
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-lg:hover{
    --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-xl:hover{
    --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-2xl:hover{
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-inner:hover{
    --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-outline:hover{
    --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-none:hover{
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:hover\:shadow-b:hover{
    --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-1:focus{
    --tw-shadow: var(--elevation-z1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-2:focus{
    --tw-shadow: var(--elevation-z2);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-3:focus{
    --tw-shadow: var(--elevation-z3);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-4:focus{
    --tw-shadow: var(--elevation-z4);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-5:focus{
    --tw-shadow: var(--elevation-z5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-6:focus{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-7:focus{
    --tw-shadow: var(--elevation-z7);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-9:focus{
    --tw-shadow: var(--elevation-z9);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-10:focus{
    --tw-shadow: var(--elevation-z10);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-11:focus{
    --tw-shadow: var(--elevation-z11);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-12:focus{
    --tw-shadow: var(--elevation-z12);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-13:focus{
    --tw-shadow: var(--elevation-z13);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-14:focus{
    --tw-shadow: var(--elevation-z14);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-15:focus{
    --tw-shadow: var(--elevation-z15);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-16:focus{
    --tw-shadow: var(--elevation-z16);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-17:focus{
    --tw-shadow: var(--elevation-z17);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-18:focus{
    --tw-shadow: var(--elevation-z18);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-19:focus{
    --tw-shadow: var(--elevation-z19);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-20:focus{
    --tw-shadow: var(--elevation-z20);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow:focus{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-md:focus{
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-lg:focus{
    --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-xl:focus{
    --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-2xl:focus{
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-inner:focus{
    --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-outline:focus{
    --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-none:focus{
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:focus\:shadow-b:focus{
    --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .md\:ring-0{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:ring-1{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:ring-2{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:ring-4{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:ring-8{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:ring{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:ring-inset{
    --tw-ring-inset: inset;
  }

  :root .md\:focus-within\:ring-0:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:focus-within\:ring-1:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:focus-within\:ring-2:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:focus-within\:ring-4:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:focus-within\:ring-8:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:focus-within\:ring:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:focus-within\:ring-inset:focus-within{
    --tw-ring-inset: inset;
  }

  :root .md\:focus\:ring-0:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:focus\:ring-1:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:focus\:ring-2:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:focus\:ring-4:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:focus\:ring-8:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:focus\:ring:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .md\:focus\:ring-inset:focus{
    --tw-ring-inset: inset;
  }

  :root .md\:ring-offset-current{
    --tw-ring-offset-color: currentColor;
  }

  :root .md\:ring-offset-transparent{
    --tw-ring-offset-color: transparent;
  }

  :root .md\:ring-offset-black{
    --tw-ring-offset-color: var(--text-color);
  }

  :root .md\:ring-offset-white{
    --tw-ring-offset-color: var(--text-color-light);
  }

  :root .md\:ring-offset-contrast-black{
    --tw-ring-offset-color: black;
  }

  :root .md\:ring-offset-contrast-white{
    --tw-ring-offset-color: white;
  }

  :root .md\:ring-offset-gray-light{
    --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:ring-offset-gray{
    --tw-ring-offset-color: rgb(158, 158, 158);
  }

  :root .md\:ring-offset-red-light{
    --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:ring-offset-red{
    --tw-ring-offset-color: rgb(244, 67, 54);
  }

  :root .md\:ring-offset-orange-light{
    --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:ring-offset-orange{
    --tw-ring-offset-color: rgb(255, 152, 0);
  }

  :root .md\:ring-offset-deep-orange-light{
    --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:ring-offset-deep-orange{
    --tw-ring-offset-color: rgb(255, 87, 34);
  }

  :root .md\:ring-offset-amber-light{
    --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:ring-offset-amber{
    --tw-ring-offset-color: rgb(255, 193, 7);
  }

  :root .md\:ring-offset-green-light{
    --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:ring-offset-green{
    --tw-ring-offset-color: rgb(76, 175, 80);
  }

  :root .md\:ring-offset-teal-light{
    --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:ring-offset-teal{
    --tw-ring-offset-color: rgb(0, 150, 136);
  }

  :root .md\:ring-offset-cyan-light{
    --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:ring-offset-cyan{
    --tw-ring-offset-color: rgb(0, 188, 212);
  }

  :root .md\:ring-offset-purple-light{
    --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:ring-offset-purple{
    --tw-ring-offset-color: rgb(156, 39, 176);
  }

  :root .md\:ring-offset-deep-purple-light{
    --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:ring-offset-deep-purple{
    --tw-ring-offset-color: rgb(103, 58, 183);
  }

  :root .md\:ring-offset-pink-light{
    --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:ring-offset-pink{
    --tw-ring-offset-color: rgb(233, 30, 99);
  }

  :root .md\:ring-offset-primary-light{
    --tw-ring-offset-color: rgba(var(--color-primary), .1);
  }

  :root .md\:ring-offset-primary{
    --tw-ring-offset-color: rgb(var(--color-primary));
  }

  :root .md\:ring-offset-accent-light{
    --tw-ring-offset-color: rgba(var(--color-accent), .1);
  }

  :root .md\:ring-offset-accent{
    --tw-ring-offset-color: rgb(var(--color-accent));
  }

  :root .md\:ring-offset-warn-light{
    --tw-ring-offset-color: rgba(var(--color-warn), .1);
  }

  :root .md\:ring-offset-warn{
    --tw-ring-offset-color: rgb(var(--color-warn));
  }

  :root .md\:focus-within\:ring-offset-current:focus-within{
    --tw-ring-offset-color: currentColor;
  }

  :root .md\:focus-within\:ring-offset-transparent:focus-within{
    --tw-ring-offset-color: transparent;
  }

  :root .md\:focus-within\:ring-offset-black:focus-within{
    --tw-ring-offset-color: var(--text-color);
  }

  :root .md\:focus-within\:ring-offset-white:focus-within{
    --tw-ring-offset-color: var(--text-color-light);
  }

  :root .md\:focus-within\:ring-offset-contrast-black:focus-within{
    --tw-ring-offset-color: black;
  }

  :root .md\:focus-within\:ring-offset-contrast-white:focus-within{
    --tw-ring-offset-color: white;
  }

  :root .md\:focus-within\:ring-offset-gray-light:focus-within{
    --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:focus-within\:ring-offset-gray:focus-within{
    --tw-ring-offset-color: rgb(158, 158, 158);
  }

  :root .md\:focus-within\:ring-offset-red-light:focus-within{
    --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:focus-within\:ring-offset-red:focus-within{
    --tw-ring-offset-color: rgb(244, 67, 54);
  }

  :root .md\:focus-within\:ring-offset-orange-light:focus-within{
    --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:focus-within\:ring-offset-orange:focus-within{
    --tw-ring-offset-color: rgb(255, 152, 0);
  }

  :root .md\:focus-within\:ring-offset-deep-orange-light:focus-within{
    --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:focus-within\:ring-offset-deep-orange:focus-within{
    --tw-ring-offset-color: rgb(255, 87, 34);
  }

  :root .md\:focus-within\:ring-offset-amber-light:focus-within{
    --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:focus-within\:ring-offset-amber:focus-within{
    --tw-ring-offset-color: rgb(255, 193, 7);
  }

  :root .md\:focus-within\:ring-offset-green-light:focus-within{
    --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:focus-within\:ring-offset-green:focus-within{
    --tw-ring-offset-color: rgb(76, 175, 80);
  }

  :root .md\:focus-within\:ring-offset-teal-light:focus-within{
    --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:focus-within\:ring-offset-teal:focus-within{
    --tw-ring-offset-color: rgb(0, 150, 136);
  }

  :root .md\:focus-within\:ring-offset-cyan-light:focus-within{
    --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:focus-within\:ring-offset-cyan:focus-within{
    --tw-ring-offset-color: rgb(0, 188, 212);
  }

  :root .md\:focus-within\:ring-offset-purple-light:focus-within{
    --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:focus-within\:ring-offset-purple:focus-within{
    --tw-ring-offset-color: rgb(156, 39, 176);
  }

  :root .md\:focus-within\:ring-offset-deep-purple-light:focus-within{
    --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:focus-within\:ring-offset-deep-purple:focus-within{
    --tw-ring-offset-color: rgb(103, 58, 183);
  }

  :root .md\:focus-within\:ring-offset-pink-light:focus-within{
    --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:focus-within\:ring-offset-pink:focus-within{
    --tw-ring-offset-color: rgb(233, 30, 99);
  }

  :root .md\:focus-within\:ring-offset-primary-light:focus-within{
    --tw-ring-offset-color: rgba(var(--color-primary), .1);
  }

  :root .md\:focus-within\:ring-offset-primary:focus-within{
    --tw-ring-offset-color: rgb(var(--color-primary));
  }

  :root .md\:focus-within\:ring-offset-accent-light:focus-within{
    --tw-ring-offset-color: rgba(var(--color-accent), .1);
  }

  :root .md\:focus-within\:ring-offset-accent:focus-within{
    --tw-ring-offset-color: rgb(var(--color-accent));
  }

  :root .md\:focus-within\:ring-offset-warn-light:focus-within{
    --tw-ring-offset-color: rgba(var(--color-warn), .1);
  }

  :root .md\:focus-within\:ring-offset-warn:focus-within{
    --tw-ring-offset-color: rgb(var(--color-warn));
  }

  :root .md\:focus\:ring-offset-current:focus{
    --tw-ring-offset-color: currentColor;
  }

  :root .md\:focus\:ring-offset-transparent:focus{
    --tw-ring-offset-color: transparent;
  }

  :root .md\:focus\:ring-offset-black:focus{
    --tw-ring-offset-color: var(--text-color);
  }

  :root .md\:focus\:ring-offset-white:focus{
    --tw-ring-offset-color: var(--text-color-light);
  }

  :root .md\:focus\:ring-offset-contrast-black:focus{
    --tw-ring-offset-color: black;
  }

  :root .md\:focus\:ring-offset-contrast-white:focus{
    --tw-ring-offset-color: white;
  }

  :root .md\:focus\:ring-offset-gray-light:focus{
    --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:focus\:ring-offset-gray:focus{
    --tw-ring-offset-color: rgb(158, 158, 158);
  }

  :root .md\:focus\:ring-offset-red-light:focus{
    --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:focus\:ring-offset-red:focus{
    --tw-ring-offset-color: rgb(244, 67, 54);
  }

  :root .md\:focus\:ring-offset-orange-light:focus{
    --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:focus\:ring-offset-orange:focus{
    --tw-ring-offset-color: rgb(255, 152, 0);
  }

  :root .md\:focus\:ring-offset-deep-orange-light:focus{
    --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:focus\:ring-offset-deep-orange:focus{
    --tw-ring-offset-color: rgb(255, 87, 34);
  }

  :root .md\:focus\:ring-offset-amber-light:focus{
    --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:focus\:ring-offset-amber:focus{
    --tw-ring-offset-color: rgb(255, 193, 7);
  }

  :root .md\:focus\:ring-offset-green-light:focus{
    --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:focus\:ring-offset-green:focus{
    --tw-ring-offset-color: rgb(76, 175, 80);
  }

  :root .md\:focus\:ring-offset-teal-light:focus{
    --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:focus\:ring-offset-teal:focus{
    --tw-ring-offset-color: rgb(0, 150, 136);
  }

  :root .md\:focus\:ring-offset-cyan-light:focus{
    --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:focus\:ring-offset-cyan:focus{
    --tw-ring-offset-color: rgb(0, 188, 212);
  }

  :root .md\:focus\:ring-offset-purple-light:focus{
    --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:focus\:ring-offset-purple:focus{
    --tw-ring-offset-color: rgb(156, 39, 176);
  }

  :root .md\:focus\:ring-offset-deep-purple-light:focus{
    --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:focus\:ring-offset-deep-purple:focus{
    --tw-ring-offset-color: rgb(103, 58, 183);
  }

  :root .md\:focus\:ring-offset-pink-light:focus{
    --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:focus\:ring-offset-pink:focus{
    --tw-ring-offset-color: rgb(233, 30, 99);
  }

  :root .md\:focus\:ring-offset-primary-light:focus{
    --tw-ring-offset-color: rgba(var(--color-primary), .1);
  }

  :root .md\:focus\:ring-offset-primary:focus{
    --tw-ring-offset-color: rgb(var(--color-primary));
  }

  :root .md\:focus\:ring-offset-accent-light:focus{
    --tw-ring-offset-color: rgba(var(--color-accent), .1);
  }

  :root .md\:focus\:ring-offset-accent:focus{
    --tw-ring-offset-color: rgb(var(--color-accent));
  }

  :root .md\:focus\:ring-offset-warn-light:focus{
    --tw-ring-offset-color: rgba(var(--color-warn), .1);
  }

  :root .md\:focus\:ring-offset-warn:focus{
    --tw-ring-offset-color: rgb(var(--color-warn));
  }

  :root .md\:ring-offset-0{
    --tw-ring-offset-width: 0px;
  }

  :root .md\:ring-offset-1{
    --tw-ring-offset-width: 1px;
  }

  :root .md\:ring-offset-2{
    --tw-ring-offset-width: 2px;
  }

  :root .md\:ring-offset-4{
    --tw-ring-offset-width: 4px;
  }

  :root .md\:ring-offset-8{
    --tw-ring-offset-width: 8px;
  }

  :root .md\:focus-within\:ring-offset-0:focus-within{
    --tw-ring-offset-width: 0px;
  }

  :root .md\:focus-within\:ring-offset-1:focus-within{
    --tw-ring-offset-width: 1px;
  }

  :root .md\:focus-within\:ring-offset-2:focus-within{
    --tw-ring-offset-width: 2px;
  }

  :root .md\:focus-within\:ring-offset-4:focus-within{
    --tw-ring-offset-width: 4px;
  }

  :root .md\:focus-within\:ring-offset-8:focus-within{
    --tw-ring-offset-width: 8px;
  }

  :root .md\:focus\:ring-offset-0:focus{
    --tw-ring-offset-width: 0px;
  }

  :root .md\:focus\:ring-offset-1:focus{
    --tw-ring-offset-width: 1px;
  }

  :root .md\:focus\:ring-offset-2:focus{
    --tw-ring-offset-width: 2px;
  }

  :root .md\:focus\:ring-offset-4:focus{
    --tw-ring-offset-width: 4px;
  }

  :root .md\:focus\:ring-offset-8:focus{
    --tw-ring-offset-width: 8px;
  }

  :root .md\:ring-current{
    --tw-ring-color: currentColor;
  }

  :root .md\:ring-transparent{
    --tw-ring-color: transparent;
  }

  :root .md\:ring-black{
    --tw-ring-color: var(--text-color);
  }

  :root .md\:ring-white{
    --tw-ring-color: var(--text-color-light);
  }

  :root .md\:ring-contrast-black{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
  }

  :root .md\:ring-contrast-white{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
  }

  :root .md\:ring-gray-light{
    --tw-ring-color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:ring-gray{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
  }

  :root .md\:ring-red-light{
    --tw-ring-color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:ring-red{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
  }

  :root .md\:ring-orange-light{
    --tw-ring-color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:ring-orange{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
  }

  :root .md\:ring-deep-orange-light{
    --tw-ring-color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:ring-deep-orange{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
  }

  :root .md\:ring-amber-light{
    --tw-ring-color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:ring-amber{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
  }

  :root .md\:ring-green-light{
    --tw-ring-color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:ring-green{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
  }

  :root .md\:ring-teal-light{
    --tw-ring-color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:ring-teal{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
  }

  :root .md\:ring-cyan-light{
    --tw-ring-color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:ring-cyan{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
  }

  :root .md\:ring-purple-light{
    --tw-ring-color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:ring-purple{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
  }

  :root .md\:ring-deep-purple-light{
    --tw-ring-color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:ring-deep-purple{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
  }

  :root .md\:ring-pink-light{
    --tw-ring-color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:ring-pink{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
  }

  :root .md\:ring-primary-light{
    --tw-ring-color: rgba(var(--color-primary), .1);
  }

  :root .md\:ring-primary{
    --tw-ring-color: rgb(var(--color-primary));
  }

  :root .md\:ring-accent-light{
    --tw-ring-color: rgba(var(--color-accent), .1);
  }

  :root .md\:ring-accent{
    --tw-ring-color: rgb(var(--color-accent));
  }

  :root .md\:ring-warn-light{
    --tw-ring-color: rgba(var(--color-warn), .1);
  }

  :root .md\:ring-warn{
    --tw-ring-color: rgb(var(--color-warn));
  }

  :root .md\:focus-within\:ring-current:focus-within{
    --tw-ring-color: currentColor;
  }

  :root .md\:focus-within\:ring-transparent:focus-within{
    --tw-ring-color: transparent;
  }

  :root .md\:focus-within\:ring-black:focus-within{
    --tw-ring-color: var(--text-color);
  }

  :root .md\:focus-within\:ring-white:focus-within{
    --tw-ring-color: var(--text-color-light);
  }

  :root .md\:focus-within\:ring-contrast-black:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
  }

  :root .md\:focus-within\:ring-contrast-white:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
  }

  :root .md\:focus-within\:ring-gray-light:focus-within{
    --tw-ring-color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:focus-within\:ring-gray:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
  }

  :root .md\:focus-within\:ring-red-light:focus-within{
    --tw-ring-color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:focus-within\:ring-red:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
  }

  :root .md\:focus-within\:ring-orange-light:focus-within{
    --tw-ring-color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:focus-within\:ring-orange:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
  }

  :root .md\:focus-within\:ring-deep-orange-light:focus-within{
    --tw-ring-color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:focus-within\:ring-deep-orange:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
  }

  :root .md\:focus-within\:ring-amber-light:focus-within{
    --tw-ring-color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:focus-within\:ring-amber:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
  }

  :root .md\:focus-within\:ring-green-light:focus-within{
    --tw-ring-color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:focus-within\:ring-green:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
  }

  :root .md\:focus-within\:ring-teal-light:focus-within{
    --tw-ring-color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:focus-within\:ring-teal:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
  }

  :root .md\:focus-within\:ring-cyan-light:focus-within{
    --tw-ring-color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:focus-within\:ring-cyan:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
  }

  :root .md\:focus-within\:ring-purple-light:focus-within{
    --tw-ring-color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:focus-within\:ring-purple:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
  }

  :root .md\:focus-within\:ring-deep-purple-light:focus-within{
    --tw-ring-color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:focus-within\:ring-deep-purple:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
  }

  :root .md\:focus-within\:ring-pink-light:focus-within{
    --tw-ring-color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:focus-within\:ring-pink:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
  }

  :root .md\:focus-within\:ring-primary-light:focus-within{
    --tw-ring-color: rgba(var(--color-primary), .1);
  }

  :root .md\:focus-within\:ring-primary:focus-within{
    --tw-ring-color: rgb(var(--color-primary));
  }

  :root .md\:focus-within\:ring-accent-light:focus-within{
    --tw-ring-color: rgba(var(--color-accent), .1);
  }

  :root .md\:focus-within\:ring-accent:focus-within{
    --tw-ring-color: rgb(var(--color-accent));
  }

  :root .md\:focus-within\:ring-warn-light:focus-within{
    --tw-ring-color: rgba(var(--color-warn), .1);
  }

  :root .md\:focus-within\:ring-warn:focus-within{
    --tw-ring-color: rgb(var(--color-warn));
  }

  :root .md\:focus\:ring-current:focus{
    --tw-ring-color: currentColor;
  }

  :root .md\:focus\:ring-transparent:focus{
    --tw-ring-color: transparent;
  }

  :root .md\:focus\:ring-black:focus{
    --tw-ring-color: var(--text-color);
  }

  :root .md\:focus\:ring-white:focus{
    --tw-ring-color: var(--text-color-light);
  }

  :root .md\:focus\:ring-contrast-black:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
  }

  :root .md\:focus\:ring-contrast-white:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
  }

  :root .md\:focus\:ring-gray-light:focus{
    --tw-ring-color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:focus\:ring-gray:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
  }

  :root .md\:focus\:ring-red-light:focus{
    --tw-ring-color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:focus\:ring-red:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
  }

  :root .md\:focus\:ring-orange-light:focus{
    --tw-ring-color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:focus\:ring-orange:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
  }

  :root .md\:focus\:ring-deep-orange-light:focus{
    --tw-ring-color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:focus\:ring-deep-orange:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
  }

  :root .md\:focus\:ring-amber-light:focus{
    --tw-ring-color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:focus\:ring-amber:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
  }

  :root .md\:focus\:ring-green-light:focus{
    --tw-ring-color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:focus\:ring-green:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
  }

  :root .md\:focus\:ring-teal-light:focus{
    --tw-ring-color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:focus\:ring-teal:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
  }

  :root .md\:focus\:ring-cyan-light:focus{
    --tw-ring-color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:focus\:ring-cyan:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
  }

  :root .md\:focus\:ring-purple-light:focus{
    --tw-ring-color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:focus\:ring-purple:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
  }

  :root .md\:focus\:ring-deep-purple-light:focus{
    --tw-ring-color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:focus\:ring-deep-purple:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
  }

  :root .md\:focus\:ring-pink-light:focus{
    --tw-ring-color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:focus\:ring-pink:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
  }

  :root .md\:focus\:ring-primary-light:focus{
    --tw-ring-color: rgba(var(--color-primary), .1);
  }

  :root .md\:focus\:ring-primary:focus{
    --tw-ring-color: rgb(var(--color-primary));
  }

  :root .md\:focus\:ring-accent-light:focus{
    --tw-ring-color: rgba(var(--color-accent), .1);
  }

  :root .md\:focus\:ring-accent:focus{
    --tw-ring-color: rgb(var(--color-accent));
  }

  :root .md\:focus\:ring-warn-light:focus{
    --tw-ring-color: rgba(var(--color-warn), .1);
  }

  :root .md\:focus\:ring-warn:focus{
    --tw-ring-color: rgb(var(--color-warn));
  }

  :root .md\:ring-opacity-0{
    --tw-ring-opacity: 0;
  }

  :root .md\:ring-opacity-25{
    --tw-ring-opacity: 0.25;
  }

  :root .md\:ring-opacity-50{
    --tw-ring-opacity: 0.5;
  }

  :root .md\:ring-opacity-75{
    --tw-ring-opacity: 0.75;
  }

  :root .md\:ring-opacity-100{
    --tw-ring-opacity: 1;
  }

  :root .md\:focus-within\:ring-opacity-0:focus-within{
    --tw-ring-opacity: 0;
  }

  :root .md\:focus-within\:ring-opacity-25:focus-within{
    --tw-ring-opacity: 0.25;
  }

  :root .md\:focus-within\:ring-opacity-50:focus-within{
    --tw-ring-opacity: 0.5;
  }

  :root .md\:focus-within\:ring-opacity-75:focus-within{
    --tw-ring-opacity: 0.75;
  }

  :root .md\:focus-within\:ring-opacity-100:focus-within{
    --tw-ring-opacity: 1;
  }

  :root .md\:focus\:ring-opacity-0:focus{
    --tw-ring-opacity: 0;
  }

  :root .md\:focus\:ring-opacity-25:focus{
    --tw-ring-opacity: 0.25;
  }

  :root .md\:focus\:ring-opacity-50:focus{
    --tw-ring-opacity: 0.5;
  }

  :root .md\:focus\:ring-opacity-75:focus{
    --tw-ring-opacity: 0.75;
  }

  :root .md\:focus\:ring-opacity-100:focus{
    --tw-ring-opacity: 1;
  }

  :root .md\:fill-current{
    fill: currentColor;
  }

  :root .md\:stroke-current{
    stroke: currentColor;
  }

  :root .md\:stroke-0{
    stroke-width: 0;
  }

  :root .md\:stroke-1{
    stroke-width: 1;
  }

  :root .md\:stroke-2{
    stroke-width: 2;
  }

  :root .md\:table-auto{
    table-layout: auto;
  }

  :root .md\:table-fixed{
    table-layout: fixed;
  }

  :root .md\:text-left{
    text-align: left;
  }

  :root .md\:text-center{
    text-align: center;
  }

  :root .md\:text-right{
    text-align: right;
  }

  :root .md\:text-justify{
    text-align: justify;
  }

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

  :root .md\:text-hint{
    color: var(--text-hint);
  }

  :root .md\:text-current{
    color: currentColor;
  }

  :root .md\:text-transparent{
    color: transparent;
  }

  :root .md\:text-black{
    color: var(--text-color);
  }

  :root .md\:text-white{
    color: var(--text-color-light);
  }

  :root .md\:text-contrast-black{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .md\:text-contrast-white{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:text-gray-light{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:text-gray{
    --tw-text-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-text-opacity));
  }

  :root .md\:text-red-light{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:text-red{
    --tw-text-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-text-opacity));
  }

  :root .md\:text-orange-light{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:text-orange{
    --tw-text-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-text-opacity));
  }

  :root .md\:text-deep-orange-light{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:text-deep-orange{
    --tw-text-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-text-opacity));
  }

  :root .md\:text-amber-light{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:text-amber{
    --tw-text-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-text-opacity));
  }

  :root .md\:text-green-light{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:text-green{
    --tw-text-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-text-opacity));
  }

  :root .md\:text-teal-light{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:text-teal{
    --tw-text-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-text-opacity));
  }

  :root .md\:text-cyan-light{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:text-cyan{
    --tw-text-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-text-opacity));
  }

  :root .md\:text-purple-light{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:text-purple{
    --tw-text-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-text-opacity));
  }

  :root .md\:text-deep-purple-light{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:text-deep-purple{
    --tw-text-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-text-opacity));
  }

  :root .md\:text-pink-light{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:text-pink{
    --tw-text-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-text-opacity));
  }

  :root .md\:text-primary-light{
    color: rgba(var(--color-primary), .1);
  }

  :root .md\:text-primary{
    color: rgb(var(--color-primary));
  }

  :root .md\:text-accent-light{
    color: rgba(var(--color-accent), .1);
  }

  :root .md\:text-accent{
    color: rgb(var(--color-accent));
  }

  :root .md\:text-warn-light{
    color: rgba(var(--color-warn), .1);
  }

  :root .md\:text-warn{
    color: rgb(var(--color-warn));
  }

  :root .md\:text-primary-contrast{
    color: rgb(var(--color-primary-contrast));
  }

  :root .md\:text-accent-contrast{
    color: rgb(var(--color-accent-contrast));
  }

  :root .md\:text-warn-contrast{
    color: rgb(var(--color-warn-contrast));
  }

  :root .md\:text-red-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:text-green-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:text-amber-contrast{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .md\:text-orange-contrast{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .md\:text-deep-orange-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:text-purple-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:text-deep-purple-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:text-cyan-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:text-teal-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:text-gray-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:text-light-green-contrast{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-secondary:hover{
    color: var(--text-secondary);
  }

  :root .md\:hover\:text-hint:hover{
    color: var(--text-hint);
  }

  :root .md\:hover\:text-current:hover{
    color: currentColor;
  }

  :root .md\:hover\:text-transparent:hover{
    color: transparent;
  }

  :root .md\:hover\:text-black:hover{
    color: var(--text-color);
  }

  :root .md\:hover\:text-white:hover{
    color: var(--text-color-light);
  }

  :root .md\:hover\:text-contrast-black:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-contrast-white:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-gray-light:hover{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:hover\:text-gray:hover{
    --tw-text-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-red-light:hover{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:hover\:text-red:hover{
    --tw-text-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-orange-light:hover{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:hover\:text-orange:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-deep-orange-light:hover{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:hover\:text-deep-orange:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-amber-light:hover{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:hover\:text-amber:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-green-light:hover{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:hover\:text-green:hover{
    --tw-text-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-teal-light:hover{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:hover\:text-teal:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-cyan-light:hover{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:hover\:text-cyan:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-purple-light:hover{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:hover\:text-purple:hover{
    --tw-text-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-deep-purple-light:hover{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:hover\:text-deep-purple:hover{
    --tw-text-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-pink-light:hover{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:hover\:text-pink:hover{
    --tw-text-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-primary-light:hover{
    color: rgba(var(--color-primary), .1);
  }

  :root .md\:hover\:text-primary:hover{
    color: rgb(var(--color-primary));
  }

  :root .md\:hover\:text-accent-light:hover{
    color: rgba(var(--color-accent), .1);
  }

  :root .md\:hover\:text-accent:hover{
    color: rgb(var(--color-accent));
  }

  :root .md\:hover\:text-warn-light:hover{
    color: rgba(var(--color-warn), .1);
  }

  :root .md\:hover\:text-warn:hover{
    color: rgb(var(--color-warn));
  }

  :root .md\:hover\:text-primary-contrast:hover{
    color: rgb(var(--color-primary-contrast));
  }

  :root .md\:hover\:text-accent-contrast:hover{
    color: rgb(var(--color-accent-contrast));
  }

  :root .md\:hover\:text-warn-contrast:hover{
    color: rgb(var(--color-warn-contrast));
  }

  :root .md\:hover\:text-red-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-green-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-amber-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-orange-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-deep-orange-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-purple-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-deep-purple-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-cyan-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-teal-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-gray-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:hover\:text-light-green-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-secondary:focus{
    color: var(--text-secondary);
  }

  :root .md\:focus\:text-hint:focus{
    color: var(--text-hint);
  }

  :root .md\:focus\:text-current:focus{
    color: currentColor;
  }

  :root .md\:focus\:text-transparent:focus{
    color: transparent;
  }

  :root .md\:focus\:text-black:focus{
    color: var(--text-color);
  }

  :root .md\:focus\:text-white:focus{
    color: var(--text-color-light);
  }

  :root .md\:focus\:text-contrast-black:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-contrast-white:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-gray-light:focus{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .md\:focus\:text-gray:focus{
    --tw-text-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-red-light:focus{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .md\:focus\:text-red:focus{
    --tw-text-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-orange-light:focus{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .md\:focus\:text-orange:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-deep-orange-light:focus{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .md\:focus\:text-deep-orange:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-amber-light:focus{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .md\:focus\:text-amber:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-green-light:focus{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .md\:focus\:text-green:focus{
    --tw-text-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-teal-light:focus{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .md\:focus\:text-teal:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-cyan-light:focus{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .md\:focus\:text-cyan:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-purple-light:focus{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .md\:focus\:text-purple:focus{
    --tw-text-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-deep-purple-light:focus{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .md\:focus\:text-deep-purple:focus{
    --tw-text-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-pink-light:focus{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .md\:focus\:text-pink:focus{
    --tw-text-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-primary-light:focus{
    color: rgba(var(--color-primary), .1);
  }

  :root .md\:focus\:text-primary:focus{
    color: rgb(var(--color-primary));
  }

  :root .md\:focus\:text-accent-light:focus{
    color: rgba(var(--color-accent), .1);
  }

  :root .md\:focus\:text-accent:focus{
    color: rgb(var(--color-accent));
  }

  :root .md\:focus\:text-warn-light:focus{
    color: rgba(var(--color-warn), .1);
  }

  :root .md\:focus\:text-warn:focus{
    color: rgb(var(--color-warn));
  }

  :root .md\:focus\:text-primary-contrast:focus{
    color: rgb(var(--color-primary-contrast));
  }

  :root .md\:focus\:text-accent-contrast:focus{
    color: rgb(var(--color-accent-contrast));
  }

  :root .md\:focus\:text-warn-contrast:focus{
    color: rgb(var(--color-warn-contrast));
  }

  :root .md\:focus\:text-red-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-green-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-amber-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-orange-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-deep-orange-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-purple-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-deep-purple-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-cyan-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-teal-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-gray-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .md\:focus\:text-light-green-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .md\:text-opacity-0{
    --tw-text-opacity: 0;
  }

  :root .md\:text-opacity-25{
    --tw-text-opacity: 0.25;
  }

  :root .md\:text-opacity-50{
    --tw-text-opacity: 0.5;
  }

  :root .md\:text-opacity-75{
    --tw-text-opacity: 0.75;
  }

  :root .md\:text-opacity-100{
    --tw-text-opacity: 1;
  }

  :root .group:hover .md\:group-hover\:text-opacity-0{
    --tw-text-opacity: 0;
  }

  :root .group:hover .md\:group-hover\:text-opacity-25{
    --tw-text-opacity: 0.25;
  }

  :root .group:hover .md\:group-hover\:text-opacity-50{
    --tw-text-opacity: 0.5;
  }

  :root .group:hover .md\:group-hover\:text-opacity-75{
    --tw-text-opacity: 0.75;
  }

  :root .group:hover .md\:group-hover\:text-opacity-100{
    --tw-text-opacity: 1;
  }

  :root .md\:focus-within\:text-opacity-0:focus-within{
    --tw-text-opacity: 0;
  }

  :root .md\:focus-within\:text-opacity-25:focus-within{
    --tw-text-opacity: 0.25;
  }

  :root .md\:focus-within\:text-opacity-50:focus-within{
    --tw-text-opacity: 0.5;
  }

  :root .md\:focus-within\:text-opacity-75:focus-within{
    --tw-text-opacity: 0.75;
  }

  :root .md\:focus-within\:text-opacity-100:focus-within{
    --tw-text-opacity: 1;
  }

  :root .md\:hover\:text-opacity-0:hover{
    --tw-text-opacity: 0;
  }

  :root .md\:hover\:text-opacity-25:hover{
    --tw-text-opacity: 0.25;
  }

  :root .md\:hover\:text-opacity-50:hover{
    --tw-text-opacity: 0.5;
  }

  :root .md\:hover\:text-opacity-75:hover{
    --tw-text-opacity: 0.75;
  }

  :root .md\:hover\:text-opacity-100:hover{
    --tw-text-opacity: 1;
  }

  :root .md\:focus\:text-opacity-0:focus{
    --tw-text-opacity: 0;
  }

  :root .md\:focus\:text-opacity-25:focus{
    --tw-text-opacity: 0.25;
  }

  :root .md\:focus\:text-opacity-50:focus{
    --tw-text-opacity: 0.5;
  }

  :root .md\:focus\:text-opacity-75:focus{
    --tw-text-opacity: 0.75;
  }

  :root .md\:focus\:text-opacity-100:focus{
    --tw-text-opacity: 1;
  }

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

  :root .md\:overflow-ellipsis{
    text-overflow: ellipsis;
  }

  :root .md\:overflow-clip{
    text-overflow: clip;
  }

  :root .md\:italic{
    font-style: italic;
  }

  :root .md\:not-italic{
    font-style: normal;
  }

  :root .md\:uppercase{
    text-transform: uppercase;
  }

  :root .md\:lowercase{
    text-transform: lowercase;
  }

  :root .md\:capitalize{
    text-transform: capitalize;
  }

  :root .md\:normal-case{
    text-transform: none;
  }

  :root .md\:underline{
    text-decoration: underline;
  }

  :root .md\:line-through{
    text-decoration: line-through;
  }

  :root .md\:no-underline{
    text-decoration: none;
  }

  :root .md\:hover\:underline:hover{
    text-decoration: underline;
  }

  :root .md\:hover\:line-through:hover{
    text-decoration: line-through;
  }

  :root .md\:hover\:no-underline:hover{
    text-decoration: none;
  }

  :root .md\:focus\:underline:focus{
    text-decoration: underline;
  }

  :root .md\:focus\:line-through:focus{
    text-decoration: line-through;
  }

  :root .md\:focus\:no-underline:focus{
    text-decoration: none;
  }

  :root .md\:antialiased{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  :root .md\:subpixel-antialiased{
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
  }

  :root .md\:ordinal, :root .md\:slashed-zero, :root .md\:lining-nums, :root .md\:oldstyle-nums, :root .md\:proportional-nums, :root .md\:tabular-nums, :root .md\:diagonal-fractions, :root .md\:stacked-fractions{
    --tw-ordinal: var(--tw-empty,/*!*/ /*!*/);
    --tw-slashed-zero: var(--tw-empty,/*!*/ /*!*/);
    --tw-numeric-figure: var(--tw-empty,/*!*/ /*!*/);
    --tw-numeric-spacing: var(--tw-empty,/*!*/ /*!*/);
    --tw-numeric-fraction: var(--tw-empty,/*!*/ /*!*/);
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  }

  :root .md\:normal-nums{
    font-variant-numeric: normal;
  }

  :root .md\:ordinal{
    --tw-ordinal: ordinal;
  }

  :root .md\:slashed-zero{
    --tw-slashed-zero: slashed-zero;
  }

  :root .md\:lining-nums{
    --tw-numeric-figure: lining-nums;
  }

  :root .md\:oldstyle-nums{
    --tw-numeric-figure: oldstyle-nums;
  }

  :root .md\:proportional-nums{
    --tw-numeric-spacing: proportional-nums;
  }

  :root .md\:tabular-nums{
    --tw-numeric-spacing: tabular-nums;
  }

  :root .md\:diagonal-fractions{
    --tw-numeric-fraction: diagonal-fractions;
  }

  :root .md\:stacked-fractions{
    --tw-numeric-fraction: stacked-fractions;
  }

  :root .md\:tracking-tighter{
    letter-spacing: -0.05em;
  }

  :root .md\:tracking-tight{
    letter-spacing: -0.025em;
  }

  :root .md\:tracking-normal{
    letter-spacing: 0;
  }

  :root .md\:tracking-wide{
    letter-spacing: 0.025em;
  }

  :root .md\:tracking-wider{
    letter-spacing: 0.05em;
  }

  :root .md\:tracking-widest{
    letter-spacing: 0.1em;
  }

  :root .md\:select-none{
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }

  :root .md\:select-text{
    -webkit-user-select: text;
       -moz-user-select: text;
            user-select: text;
  }

  :root .md\:select-all{
    -webkit-user-select: all;
       -moz-user-select: all;
            user-select: all;
  }

  :root .md\:select-auto{
    -webkit-user-select: auto;
       -moz-user-select: auto;
            user-select: auto;
  }

  :root .md\:align-baseline{
    vertical-align: baseline;
  }

  :root .md\:align-top{
    vertical-align: top;
  }

  :root .md\:align-middle{
    vertical-align: middle;
  }

  :root .md\:align-bottom{
    vertical-align: bottom;
  }

  :root .md\:align-text-top{
    vertical-align: text-top;
  }

  :root .md\:align-text-bottom{
    vertical-align: text-bottom;
  }

  :root .md\:visible{
    visibility: visible;
  }

  :root .md\:invisible{
    visibility: hidden;
  }

  :root .md\:whitespace-normal{
    white-space: normal;
  }

  :root .md\:whitespace-nowrap{
    white-space: nowrap;
  }

  :root .md\:whitespace-pre{
    white-space: pre;
  }

  :root .md\:whitespace-pre-line{
    white-space: pre-line;
  }

  :root .md\:whitespace-pre-wrap{
    white-space: pre-wrap;
  }

  :root .md\:break-normal{
    overflow-wrap: normal;
    word-break: normal;
  }

  :root .md\:break-words{
    overflow-wrap: break-word;
  }

  :root .md\:break-all{
    word-break: break-all;
  }

  :root .md\:w-0{
    width: 0;
  }

  :root .md\:w-1{
    width: 0.25rem;
  }

  :root .md\:w-2{
    width: 0.5rem;
  }

  :root .md\:w-3{
    width: 0.75rem;
  }

  :root .md\:w-4{
    width: 1rem;
  }

  :root .md\:w-5{
    width: 1.25rem;
  }

  :root .md\:w-6{
    width: 1.5rem;
  }

  :root .md\:w-8{
    width: 2rem;
  }

  :root .md\:w-9{
    width: 2.25rem;
  }

  :root .md\:w-10{
    width: 2.5rem;
  }

  :root .md\:w-12{
    width: 3rem;
  }

  :root .md\:w-14{
    width: 3.5rem;
  }

  :root .md\:w-16{
    width: 4rem;
  }

  :root .md\:w-20{
    width: 5rem;
  }

  :root .md\:w-24{
    width: 6rem;
  }

  :root .md\:w-32{
    width: 8rem;
  }

  :root .md\:w-40{
    width: 10rem;
  }

  :root .md\:w-48{
    width: 12rem;
  }

  :root .md\:w-56{
    width: 14rem;
  }

  :root .md\:w-64{
    width: 16rem;
  }

  :root .md\:w-auto{
    width: auto;
  }

  :root .md\:w-px{
    width: 1px;
  }

  :root .md\:w-gutter{
    width: var(--padding-gutter);
  }

  :root .md\:w-1\/2{
    width: 50%;
  }

  :root .md\:w-1\/3{
    width: 33.333333%;
  }

  :root .md\:w-2\/3{
    width: 66.666667%;
  }

  :root .md\:w-1\/4{
    width: 25%;
  }

  :root .md\:w-2\/4{
    width: 50%;
  }

  :root .md\:w-3\/4{
    width: 75%;
  }

  :root .md\:w-1\/5{
    width: 20%;
  }

  :root .md\:w-2\/5{
    width: 40%;
  }

  :root .md\:w-3\/5{
    width: 60%;
  }

  :root .md\:w-4\/5{
    width: 80%;
  }

  :root .md\:w-1\/6{
    width: 16.666667%;
  }

  :root .md\:w-2\/6{
    width: 33.333333%;
  }

  :root .md\:w-3\/6{
    width: 50%;
  }

  :root .md\:w-4\/6{
    width: 66.666667%;
  }

  :root .md\:w-5\/6{
    width: 83.333333%;
  }

  :root .md\:w-1\/12{
    width: 8.333333%;
  }

  :root .md\:w-2\/12{
    width: 16.666667%;
  }

  :root .md\:w-3\/12{
    width: 25%;
  }

  :root .md\:w-4\/12{
    width: 33.333333%;
  }

  :root .md\:w-5\/12{
    width: 41.666667%;
  }

  :root .md\:w-6\/12{
    width: 50%;
  }

  :root .md\:w-7\/12{
    width: 58.333333%;
  }

  :root .md\:w-8\/12{
    width: 66.666667%;
  }

  :root .md\:w-9\/12{
    width: 75%;
  }

  :root .md\:w-10\/12{
    width: 83.333333%;
  }

  :root .md\:w-11\/12{
    width: 91.666667%;
  }

  :root .md\:w-full{
    width: 100%;
  }

  :root .md\:w-screen{
    width: 100vw;
  }

  :root .md\:z-0{
    z-index: 0;
  }

  :root .md\:z-10{
    z-index: 10;
  }

  :root .md\:z-20{
    z-index: 20;
  }

  :root .md\:z-30{
    z-index: 30;
  }

  :root .md\:z-40{
    z-index: 40;
  }

  :root .md\:z-50{
    z-index: 50;
  }

  :root .md\:z-auto{
    z-index: auto;
  }

  :root .md\:gap-0{
    gap: 0;
  }

  :root .md\:gap-1{
    gap: 0.25rem;
  }

  :root .md\:gap-2{
    gap: 0.5rem;
  }

  :root .md\:gap-3{
    gap: 0.75rem;
  }

  :root .md\:gap-4{
    gap: 1rem;
  }

  :root .md\:gap-5{
    gap: 1.25rem;
  }

  :root .md\:gap-6{
    gap: 1.5rem;
  }

  :root .md\:gap-8{
    gap: 2rem;
  }

  :root .md\:gap-9{
    gap: 2.25rem;
  }

  :root .md\:gap-10{
    gap: 2.5rem;
  }

  :root .md\:gap-12{
    gap: 3rem;
  }

  :root .md\:gap-14{
    gap: 3.5rem;
  }

  :root .md\:gap-16{
    gap: 4rem;
  }

  :root .md\:gap-20{
    gap: 5rem;
  }

  :root .md\:gap-24{
    gap: 6rem;
  }

  :root .md\:gap-32{
    gap: 8rem;
  }

  :root .md\:gap-40{
    gap: 10rem;
  }

  :root .md\:gap-48{
    gap: 12rem;
  }

  :root .md\:gap-56{
    gap: 14rem;
  }

  :root .md\:gap-64{
    gap: 16rem;
  }

  :root .md\:gap-px{
    gap: 1px;
  }

  :root .md\:gap-gutter{
    gap: var(--padding-gutter);
  }

  :root .md\:gap-x-0{
    -moz-column-gap: 0;
         column-gap: 0;
  }

  :root .md\:gap-x-1{
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }

  :root .md\:gap-x-2{
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }

  :root .md\:gap-x-3{
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
  }

  :root .md\:gap-x-4{
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }

  :root .md\:gap-x-5{
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
  }

  :root .md\:gap-x-6{
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }

  :root .md\:gap-x-8{
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }

  :root .md\:gap-x-9{
    -moz-column-gap: 2.25rem;
         column-gap: 2.25rem;
  }

  :root .md\:gap-x-10{
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }

  :root .md\:gap-x-12{
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }

  :root .md\:gap-x-14{
    -moz-column-gap: 3.5rem;
         column-gap: 3.5rem;
  }

  :root .md\:gap-x-16{
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }

  :root .md\:gap-x-20{
    -moz-column-gap: 5rem;
         column-gap: 5rem;
  }

  :root .md\:gap-x-24{
    -moz-column-gap: 6rem;
         column-gap: 6rem;
  }

  :root .md\:gap-x-32{
    -moz-column-gap: 8rem;
         column-gap: 8rem;
  }

  :root .md\:gap-x-40{
    -moz-column-gap: 10rem;
         column-gap: 10rem;
  }

  :root .md\:gap-x-48{
    -moz-column-gap: 12rem;
         column-gap: 12rem;
  }

  :root .md\:gap-x-56{
    -moz-column-gap: 14rem;
         column-gap: 14rem;
  }

  :root .md\:gap-x-64{
    -moz-column-gap: 16rem;
         column-gap: 16rem;
  }

  :root .md\:gap-x-px{
    -moz-column-gap: 1px;
         column-gap: 1px;
  }

  :root .md\:gap-x-gutter{
    -moz-column-gap: var(--padding-gutter);
         column-gap: var(--padding-gutter);
  }

  :root .md\:gap-y-0{
    row-gap: 0;
  }

  :root .md\:gap-y-1{
    row-gap: 0.25rem;
  }

  :root .md\:gap-y-2{
    row-gap: 0.5rem;
  }

  :root .md\:gap-y-3{
    row-gap: 0.75rem;
  }

  :root .md\:gap-y-4{
    row-gap: 1rem;
  }

  :root .md\:gap-y-5{
    row-gap: 1.25rem;
  }

  :root .md\:gap-y-6{
    row-gap: 1.5rem;
  }

  :root .md\:gap-y-8{
    row-gap: 2rem;
  }

  :root .md\:gap-y-9{
    row-gap: 2.25rem;
  }

  :root .md\:gap-y-10{
    row-gap: 2.5rem;
  }

  :root .md\:gap-y-12{
    row-gap: 3rem;
  }

  :root .md\:gap-y-14{
    row-gap: 3.5rem;
  }

  :root .md\:gap-y-16{
    row-gap: 4rem;
  }

  :root .md\:gap-y-20{
    row-gap: 5rem;
  }

  :root .md\:gap-y-24{
    row-gap: 6rem;
  }

  :root .md\:gap-y-32{
    row-gap: 8rem;
  }

  :root .md\:gap-y-40{
    row-gap: 10rem;
  }

  :root .md\:gap-y-48{
    row-gap: 12rem;
  }

  :root .md\:gap-y-56{
    row-gap: 14rem;
  }

  :root .md\:gap-y-64{
    row-gap: 16rem;
  }

  :root .md\:gap-y-px{
    row-gap: 1px;
  }

  :root .md\:gap-y-gutter{
    row-gap: var(--padding-gutter);
  }

  :root .md\:grid-flow-row{
    grid-auto-flow: row;
  }

  :root .md\:grid-flow-col{
    grid-auto-flow: column;
  }

  :root .md\:grid-flow-row-dense{
    grid-auto-flow: row dense;
  }

  :root .md\:grid-flow-col-dense{
    grid-auto-flow: column dense;
  }

  :root .md\:grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  :root .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :root .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  :root .md\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  :root .md\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  :root .md\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  :root .md\:grid-cols-7{
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  :root .md\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  :root .md\:grid-cols-9{
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }

  :root .md\:grid-cols-10{
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  :root .md\:grid-cols-11{
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }

  :root .md\:grid-cols-12{
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  :root .md\:grid-cols-none{
    grid-template-columns: none;
  }

  :root .md\:auto-cols-auto{
    grid-auto-columns: auto;
  }

  :root .md\:auto-cols-min{
    grid-auto-columns: -webkit-min-content;
    grid-auto-columns: min-content;
  }

  :root .md\:auto-cols-max{
    grid-auto-columns: -webkit-max-content;
    grid-auto-columns: max-content;
  }

  :root .md\:auto-cols-fr{
    grid-auto-columns: minmax(0, 1fr);
  }

  :root .md\:col-auto{
    grid-column: auto;
  }

  :root .md\:col-span-1{
    grid-column: span 1 / span 1;
  }

  :root .md\:col-span-2{
    grid-column: span 2 / span 2;
  }

  :root .md\:col-span-3{
    grid-column: span 3 / span 3;
  }

  :root .md\:col-span-4{
    grid-column: span 4 / span 4;
  }

  :root .md\:col-span-5{
    grid-column: span 5 / span 5;
  }

  :root .md\:col-span-6{
    grid-column: span 6 / span 6;
  }

  :root .md\:col-span-7{
    grid-column: span 7 / span 7;
  }

  :root .md\:col-span-8{
    grid-column: span 8 / span 8;
  }

  :root .md\:col-span-9{
    grid-column: span 9 / span 9;
  }

  :root .md\:col-span-10{
    grid-column: span 10 / span 10;
  }

  :root .md\:col-span-11{
    grid-column: span 11 / span 11;
  }

  :root .md\:col-span-12{
    grid-column: span 12 / span 12;
  }

  :root .md\:col-span-full{
    grid-column: 1 / -1;
  }

  :root .md\:col-start-1{
    grid-column-start: 1;
  }

  :root .md\:col-start-2{
    grid-column-start: 2;
  }

  :root .md\:col-start-3{
    grid-column-start: 3;
  }

  :root .md\:col-start-4{
    grid-column-start: 4;
  }

  :root .md\:col-start-5{
    grid-column-start: 5;
  }

  :root .md\:col-start-6{
    grid-column-start: 6;
  }

  :root .md\:col-start-7{
    grid-column-start: 7;
  }

  :root .md\:col-start-8{
    grid-column-start: 8;
  }

  :root .md\:col-start-9{
    grid-column-start: 9;
  }

  :root .md\:col-start-10{
    grid-column-start: 10;
  }

  :root .md\:col-start-11{
    grid-column-start: 11;
  }

  :root .md\:col-start-12{
    grid-column-start: 12;
  }

  :root .md\:col-start-13{
    grid-column-start: 13;
  }

  :root .md\:col-start-auto{
    grid-column-start: auto;
  }

  :root .md\:col-end-1{
    grid-column-end: 1;
  }

  :root .md\:col-end-2{
    grid-column-end: 2;
  }

  :root .md\:col-end-3{
    grid-column-end: 3;
  }

  :root .md\:col-end-4{
    grid-column-end: 4;
  }

  :root .md\:col-end-5{
    grid-column-end: 5;
  }

  :root .md\:col-end-6{
    grid-column-end: 6;
  }

  :root .md\:col-end-7{
    grid-column-end: 7;
  }

  :root .md\:col-end-8{
    grid-column-end: 8;
  }

  :root .md\:col-end-9{
    grid-column-end: 9;
  }

  :root .md\:col-end-10{
    grid-column-end: 10;
  }

  :root .md\:col-end-11{
    grid-column-end: 11;
  }

  :root .md\:col-end-12{
    grid-column-end: 12;
  }

  :root .md\:col-end-13{
    grid-column-end: 13;
  }

  :root .md\:col-end-auto{
    grid-column-end: auto;
  }

  :root .md\:grid-rows-1{
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }

  :root .md\:grid-rows-2{
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }

  :root .md\:grid-rows-3{
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }

  :root .md\:grid-rows-4{
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }

  :root .md\:grid-rows-5{
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }

  :root .md\:grid-rows-6{
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }

  :root .md\:grid-rows-none{
    grid-template-rows: none;
  }

  :root .md\:auto-rows-auto{
    grid-auto-rows: auto;
  }

  :root .md\:auto-rows-min{
    grid-auto-rows: -webkit-min-content;
    grid-auto-rows: min-content;
  }

  :root .md\:auto-rows-max{
    grid-auto-rows: -webkit-max-content;
    grid-auto-rows: max-content;
  }

  :root .md\:auto-rows-fr{
    grid-auto-rows: minmax(0, 1fr);
  }

  :root .md\:row-auto{
    grid-row: auto;
  }

  :root .md\:row-span-1{
    grid-row: span 1 / span 1;
  }

  :root .md\:row-span-2{
    grid-row: span 2 / span 2;
  }

  :root .md\:row-span-3{
    grid-row: span 3 / span 3;
  }

  :root .md\:row-span-4{
    grid-row: span 4 / span 4;
  }

  :root .md\:row-span-5{
    grid-row: span 5 / span 5;
  }

  :root .md\:row-span-6{
    grid-row: span 6 / span 6;
  }

  :root .md\:row-span-full{
    grid-row: 1 / -1;
  }

  :root .md\:row-start-1{
    grid-row-start: 1;
  }

  :root .md\:row-start-2{
    grid-row-start: 2;
  }

  :root .md\:row-start-3{
    grid-row-start: 3;
  }

  :root .md\:row-start-4{
    grid-row-start: 4;
  }

  :root .md\:row-start-5{
    grid-row-start: 5;
  }

  :root .md\:row-start-6{
    grid-row-start: 6;
  }

  :root .md\:row-start-7{
    grid-row-start: 7;
  }

  :root .md\:row-start-auto{
    grid-row-start: auto;
  }

  :root .md\:row-end-1{
    grid-row-end: 1;
  }

  :root .md\:row-end-2{
    grid-row-end: 2;
  }

  :root .md\:row-end-3{
    grid-row-end: 3;
  }

  :root .md\:row-end-4{
    grid-row-end: 4;
  }

  :root .md\:row-end-5{
    grid-row-end: 5;
  }

  :root .md\:row-end-6{
    grid-row-end: 6;
  }

  :root .md\:row-end-7{
    grid-row-end: 7;
  }

  :root .md\:row-end-auto{
    grid-row-end: auto;
  }

  :root .md\:transform{
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  :root .md\:transform-gpu{
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  :root .md\:transform-none{
    transform: none;
  }

  :root .md\:origin-center{
    transform-origin: center;
  }

  :root .md\:origin-top{
    transform-origin: top;
  }

  :root .md\:origin-top-right{
    transform-origin: top right;
  }

  :root .md\:origin-right{
    transform-origin: right;
  }

  :root .md\:origin-bottom-right{
    transform-origin: bottom right;
  }

  :root .md\:origin-bottom{
    transform-origin: bottom;
  }

  :root .md\:origin-bottom-left{
    transform-origin: bottom left;
  }

  :root .md\:origin-left{
    transform-origin: left;
  }

  :root .md\:origin-top-left{
    transform-origin: top left;
  }

  :root .md\:scale-0{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
  }

  :root .md\:scale-50{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
  }

  :root .md\:scale-75{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
  }

  :root .md\:scale-90{
    --tw-scale-x: .9;
    --tw-scale-y: .9;
  }

  :root .md\:scale-95{
    --tw-scale-x: .95;
    --tw-scale-y: .95;
  }

  :root .md\:scale-100{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
  }

  :root .md\:scale-105{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  :root .md\:scale-110{
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
  }

  :root .md\:scale-125{
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
  }

  :root .md\:scale-150{
    --tw-scale-x: 1.5;
    --tw-scale-y: 1.5;
  }

  :root .md\:scale-x-0{
    --tw-scale-x: 0;
  }

  :root .md\:scale-x-50{
    --tw-scale-x: .5;
  }

  :root .md\:scale-x-75{
    --tw-scale-x: .75;
  }

  :root .md\:scale-x-90{
    --tw-scale-x: .9;
  }

  :root .md\:scale-x-95{
    --tw-scale-x: .95;
  }

  :root .md\:scale-x-100{
    --tw-scale-x: 1;
  }

  :root .md\:scale-x-105{
    --tw-scale-x: 1.05;
  }

  :root .md\:scale-x-110{
    --tw-scale-x: 1.1;
  }

  :root .md\:scale-x-125{
    --tw-scale-x: 1.25;
  }

  :root .md\:scale-x-150{
    --tw-scale-x: 1.5;
  }

  :root .md\:scale-y-0{
    --tw-scale-y: 0;
  }

  :root .md\:scale-y-50{
    --tw-scale-y: .5;
  }

  :root .md\:scale-y-75{
    --tw-scale-y: .75;
  }

  :root .md\:scale-y-90{
    --tw-scale-y: .9;
  }

  :root .md\:scale-y-95{
    --tw-scale-y: .95;
  }

  :root .md\:scale-y-100{
    --tw-scale-y: 1;
  }

  :root .md\:scale-y-105{
    --tw-scale-y: 1.05;
  }

  :root .md\:scale-y-110{
    --tw-scale-y: 1.1;
  }

  :root .md\:scale-y-125{
    --tw-scale-y: 1.25;
  }

  :root .md\:scale-y-150{
    --tw-scale-y: 1.5;
  }

  :root .md\:hover\:scale-0:hover{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
  }

  :root .md\:hover\:scale-50:hover{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
  }

  :root .md\:hover\:scale-75:hover{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
  }

  :root .md\:hover\:scale-90:hover{
    --tw-scale-x: .9;
    --tw-scale-y: .9;
  }

  :root .md\:hover\:scale-95:hover{
    --tw-scale-x: .95;
    --tw-scale-y: .95;
  }

  :root .md\:hover\:scale-100:hover{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
  }

  :root .md\:hover\:scale-105:hover{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  :root .md\:hover\:scale-110:hover{
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
  }

  :root .md\:hover\:scale-125:hover{
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
  }

  :root .md\:hover\:scale-150:hover{
    --tw-scale-x: 1.5;
    --tw-scale-y: 1.5;
  }

  :root .md\:hover\:scale-x-0:hover{
    --tw-scale-x: 0;
  }

  :root .md\:hover\:scale-x-50:hover{
    --tw-scale-x: .5;
  }

  :root .md\:hover\:scale-x-75:hover{
    --tw-scale-x: .75;
  }

  :root .md\:hover\:scale-x-90:hover{
    --tw-scale-x: .9;
  }

  :root .md\:hover\:scale-x-95:hover{
    --tw-scale-x: .95;
  }

  :root .md\:hover\:scale-x-100:hover{
    --tw-scale-x: 1;
  }

  :root .md\:hover\:scale-x-105:hover{
    --tw-scale-x: 1.05;
  }

  :root .md\:hover\:scale-x-110:hover{
    --tw-scale-x: 1.1;
  }

  :root .md\:hover\:scale-x-125:hover{
    --tw-scale-x: 1.25;
  }

  :root .md\:hover\:scale-x-150:hover{
    --tw-scale-x: 1.5;
  }

  :root .md\:hover\:scale-y-0:hover{
    --tw-scale-y: 0;
  }

  :root .md\:hover\:scale-y-50:hover{
    --tw-scale-y: .5;
  }

  :root .md\:hover\:scale-y-75:hover{
    --tw-scale-y: .75;
  }

  :root .md\:hover\:scale-y-90:hover{
    --tw-scale-y: .9;
  }

  :root .md\:hover\:scale-y-95:hover{
    --tw-scale-y: .95;
  }

  :root .md\:hover\:scale-y-100:hover{
    --tw-scale-y: 1;
  }

  :root .md\:hover\:scale-y-105:hover{
    --tw-scale-y: 1.05;
  }

  :root .md\:hover\:scale-y-110:hover{
    --tw-scale-y: 1.1;
  }

  :root .md\:hover\:scale-y-125:hover{
    --tw-scale-y: 1.25;
  }

  :root .md\:hover\:scale-y-150:hover{
    --tw-scale-y: 1.5;
  }

  :root .md\:focus\:scale-0:focus{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
  }

  :root .md\:focus\:scale-50:focus{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
  }

  :root .md\:focus\:scale-75:focus{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
  }

  :root .md\:focus\:scale-90:focus{
    --tw-scale-x: .9;
    --tw-scale-y: .9;
  }

  :root .md\:focus\:scale-95:focus{
    --tw-scale-x: .95;
    --tw-scale-y: .95;
  }

  :root .md\:focus\:scale-100:focus{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
  }

  :root .md\:focus\:scale-105:focus{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  :root .md\:focus\:scale-110:focus{
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
  }

  :root .md\:focus\:scale-125:focus{
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
  }

  :root .md\:focus\:scale-150:focus{
    --tw-scale-x: 1.5;
    --tw-scale-y: 1.5;
  }

  :root .md\:focus\:scale-x-0:focus{
    --tw-scale-x: 0;
  }

  :root .md\:focus\:scale-x-50:focus{
    --tw-scale-x: .5;
  }

  :root .md\:focus\:scale-x-75:focus{
    --tw-scale-x: .75;
  }

  :root .md\:focus\:scale-x-90:focus{
    --tw-scale-x: .9;
  }

  :root .md\:focus\:scale-x-95:focus{
    --tw-scale-x: .95;
  }

  :root .md\:focus\:scale-x-100:focus{
    --tw-scale-x: 1;
  }

  :root .md\:focus\:scale-x-105:focus{
    --tw-scale-x: 1.05;
  }

  :root .md\:focus\:scale-x-110:focus{
    --tw-scale-x: 1.1;
  }

  :root .md\:focus\:scale-x-125:focus{
    --tw-scale-x: 1.25;
  }

  :root .md\:focus\:scale-x-150:focus{
    --tw-scale-x: 1.5;
  }

  :root .md\:focus\:scale-y-0:focus{
    --tw-scale-y: 0;
  }

  :root .md\:focus\:scale-y-50:focus{
    --tw-scale-y: .5;
  }

  :root .md\:focus\:scale-y-75:focus{
    --tw-scale-y: .75;
  }

  :root .md\:focus\:scale-y-90:focus{
    --tw-scale-y: .9;
  }

  :root .md\:focus\:scale-y-95:focus{
    --tw-scale-y: .95;
  }

  :root .md\:focus\:scale-y-100:focus{
    --tw-scale-y: 1;
  }

  :root .md\:focus\:scale-y-105:focus{
    --tw-scale-y: 1.05;
  }

  :root .md\:focus\:scale-y-110:focus{
    --tw-scale-y: 1.1;
  }

  :root .md\:focus\:scale-y-125:focus{
    --tw-scale-y: 1.25;
  }

  :root .md\:focus\:scale-y-150:focus{
    --tw-scale-y: 1.5;
  }

  :root .md\:rotate-0{
    --tw-rotate: 0deg;
  }

  :root .md\:rotate-1{
    --tw-rotate: 1deg;
  }

  :root .md\:rotate-2{
    --tw-rotate: 2deg;
  }

  :root .md\:rotate-3{
    --tw-rotate: 3deg;
  }

  :root .md\:rotate-6{
    --tw-rotate: 6deg;
  }

  :root .md\:rotate-12{
    --tw-rotate: 12deg;
  }

  :root .md\:rotate-45{
    --tw-rotate: 45deg;
  }

  :root .md\:rotate-90{
    --tw-rotate: 90deg;
  }

  :root .md\:rotate-180{
    --tw-rotate: 180deg;
  }

  :root .md\:-rotate-180{
    --tw-rotate: -180deg;
  }

  :root .md\:-rotate-90{
    --tw-rotate: -90deg;
  }

  :root .md\:-rotate-45{
    --tw-rotate: -45deg;
  }

  :root .md\:-rotate-12{
    --tw-rotate: -12deg;
  }

  :root .md\:-rotate-6{
    --tw-rotate: -6deg;
  }

  :root .md\:-rotate-3{
    --tw-rotate: -3deg;
  }

  :root .md\:-rotate-2{
    --tw-rotate: -2deg;
  }

  :root .md\:-rotate-1{
    --tw-rotate: -1deg;
  }

  :root .md\:hover\:rotate-0:hover{
    --tw-rotate: 0deg;
  }

  :root .md\:hover\:rotate-1:hover{
    --tw-rotate: 1deg;
  }

  :root .md\:hover\:rotate-2:hover{
    --tw-rotate: 2deg;
  }

  :root .md\:hover\:rotate-3:hover{
    --tw-rotate: 3deg;
  }

  :root .md\:hover\:rotate-6:hover{
    --tw-rotate: 6deg;
  }

  :root .md\:hover\:rotate-12:hover{
    --tw-rotate: 12deg;
  }

  :root .md\:hover\:rotate-45:hover{
    --tw-rotate: 45deg;
  }

  :root .md\:hover\:rotate-90:hover{
    --tw-rotate: 90deg;
  }

  :root .md\:hover\:rotate-180:hover{
    --tw-rotate: 180deg;
  }

  :root .md\:hover\:-rotate-180:hover{
    --tw-rotate: -180deg;
  }

  :root .md\:hover\:-rotate-90:hover{
    --tw-rotate: -90deg;
  }

  :root .md\:hover\:-rotate-45:hover{
    --tw-rotate: -45deg;
  }

  :root .md\:hover\:-rotate-12:hover{
    --tw-rotate: -12deg;
  }

  :root .md\:hover\:-rotate-6:hover{
    --tw-rotate: -6deg;
  }

  :root .md\:hover\:-rotate-3:hover{
    --tw-rotate: -3deg;
  }

  :root .md\:hover\:-rotate-2:hover{
    --tw-rotate: -2deg;
  }

  :root .md\:hover\:-rotate-1:hover{
    --tw-rotate: -1deg;
  }

  :root .md\:focus\:rotate-0:focus{
    --tw-rotate: 0deg;
  }

  :root .md\:focus\:rotate-1:focus{
    --tw-rotate: 1deg;
  }

  :root .md\:focus\:rotate-2:focus{
    --tw-rotate: 2deg;
  }

  :root .md\:focus\:rotate-3:focus{
    --tw-rotate: 3deg;
  }

  :root .md\:focus\:rotate-6:focus{
    --tw-rotate: 6deg;
  }

  :root .md\:focus\:rotate-12:focus{
    --tw-rotate: 12deg;
  }

  :root .md\:focus\:rotate-45:focus{
    --tw-rotate: 45deg;
  }

  :root .md\:focus\:rotate-90:focus{
    --tw-rotate: 90deg;
  }

  :root .md\:focus\:rotate-180:focus{
    --tw-rotate: 180deg;
  }

  :root .md\:focus\:-rotate-180:focus{
    --tw-rotate: -180deg;
  }

  :root .md\:focus\:-rotate-90:focus{
    --tw-rotate: -90deg;
  }

  :root .md\:focus\:-rotate-45:focus{
    --tw-rotate: -45deg;
  }

  :root .md\:focus\:-rotate-12:focus{
    --tw-rotate: -12deg;
  }

  :root .md\:focus\:-rotate-6:focus{
    --tw-rotate: -6deg;
  }

  :root .md\:focus\:-rotate-3:focus{
    --tw-rotate: -3deg;
  }

  :root .md\:focus\:-rotate-2:focus{
    --tw-rotate: -2deg;
  }

  :root .md\:focus\:-rotate-1:focus{
    --tw-rotate: -1deg;
  }

  :root .md\:translate-x-0{
    --tw-translate-x: 0;
  }

  :root .md\:translate-x-1{
    --tw-translate-x: 0.25rem;
  }

  :root .md\:translate-x-2{
    --tw-translate-x: 0.5rem;
  }

  :root .md\:translate-x-3{
    --tw-translate-x: 0.75rem;
  }

  :root .md\:translate-x-4{
    --tw-translate-x: 1rem;
  }

  :root .md\:translate-x-5{
    --tw-translate-x: 1.25rem;
  }

  :root .md\:translate-x-6{
    --tw-translate-x: 1.5rem;
  }

  :root .md\:translate-x-8{
    --tw-translate-x: 2rem;
  }

  :root .md\:translate-x-9{
    --tw-translate-x: 2.25rem;
  }

  :root .md\:translate-x-10{
    --tw-translate-x: 2.5rem;
  }

  :root .md\:translate-x-12{
    --tw-translate-x: 3rem;
  }

  :root .md\:translate-x-14{
    --tw-translate-x: 3.5rem;
  }

  :root .md\:translate-x-16{
    --tw-translate-x: 4rem;
  }

  :root .md\:translate-x-20{
    --tw-translate-x: 5rem;
  }

  :root .md\:translate-x-24{
    --tw-translate-x: 6rem;
  }

  :root .md\:translate-x-32{
    --tw-translate-x: 8rem;
  }

  :root .md\:translate-x-40{
    --tw-translate-x: 10rem;
  }

  :root .md\:translate-x-48{
    --tw-translate-x: 12rem;
  }

  :root .md\:translate-x-56{
    --tw-translate-x: 14rem;
  }

  :root .md\:translate-x-64{
    --tw-translate-x: 16rem;
  }

  :root .md\:translate-x-px{
    --tw-translate-x: 1px;
  }

  :root .md\:translate-x-gutter{
    --tw-translate-x: var(--padding-gutter);
  }

  :root .md\:-translate-x-1{
    --tw-translate-x: -0.25rem;
  }

  :root .md\:-translate-x-2{
    --tw-translate-x: -0.5rem;
  }

  :root .md\:-translate-x-3{
    --tw-translate-x: -0.75rem;
  }

  :root .md\:-translate-x-4{
    --tw-translate-x: -1rem;
  }

  :root .md\:-translate-x-5{
    --tw-translate-x: -1.25rem;
  }

  :root .md\:-translate-x-6{
    --tw-translate-x: -1.5rem;
  }

  :root .md\:-translate-x-8{
    --tw-translate-x: -2rem;
  }

  :root .md\:-translate-x-9{
    --tw-translate-x: -2.25rem;
  }

  :root .md\:-translate-x-10{
    --tw-translate-x: -2.5rem;
  }

  :root .md\:-translate-x-12{
    --tw-translate-x: -3rem;
  }

  :root .md\:-translate-x-14{
    --tw-translate-x: -3.5rem;
  }

  :root .md\:-translate-x-16{
    --tw-translate-x: -4rem;
  }

  :root .md\:-translate-x-20{
    --tw-translate-x: -5rem;
  }

  :root .md\:-translate-x-24{
    --tw-translate-x: -6rem;
  }

  :root .md\:-translate-x-32{
    --tw-translate-x: -8rem;
  }

  :root .md\:-translate-x-40{
    --tw-translate-x: -10rem;
  }

  :root .md\:-translate-x-48{
    --tw-translate-x: -12rem;
  }

  :root .md\:-translate-x-56{
    --tw-translate-x: -14rem;
  }

  :root .md\:-translate-x-64{
    --tw-translate-x: -16rem;
  }

  :root .md\:-translate-x-px{
    --tw-translate-x: -1px;
  }

  :root .md\:-translate-x-gutter{
    --tw-translate-x: calc(var(--padding-gutter) * -1);
  }

  :root .md\:translate-x-1\/2{
    --tw-translate-x: 50%;
  }

  :root .md\:translate-x-1\/3{
    --tw-translate-x: 33.333333%;
  }

  :root .md\:translate-x-2\/3{
    --tw-translate-x: 66.666667%;
  }

  :root .md\:translate-x-1\/4{
    --tw-translate-x: 25%;
  }

  :root .md\:translate-x-2\/4{
    --tw-translate-x: 50%;
  }

  :root .md\:translate-x-3\/4{
    --tw-translate-x: 75%;
  }

  :root .md\:translate-x-full{
    --tw-translate-x: 100%;
  }

  :root .md\:-translate-x-1\/2{
    --tw-translate-x: -50%;
  }

  :root .md\:-translate-x-1\/3{
    --tw-translate-x: -33.333333%;
  }

  :root .md\:-translate-x-2\/3{
    --tw-translate-x: -66.666667%;
  }

  :root .md\:-translate-x-1\/4{
    --tw-translate-x: -25%;
  }

  :root .md\:-translate-x-2\/4{
    --tw-translate-x: -50%;
  }

  :root .md\:-translate-x-3\/4{
    --tw-translate-x: -75%;
  }

  :root .md\:-translate-x-full{
    --tw-translate-x: -100%;
  }

  :root .md\:translate-y-0{
    --tw-translate-y: 0;
  }

  :root .md\:translate-y-1{
    --tw-translate-y: 0.25rem;
  }

  :root .md\:translate-y-2{
    --tw-translate-y: 0.5rem;
  }

  :root .md\:translate-y-3{
    --tw-translate-y: 0.75rem;
  }

  :root .md\:translate-y-4{
    --tw-translate-y: 1rem;
  }

  :root .md\:translate-y-5{
    --tw-translate-y: 1.25rem;
  }

  :root .md\:translate-y-6{
    --tw-translate-y: 1.5rem;
  }

  :root .md\:translate-y-8{
    --tw-translate-y: 2rem;
  }

  :root .md\:translate-y-9{
    --tw-translate-y: 2.25rem;
  }

  :root .md\:translate-y-10{
    --tw-translate-y: 2.5rem;
  }

  :root .md\:translate-y-12{
    --tw-translate-y: 3rem;
  }

  :root .md\:translate-y-14{
    --tw-translate-y: 3.5rem;
  }

  :root .md\:translate-y-16{
    --tw-translate-y: 4rem;
  }

  :root .md\:translate-y-20{
    --tw-translate-y: 5rem;
  }

  :root .md\:translate-y-24{
    --tw-translate-y: 6rem;
  }

  :root .md\:translate-y-32{
    --tw-translate-y: 8rem;
  }

  :root .md\:translate-y-40{
    --tw-translate-y: 10rem;
  }

  :root .md\:translate-y-48{
    --tw-translate-y: 12rem;
  }

  :root .md\:translate-y-56{
    --tw-translate-y: 14rem;
  }

  :root .md\:translate-y-64{
    --tw-translate-y: 16rem;
  }

  :root .md\:translate-y-px{
    --tw-translate-y: 1px;
  }

  :root .md\:translate-y-gutter{
    --tw-translate-y: var(--padding-gutter);
  }

  :root .md\:-translate-y-1{
    --tw-translate-y: -0.25rem;
  }

  :root .md\:-translate-y-2{
    --tw-translate-y: -0.5rem;
  }

  :root .md\:-translate-y-3{
    --tw-translate-y: -0.75rem;
  }

  :root .md\:-translate-y-4{
    --tw-translate-y: -1rem;
  }

  :root .md\:-translate-y-5{
    --tw-translate-y: -1.25rem;
  }

  :root .md\:-translate-y-6{
    --tw-translate-y: -1.5rem;
  }

  :root .md\:-translate-y-8{
    --tw-translate-y: -2rem;
  }

  :root .md\:-translate-y-9{
    --tw-translate-y: -2.25rem;
  }

  :root .md\:-translate-y-10{
    --tw-translate-y: -2.5rem;
  }

  :root .md\:-translate-y-12{
    --tw-translate-y: -3rem;
  }

  :root .md\:-translate-y-14{
    --tw-translate-y: -3.5rem;
  }

  :root .md\:-translate-y-16{
    --tw-translate-y: -4rem;
  }

  :root .md\:-translate-y-20{
    --tw-translate-y: -5rem;
  }

  :root .md\:-translate-y-24{
    --tw-translate-y: -6rem;
  }

  :root .md\:-translate-y-32{
    --tw-translate-y: -8rem;
  }

  :root .md\:-translate-y-40{
    --tw-translate-y: -10rem;
  }

  :root .md\:-translate-y-48{
    --tw-translate-y: -12rem;
  }

  :root .md\:-translate-y-56{
    --tw-translate-y: -14rem;
  }

  :root .md\:-translate-y-64{
    --tw-translate-y: -16rem;
  }

  :root .md\:-translate-y-px{
    --tw-translate-y: -1px;
  }

  :root .md\:-translate-y-gutter{
    --tw-translate-y: calc(var(--padding-gutter) * -1);
  }

  :root .md\:translate-y-1\/2{
    --tw-translate-y: 50%;
  }

  :root .md\:translate-y-1\/3{
    --tw-translate-y: 33.333333%;
  }

  :root .md\:translate-y-2\/3{
    --tw-translate-y: 66.666667%;
  }

  :root .md\:translate-y-1\/4{
    --tw-translate-y: 25%;
  }

  :root .md\:translate-y-2\/4{
    --tw-translate-y: 50%;
  }

  :root .md\:translate-y-3\/4{
    --tw-translate-y: 75%;
  }

  :root .md\:translate-y-full{
    --tw-translate-y: 100%;
  }

  :root .md\:-translate-y-1\/2{
    --tw-translate-y: -50%;
  }

  :root .md\:-translate-y-1\/3{
    --tw-translate-y: -33.333333%;
  }

  :root .md\:-translate-y-2\/3{
    --tw-translate-y: -66.666667%;
  }

  :root .md\:-translate-y-1\/4{
    --tw-translate-y: -25%;
  }

  :root .md\:-translate-y-2\/4{
    --tw-translate-y: -50%;
  }

  :root .md\:-translate-y-3\/4{
    --tw-translate-y: -75%;
  }

  :root .md\:-translate-y-full{
    --tw-translate-y: -100%;
  }

  :root .md\:hover\:translate-x-0:hover{
    --tw-translate-x: 0;
  }

  :root .md\:hover\:translate-x-1:hover{
    --tw-translate-x: 0.25rem;
  }

  :root .md\:hover\:translate-x-2:hover{
    --tw-translate-x: 0.5rem;
  }

  :root .md\:hover\:translate-x-3:hover{
    --tw-translate-x: 0.75rem;
  }

  :root .md\:hover\:translate-x-4:hover{
    --tw-translate-x: 1rem;
  }

  :root .md\:hover\:translate-x-5:hover{
    --tw-translate-x: 1.25rem;
  }

  :root .md\:hover\:translate-x-6:hover{
    --tw-translate-x: 1.5rem;
  }

  :root .md\:hover\:translate-x-8:hover{
    --tw-translate-x: 2rem;
  }

  :root .md\:hover\:translate-x-9:hover{
    --tw-translate-x: 2.25rem;
  }

  :root .md\:hover\:translate-x-10:hover{
    --tw-translate-x: 2.5rem;
  }

  :root .md\:hover\:translate-x-12:hover{
    --tw-translate-x: 3rem;
  }

  :root .md\:hover\:translate-x-14:hover{
    --tw-translate-x: 3.5rem;
  }

  :root .md\:hover\:translate-x-16:hover{
    --tw-translate-x: 4rem;
  }

  :root .md\:hover\:translate-x-20:hover{
    --tw-translate-x: 5rem;
  }

  :root .md\:hover\:translate-x-24:hover{
    --tw-translate-x: 6rem;
  }

  :root .md\:hover\:translate-x-32:hover{
    --tw-translate-x: 8rem;
  }

  :root .md\:hover\:translate-x-40:hover{
    --tw-translate-x: 10rem;
  }

  :root .md\:hover\:translate-x-48:hover{
    --tw-translate-x: 12rem;
  }

  :root .md\:hover\:translate-x-56:hover{
    --tw-translate-x: 14rem;
  }

  :root .md\:hover\:translate-x-64:hover{
    --tw-translate-x: 16rem;
  }

  :root .md\:hover\:translate-x-px:hover{
    --tw-translate-x: 1px;
  }

  :root .md\:hover\:translate-x-gutter:hover{
    --tw-translate-x: var(--padding-gutter);
  }

  :root .md\:hover\:-translate-x-1:hover{
    --tw-translate-x: -0.25rem;
  }

  :root .md\:hover\:-translate-x-2:hover{
    --tw-translate-x: -0.5rem;
  }

  :root .md\:hover\:-translate-x-3:hover{
    --tw-translate-x: -0.75rem;
  }

  :root .md\:hover\:-translate-x-4:hover{
    --tw-translate-x: -1rem;
  }

  :root .md\:hover\:-translate-x-5:hover{
    --tw-translate-x: -1.25rem;
  }

  :root .md\:hover\:-translate-x-6:hover{
    --tw-translate-x: -1.5rem;
  }

  :root .md\:hover\:-translate-x-8:hover{
    --tw-translate-x: -2rem;
  }

  :root .md\:hover\:-translate-x-9:hover{
    --tw-translate-x: -2.25rem;
  }

  :root .md\:hover\:-translate-x-10:hover{
    --tw-translate-x: -2.5rem;
  }

  :root .md\:hover\:-translate-x-12:hover{
    --tw-translate-x: -3rem;
  }

  :root .md\:hover\:-translate-x-14:hover{
    --tw-translate-x: -3.5rem;
  }

  :root .md\:hover\:-translate-x-16:hover{
    --tw-translate-x: -4rem;
  }

  :root .md\:hover\:-translate-x-20:hover{
    --tw-translate-x: -5rem;
  }

  :root .md\:hover\:-translate-x-24:hover{
    --tw-translate-x: -6rem;
  }

  :root .md\:hover\:-translate-x-32:hover{
    --tw-translate-x: -8rem;
  }

  :root .md\:hover\:-translate-x-40:hover{
    --tw-translate-x: -10rem;
  }

  :root .md\:hover\:-translate-x-48:hover{
    --tw-translate-x: -12rem;
  }

  :root .md\:hover\:-translate-x-56:hover{
    --tw-translate-x: -14rem;
  }

  :root .md\:hover\:-translate-x-64:hover{
    --tw-translate-x: -16rem;
  }

  :root .md\:hover\:-translate-x-px:hover{
    --tw-translate-x: -1px;
  }

  :root .md\:hover\:-translate-x-gutter:hover{
    --tw-translate-x: calc(var(--padding-gutter) * -1);
  }

  :root .md\:hover\:translate-x-1\/2:hover{
    --tw-translate-x: 50%;
  }

  :root .md\:hover\:translate-x-1\/3:hover{
    --tw-translate-x: 33.333333%;
  }

  :root .md\:hover\:translate-x-2\/3:hover{
    --tw-translate-x: 66.666667%;
  }

  :root .md\:hover\:translate-x-1\/4:hover{
    --tw-translate-x: 25%;
  }

  :root .md\:hover\:translate-x-2\/4:hover{
    --tw-translate-x: 50%;
  }

  :root .md\:hover\:translate-x-3\/4:hover{
    --tw-translate-x: 75%;
  }

  :root .md\:hover\:translate-x-full:hover{
    --tw-translate-x: 100%;
  }

  :root .md\:hover\:-translate-x-1\/2:hover{
    --tw-translate-x: -50%;
  }

  :root .md\:hover\:-translate-x-1\/3:hover{
    --tw-translate-x: -33.333333%;
  }

  :root .md\:hover\:-translate-x-2\/3:hover{
    --tw-translate-x: -66.666667%;
  }

  :root .md\:hover\:-translate-x-1\/4:hover{
    --tw-translate-x: -25%;
  }

  :root .md\:hover\:-translate-x-2\/4:hover{
    --tw-translate-x: -50%;
  }

  :root .md\:hover\:-translate-x-3\/4:hover{
    --tw-translate-x: -75%;
  }

  :root .md\:hover\:-translate-x-full:hover{
    --tw-translate-x: -100%;
  }

  :root .md\:hover\:translate-y-0:hover{
    --tw-translate-y: 0;
  }

  :root .md\:hover\:translate-y-1:hover{
    --tw-translate-y: 0.25rem;
  }

  :root .md\:hover\:translate-y-2:hover{
    --tw-translate-y: 0.5rem;
  }

  :root .md\:hover\:translate-y-3:hover{
    --tw-translate-y: 0.75rem;
  }

  :root .md\:hover\:translate-y-4:hover{
    --tw-translate-y: 1rem;
  }

  :root .md\:hover\:translate-y-5:hover{
    --tw-translate-y: 1.25rem;
  }

  :root .md\:hover\:translate-y-6:hover{
    --tw-translate-y: 1.5rem;
  }

  :root .md\:hover\:translate-y-8:hover{
    --tw-translate-y: 2rem;
  }

  :root .md\:hover\:translate-y-9:hover{
    --tw-translate-y: 2.25rem;
  }

  :root .md\:hover\:translate-y-10:hover{
    --tw-translate-y: 2.5rem;
  }

  :root .md\:hover\:translate-y-12:hover{
    --tw-translate-y: 3rem;
  }

  :root .md\:hover\:translate-y-14:hover{
    --tw-translate-y: 3.5rem;
  }

  :root .md\:hover\:translate-y-16:hover{
    --tw-translate-y: 4rem;
  }

  :root .md\:hover\:translate-y-20:hover{
    --tw-translate-y: 5rem;
  }

  :root .md\:hover\:translate-y-24:hover{
    --tw-translate-y: 6rem;
  }

  :root .md\:hover\:translate-y-32:hover{
    --tw-translate-y: 8rem;
  }

  :root .md\:hover\:translate-y-40:hover{
    --tw-translate-y: 10rem;
  }

  :root .md\:hover\:translate-y-48:hover{
    --tw-translate-y: 12rem;
  }

  :root .md\:hover\:translate-y-56:hover{
    --tw-translate-y: 14rem;
  }

  :root .md\:hover\:translate-y-64:hover{
    --tw-translate-y: 16rem;
  }

  :root .md\:hover\:translate-y-px:hover{
    --tw-translate-y: 1px;
  }

  :root .md\:hover\:translate-y-gutter:hover{
    --tw-translate-y: var(--padding-gutter);
  }

  :root .md\:hover\:-translate-y-1:hover{
    --tw-translate-y: -0.25rem;
  }

  :root .md\:hover\:-translate-y-2:hover{
    --tw-translate-y: -0.5rem;
  }

  :root .md\:hover\:-translate-y-3:hover{
    --tw-translate-y: -0.75rem;
  }

  :root .md\:hover\:-translate-y-4:hover{
    --tw-translate-y: -1rem;
  }

  :root .md\:hover\:-translate-y-5:hover{
    --tw-translate-y: -1.25rem;
  }

  :root .md\:hover\:-translate-y-6:hover{
    --tw-translate-y: -1.5rem;
  }

  :root .md\:hover\:-translate-y-8:hover{
    --tw-translate-y: -2rem;
  }

  :root .md\:hover\:-translate-y-9:hover{
    --tw-translate-y: -2.25rem;
  }

  :root .md\:hover\:-translate-y-10:hover{
    --tw-translate-y: -2.5rem;
  }

  :root .md\:hover\:-translate-y-12:hover{
    --tw-translate-y: -3rem;
  }

  :root .md\:hover\:-translate-y-14:hover{
    --tw-translate-y: -3.5rem;
  }

  :root .md\:hover\:-translate-y-16:hover{
    --tw-translate-y: -4rem;
  }

  :root .md\:hover\:-translate-y-20:hover{
    --tw-translate-y: -5rem;
  }

  :root .md\:hover\:-translate-y-24:hover{
    --tw-translate-y: -6rem;
  }

  :root .md\:hover\:-translate-y-32:hover{
    --tw-translate-y: -8rem;
  }

  :root .md\:hover\:-translate-y-40:hover{
    --tw-translate-y: -10rem;
  }

  :root .md\:hover\:-translate-y-48:hover{
    --tw-translate-y: -12rem;
  }

  :root .md\:hover\:-translate-y-56:hover{
    --tw-translate-y: -14rem;
  }

  :root .md\:hover\:-translate-y-64:hover{
    --tw-translate-y: -16rem;
  }

  :root .md\:hover\:-translate-y-px:hover{
    --tw-translate-y: -1px;
  }

  :root .md\:hover\:-translate-y-gutter:hover{
    --tw-translate-y: calc(var(--padding-gutter) * -1);
  }

  :root .md\:hover\:translate-y-1\/2:hover{
    --tw-translate-y: 50%;
  }

  :root .md\:hover\:translate-y-1\/3:hover{
    --tw-translate-y: 33.333333%;
  }

  :root .md\:hover\:translate-y-2\/3:hover{
    --tw-translate-y: 66.666667%;
  }

  :root .md\:hover\:translate-y-1\/4:hover{
    --tw-translate-y: 25%;
  }

  :root .md\:hover\:translate-y-2\/4:hover{
    --tw-translate-y: 50%;
  }

  :root .md\:hover\:translate-y-3\/4:hover{
    --tw-translate-y: 75%;
  }

  :root .md\:hover\:translate-y-full:hover{
    --tw-translate-y: 100%;
  }

  :root .md\:hover\:-translate-y-1\/2:hover{
    --tw-translate-y: -50%;
  }

  :root .md\:hover\:-translate-y-1\/3:hover{
    --tw-translate-y: -33.333333%;
  }

  :root .md\:hover\:-translate-y-2\/3:hover{
    --tw-translate-y: -66.666667%;
  }

  :root .md\:hover\:-translate-y-1\/4:hover{
    --tw-translate-y: -25%;
  }

  :root .md\:hover\:-translate-y-2\/4:hover{
    --tw-translate-y: -50%;
  }

  :root .md\:hover\:-translate-y-3\/4:hover{
    --tw-translate-y: -75%;
  }

  :root .md\:hover\:-translate-y-full:hover{
    --tw-translate-y: -100%;
  }

  :root .md\:focus\:translate-x-0:focus{
    --tw-translate-x: 0;
  }

  :root .md\:focus\:translate-x-1:focus{
    --tw-translate-x: 0.25rem;
  }

  :root .md\:focus\:translate-x-2:focus{
    --tw-translate-x: 0.5rem;
  }

  :root .md\:focus\:translate-x-3:focus{
    --tw-translate-x: 0.75rem;
  }

  :root .md\:focus\:translate-x-4:focus{
    --tw-translate-x: 1rem;
  }

  :root .md\:focus\:translate-x-5:focus{
    --tw-translate-x: 1.25rem;
  }

  :root .md\:focus\:translate-x-6:focus{
    --tw-translate-x: 1.5rem;
  }

  :root .md\:focus\:translate-x-8:focus{
    --tw-translate-x: 2rem;
  }

  :root .md\:focus\:translate-x-9:focus{
    --tw-translate-x: 2.25rem;
  }

  :root .md\:focus\:translate-x-10:focus{
    --tw-translate-x: 2.5rem;
  }

  :root .md\:focus\:translate-x-12:focus{
    --tw-translate-x: 3rem;
  }

  :root .md\:focus\:translate-x-14:focus{
    --tw-translate-x: 3.5rem;
  }

  :root .md\:focus\:translate-x-16:focus{
    --tw-translate-x: 4rem;
  }

  :root .md\:focus\:translate-x-20:focus{
    --tw-translate-x: 5rem;
  }

  :root .md\:focus\:translate-x-24:focus{
    --tw-translate-x: 6rem;
  }

  :root .md\:focus\:translate-x-32:focus{
    --tw-translate-x: 8rem;
  }

  :root .md\:focus\:translate-x-40:focus{
    --tw-translate-x: 10rem;
  }

  :root .md\:focus\:translate-x-48:focus{
    --tw-translate-x: 12rem;
  }

  :root .md\:focus\:translate-x-56:focus{
    --tw-translate-x: 14rem;
  }

  :root .md\:focus\:translate-x-64:focus{
    --tw-translate-x: 16rem;
  }

  :root .md\:focus\:translate-x-px:focus{
    --tw-translate-x: 1px;
  }

  :root .md\:focus\:translate-x-gutter:focus{
    --tw-translate-x: var(--padding-gutter);
  }

  :root .md\:focus\:-translate-x-1:focus{
    --tw-translate-x: -0.25rem;
  }

  :root .md\:focus\:-translate-x-2:focus{
    --tw-translate-x: -0.5rem;
  }

  :root .md\:focus\:-translate-x-3:focus{
    --tw-translate-x: -0.75rem;
  }

  :root .md\:focus\:-translate-x-4:focus{
    --tw-translate-x: -1rem;
  }

  :root .md\:focus\:-translate-x-5:focus{
    --tw-translate-x: -1.25rem;
  }

  :root .md\:focus\:-translate-x-6:focus{
    --tw-translate-x: -1.5rem;
  }

  :root .md\:focus\:-translate-x-8:focus{
    --tw-translate-x: -2rem;
  }

  :root .md\:focus\:-translate-x-9:focus{
    --tw-translate-x: -2.25rem;
  }

  :root .md\:focus\:-translate-x-10:focus{
    --tw-translate-x: -2.5rem;
  }

  :root .md\:focus\:-translate-x-12:focus{
    --tw-translate-x: -3rem;
  }

  :root .md\:focus\:-translate-x-14:focus{
    --tw-translate-x: -3.5rem;
  }

  :root .md\:focus\:-translate-x-16:focus{
    --tw-translate-x: -4rem;
  }

  :root .md\:focus\:-translate-x-20:focus{
    --tw-translate-x: -5rem;
  }

  :root .md\:focus\:-translate-x-24:focus{
    --tw-translate-x: -6rem;
  }

  :root .md\:focus\:-translate-x-32:focus{
    --tw-translate-x: -8rem;
  }

  :root .md\:focus\:-translate-x-40:focus{
    --tw-translate-x: -10rem;
  }

  :root .md\:focus\:-translate-x-48:focus{
    --tw-translate-x: -12rem;
  }

  :root .md\:focus\:-translate-x-56:focus{
    --tw-translate-x: -14rem;
  }

  :root .md\:focus\:-translate-x-64:focus{
    --tw-translate-x: -16rem;
  }

  :root .md\:focus\:-translate-x-px:focus{
    --tw-translate-x: -1px;
  }

  :root .md\:focus\:-translate-x-gutter:focus{
    --tw-translate-x: calc(var(--padding-gutter) * -1);
  }

  :root .md\:focus\:translate-x-1\/2:focus{
    --tw-translate-x: 50%;
  }

  :root .md\:focus\:translate-x-1\/3:focus{
    --tw-translate-x: 33.333333%;
  }

  :root .md\:focus\:translate-x-2\/3:focus{
    --tw-translate-x: 66.666667%;
  }

  :root .md\:focus\:translate-x-1\/4:focus{
    --tw-translate-x: 25%;
  }

  :root .md\:focus\:translate-x-2\/4:focus{
    --tw-translate-x: 50%;
  }

  :root .md\:focus\:translate-x-3\/4:focus{
    --tw-translate-x: 75%;
  }

  :root .md\:focus\:translate-x-full:focus{
    --tw-translate-x: 100%;
  }

  :root .md\:focus\:-translate-x-1\/2:focus{
    --tw-translate-x: -50%;
  }

  :root .md\:focus\:-translate-x-1\/3:focus{
    --tw-translate-x: -33.333333%;
  }

  :root .md\:focus\:-translate-x-2\/3:focus{
    --tw-translate-x: -66.666667%;
  }

  :root .md\:focus\:-translate-x-1\/4:focus{
    --tw-translate-x: -25%;
  }

  :root .md\:focus\:-translate-x-2\/4:focus{
    --tw-translate-x: -50%;
  }

  :root .md\:focus\:-translate-x-3\/4:focus{
    --tw-translate-x: -75%;
  }

  :root .md\:focus\:-translate-x-full:focus{
    --tw-translate-x: -100%;
  }

  :root .md\:focus\:translate-y-0:focus{
    --tw-translate-y: 0;
  }

  :root .md\:focus\:translate-y-1:focus{
    --tw-translate-y: 0.25rem;
  }

  :root .md\:focus\:translate-y-2:focus{
    --tw-translate-y: 0.5rem;
  }

  :root .md\:focus\:translate-y-3:focus{
    --tw-translate-y: 0.75rem;
  }

  :root .md\:focus\:translate-y-4:focus{
    --tw-translate-y: 1rem;
  }

  :root .md\:focus\:translate-y-5:focus{
    --tw-translate-y: 1.25rem;
  }

  :root .md\:focus\:translate-y-6:focus{
    --tw-translate-y: 1.5rem;
  }

  :root .md\:focus\:translate-y-8:focus{
    --tw-translate-y: 2rem;
  }

  :root .md\:focus\:translate-y-9:focus{
    --tw-translate-y: 2.25rem;
  }

  :root .md\:focus\:translate-y-10:focus{
    --tw-translate-y: 2.5rem;
  }

  :root .md\:focus\:translate-y-12:focus{
    --tw-translate-y: 3rem;
  }

  :root .md\:focus\:translate-y-14:focus{
    --tw-translate-y: 3.5rem;
  }

  :root .md\:focus\:translate-y-16:focus{
    --tw-translate-y: 4rem;
  }

  :root .md\:focus\:translate-y-20:focus{
    --tw-translate-y: 5rem;
  }

  :root .md\:focus\:translate-y-24:focus{
    --tw-translate-y: 6rem;
  }

  :root .md\:focus\:translate-y-32:focus{
    --tw-translate-y: 8rem;
  }

  :root .md\:focus\:translate-y-40:focus{
    --tw-translate-y: 10rem;
  }

  :root .md\:focus\:translate-y-48:focus{
    --tw-translate-y: 12rem;
  }

  :root .md\:focus\:translate-y-56:focus{
    --tw-translate-y: 14rem;
  }

  :root .md\:focus\:translate-y-64:focus{
    --tw-translate-y: 16rem;
  }

  :root .md\:focus\:translate-y-px:focus{
    --tw-translate-y: 1px;
  }

  :root .md\:focus\:translate-y-gutter:focus{
    --tw-translate-y: var(--padding-gutter);
  }

  :root .md\:focus\:-translate-y-1:focus{
    --tw-translate-y: -0.25rem;
  }

  :root .md\:focus\:-translate-y-2:focus{
    --tw-translate-y: -0.5rem;
  }

  :root .md\:focus\:-translate-y-3:focus{
    --tw-translate-y: -0.75rem;
  }

  :root .md\:focus\:-translate-y-4:focus{
    --tw-translate-y: -1rem;
  }

  :root .md\:focus\:-translate-y-5:focus{
    --tw-translate-y: -1.25rem;
  }

  :root .md\:focus\:-translate-y-6:focus{
    --tw-translate-y: -1.5rem;
  }

  :root .md\:focus\:-translate-y-8:focus{
    --tw-translate-y: -2rem;
  }

  :root .md\:focus\:-translate-y-9:focus{
    --tw-translate-y: -2.25rem;
  }

  :root .md\:focus\:-translate-y-10:focus{
    --tw-translate-y: -2.5rem;
  }

  :root .md\:focus\:-translate-y-12:focus{
    --tw-translate-y: -3rem;
  }

  :root .md\:focus\:-translate-y-14:focus{
    --tw-translate-y: -3.5rem;
  }

  :root .md\:focus\:-translate-y-16:focus{
    --tw-translate-y: -4rem;
  }

  :root .md\:focus\:-translate-y-20:focus{
    --tw-translate-y: -5rem;
  }

  :root .md\:focus\:-translate-y-24:focus{
    --tw-translate-y: -6rem;
  }

  :root .md\:focus\:-translate-y-32:focus{
    --tw-translate-y: -8rem;
  }

  :root .md\:focus\:-translate-y-40:focus{
    --tw-translate-y: -10rem;
  }

  :root .md\:focus\:-translate-y-48:focus{
    --tw-translate-y: -12rem;
  }

  :root .md\:focus\:-translate-y-56:focus{
    --tw-translate-y: -14rem;
  }

  :root .md\:focus\:-translate-y-64:focus{
    --tw-translate-y: -16rem;
  }

  :root .md\:focus\:-translate-y-px:focus{
    --tw-translate-y: -1px;
  }

  :root .md\:focus\:-translate-y-gutter:focus{
    --tw-translate-y: calc(var(--padding-gutter) * -1);
  }

  :root .md\:focus\:translate-y-1\/2:focus{
    --tw-translate-y: 50%;
  }

  :root .md\:focus\:translate-y-1\/3:focus{
    --tw-translate-y: 33.333333%;
  }

  :root .md\:focus\:translate-y-2\/3:focus{
    --tw-translate-y: 66.666667%;
  }

  :root .md\:focus\:translate-y-1\/4:focus{
    --tw-translate-y: 25%;
  }

  :root .md\:focus\:translate-y-2\/4:focus{
    --tw-translate-y: 50%;
  }

  :root .md\:focus\:translate-y-3\/4:focus{
    --tw-translate-y: 75%;
  }

  :root .md\:focus\:translate-y-full:focus{
    --tw-translate-y: 100%;
  }

  :root .md\:focus\:-translate-y-1\/2:focus{
    --tw-translate-y: -50%;
  }

  :root .md\:focus\:-translate-y-1\/3:focus{
    --tw-translate-y: -33.333333%;
  }

  :root .md\:focus\:-translate-y-2\/3:focus{
    --tw-translate-y: -66.666667%;
  }

  :root .md\:focus\:-translate-y-1\/4:focus{
    --tw-translate-y: -25%;
  }

  :root .md\:focus\:-translate-y-2\/4:focus{
    --tw-translate-y: -50%;
  }

  :root .md\:focus\:-translate-y-3\/4:focus{
    --tw-translate-y: -75%;
  }

  :root .md\:focus\:-translate-y-full:focus{
    --tw-translate-y: -100%;
  }

  :root .md\:skew-x-0{
    --tw-skew-x: 0deg;
  }

  :root .md\:skew-x-1{
    --tw-skew-x: 1deg;
  }

  :root .md\:skew-x-2{
    --tw-skew-x: 2deg;
  }

  :root .md\:skew-x-3{
    --tw-skew-x: 3deg;
  }

  :root .md\:skew-x-6{
    --tw-skew-x: 6deg;
  }

  :root .md\:skew-x-12{
    --tw-skew-x: 12deg;
  }

  :root .md\:-skew-x-12{
    --tw-skew-x: -12deg;
  }

  :root .md\:-skew-x-6{
    --tw-skew-x: -6deg;
  }

  :root .md\:-skew-x-3{
    --tw-skew-x: -3deg;
  }

  :root .md\:-skew-x-2{
    --tw-skew-x: -2deg;
  }

  :root .md\:-skew-x-1{
    --tw-skew-x: -1deg;
  }

  :root .md\:skew-y-0{
    --tw-skew-y: 0deg;
  }

  :root .md\:skew-y-1{
    --tw-skew-y: 1deg;
  }

  :root .md\:skew-y-2{
    --tw-skew-y: 2deg;
  }

  :root .md\:skew-y-3{
    --tw-skew-y: 3deg;
  }

  :root .md\:skew-y-6{
    --tw-skew-y: 6deg;
  }

  :root .md\:skew-y-12{
    --tw-skew-y: 12deg;
  }

  :root .md\:-skew-y-12{
    --tw-skew-y: -12deg;
  }

  :root .md\:-skew-y-6{
    --tw-skew-y: -6deg;
  }

  :root .md\:-skew-y-3{
    --tw-skew-y: -3deg;
  }

  :root .md\:-skew-y-2{
    --tw-skew-y: -2deg;
  }

  :root .md\:-skew-y-1{
    --tw-skew-y: -1deg;
  }

  :root .md\:hover\:skew-x-0:hover{
    --tw-skew-x: 0deg;
  }

  :root .md\:hover\:skew-x-1:hover{
    --tw-skew-x: 1deg;
  }

  :root .md\:hover\:skew-x-2:hover{
    --tw-skew-x: 2deg;
  }

  :root .md\:hover\:skew-x-3:hover{
    --tw-skew-x: 3deg;
  }

  :root .md\:hover\:skew-x-6:hover{
    --tw-skew-x: 6deg;
  }

  :root .md\:hover\:skew-x-12:hover{
    --tw-skew-x: 12deg;
  }

  :root .md\:hover\:-skew-x-12:hover{
    --tw-skew-x: -12deg;
  }

  :root .md\:hover\:-skew-x-6:hover{
    --tw-skew-x: -6deg;
  }

  :root .md\:hover\:-skew-x-3:hover{
    --tw-skew-x: -3deg;
  }

  :root .md\:hover\:-skew-x-2:hover{
    --tw-skew-x: -2deg;
  }

  :root .md\:hover\:-skew-x-1:hover{
    --tw-skew-x: -1deg;
  }

  :root .md\:hover\:skew-y-0:hover{
    --tw-skew-y: 0deg;
  }

  :root .md\:hover\:skew-y-1:hover{
    --tw-skew-y: 1deg;
  }

  :root .md\:hover\:skew-y-2:hover{
    --tw-skew-y: 2deg;
  }

  :root .md\:hover\:skew-y-3:hover{
    --tw-skew-y: 3deg;
  }

  :root .md\:hover\:skew-y-6:hover{
    --tw-skew-y: 6deg;
  }

  :root .md\:hover\:skew-y-12:hover{
    --tw-skew-y: 12deg;
  }

  :root .md\:hover\:-skew-y-12:hover{
    --tw-skew-y: -12deg;
  }

  :root .md\:hover\:-skew-y-6:hover{
    --tw-skew-y: -6deg;
  }

  :root .md\:hover\:-skew-y-3:hover{
    --tw-skew-y: -3deg;
  }

  :root .md\:hover\:-skew-y-2:hover{
    --tw-skew-y: -2deg;
  }

  :root .md\:hover\:-skew-y-1:hover{
    --tw-skew-y: -1deg;
  }

  :root .md\:focus\:skew-x-0:focus{
    --tw-skew-x: 0deg;
  }

  :root .md\:focus\:skew-x-1:focus{
    --tw-skew-x: 1deg;
  }

  :root .md\:focus\:skew-x-2:focus{
    --tw-skew-x: 2deg;
  }

  :root .md\:focus\:skew-x-3:focus{
    --tw-skew-x: 3deg;
  }

  :root .md\:focus\:skew-x-6:focus{
    --tw-skew-x: 6deg;
  }

  :root .md\:focus\:skew-x-12:focus{
    --tw-skew-x: 12deg;
  }

  :root .md\:focus\:-skew-x-12:focus{
    --tw-skew-x: -12deg;
  }

  :root .md\:focus\:-skew-x-6:focus{
    --tw-skew-x: -6deg;
  }

  :root .md\:focus\:-skew-x-3:focus{
    --tw-skew-x: -3deg;
  }

  :root .md\:focus\:-skew-x-2:focus{
    --tw-skew-x: -2deg;
  }

  :root .md\:focus\:-skew-x-1:focus{
    --tw-skew-x: -1deg;
  }

  :root .md\:focus\:skew-y-0:focus{
    --tw-skew-y: 0deg;
  }

  :root .md\:focus\:skew-y-1:focus{
    --tw-skew-y: 1deg;
  }

  :root .md\:focus\:skew-y-2:focus{
    --tw-skew-y: 2deg;
  }

  :root .md\:focus\:skew-y-3:focus{
    --tw-skew-y: 3deg;
  }

  :root .md\:focus\:skew-y-6:focus{
    --tw-skew-y: 6deg;
  }

  :root .md\:focus\:skew-y-12:focus{
    --tw-skew-y: 12deg;
  }

  :root .md\:focus\:-skew-y-12:focus{
    --tw-skew-y: -12deg;
  }

  :root .md\:focus\:-skew-y-6:focus{
    --tw-skew-y: -6deg;
  }

  :root .md\:focus\:-skew-y-3:focus{
    --tw-skew-y: -3deg;
  }

  :root .md\:focus\:-skew-y-2:focus{
    --tw-skew-y: -2deg;
  }

  :root .md\:focus\:-skew-y-1:focus{
    --tw-skew-y: -1deg;
  }

  :root .md\:transition-none{
    transition-property: none;
  }

  :root .md\:transition-all{
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .md\:transition{
    transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .md\:transition-colors{
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .md\:transition-opacity{
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .md\:transition-shadow{
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .md\:transition-transform{
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .md\:ease-linear{
    transition-timing-function: linear;
  }

  :root .md\:ease-in{
    transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  }

  :root .md\:ease-out{
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }

  :root .md\:ease-in-out{
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }

  :root .md\:duration-75{
    transition-duration: 75ms;
  }

  :root .md\:duration-100{
    transition-duration: 100ms;
  }

  :root .md\:duration-150{
    transition-duration: 150ms;
  }

  :root .md\:duration-200{
    transition-duration: 200ms;
  }

  :root .md\:duration-300{
    transition-duration: 300ms;
  }

  :root .md\:duration-500{
    transition-duration: 500ms;
  }

  :root .md\:duration-700{
    transition-duration: 700ms;
  }

  :root .md\:duration-1000{
    transition-duration: 1000ms;
  }

  :root .md\:delay-75{
    transition-delay: 75ms;
  }

  :root .md\:delay-100{
    transition-delay: 100ms;
  }

  :root .md\:delay-150{
    transition-delay: 150ms;
  }

  :root .md\:delay-200{
    transition-delay: 200ms;
  }

  :root .md\:delay-300{
    transition-delay: 300ms;
  }

  :root .md\:delay-500{
    transition-delay: 500ms;
  }

  :root .md\:delay-700{
    transition-delay: 700ms;
  }

  :root .md\:delay-1000{
    transition-delay: 1000ms;
  }

  :root .md\:animate-none{
    -webkit-animation: none;
            animation: none;
  }

  :root .md\:animate-spin{
    -webkit-animation: spin 1s linear infinite;
            animation: spin 1s linear infinite;
  }

  :root .md\:animate-ping{
    -webkit-animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
            animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
  }

  :root .md\:animate-pulse{
    -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
            animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  }

  :root .md\:animate-bounce{
    -webkit-animation: bounce 1s infinite;
            animation: bounce 1s infinite;
  }
}

@media (min-width: 1280px){
  :root .lg\:space-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0px * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-0 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0px * var(--tw-space-x-reverse));
    margin-left: calc(0px * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1.25rem * var(--tw-space-x-reverse));
    margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1.5rem * var(--tw-space-x-reverse));
    margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2rem * var(--tw-space-x-reverse));
    margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.25rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2.25rem * var(--tw-space-x-reverse));
    margin-left: calc(2.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2.5rem * var(--tw-space-x-reverse));
    margin-left: calc(2.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(3rem * var(--tw-space-x-reverse));
    margin-left: calc(3rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3.5rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(3.5rem * var(--tw-space-x-reverse));
    margin-left: calc(3.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(4rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(4rem * var(--tw-space-x-reverse));
    margin-left: calc(4rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(5rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(5rem * var(--tw-space-x-reverse));
    margin-left: calc(5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(6rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(6rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(6rem * var(--tw-space-x-reverse));
    margin-left: calc(6rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(8rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(8rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(8rem * var(--tw-space-x-reverse));
    margin-left: calc(8rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(10rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(10rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(10rem * var(--tw-space-x-reverse));
    margin-left: calc(10rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(12rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(12rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(12rem * var(--tw-space-x-reverse));
    margin-left: calc(12rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(14rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(14rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(14rem * var(--tw-space-x-reverse));
    margin-left: calc(14rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(16rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(16rem * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(16rem * var(--tw-space-x-reverse));
    margin-left: calc(16rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1px * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1px * var(--tw-space-x-reverse));
    margin-left: calc(1px * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(var(--padding-gutter) * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(var(--padding-gutter) * var(--tw-space-y-reverse));
  }

  :root .lg\:space-x-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(var(--padding-gutter) * var(--tw-space-x-reverse));
    margin-left: calc(var(--padding-gutter) * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-0.25rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-0.5rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-0.75rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1rem * var(--tw-space-x-reverse));
    margin-left: calc(-1rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1.25rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1.25rem * var(--tw-space-x-reverse));
    margin-left: calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1.5rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-2rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-2rem * var(--tw-space-x-reverse));
    margin-left: calc(-2rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-2.25rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-9 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-2.25rem * var(--tw-space-x-reverse));
    margin-left: calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-2.5rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-2.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-3rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-3rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-3rem * var(--tw-space-x-reverse));
    margin-left: calc(-3rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-3.5rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-3.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-4rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-4rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-4rem * var(--tw-space-x-reverse));
    margin-left: calc(-4rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-5rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-5rem * var(--tw-space-x-reverse));
    margin-left: calc(-5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-6rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-6rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-6rem * var(--tw-space-x-reverse));
    margin-left: calc(-6rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-8rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-8rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-32 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-8rem * var(--tw-space-x-reverse));
    margin-left: calc(-8rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-10rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-10rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-40 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-10rem * var(--tw-space-x-reverse));
    margin-left: calc(-10rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-12rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-12rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-48 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-12rem * var(--tw-space-x-reverse));
    margin-left: calc(-12rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-14rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-14rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-56 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-14rem * var(--tw-space-x-reverse));
    margin-left: calc(-14rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-16rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-16rem * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-64 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-16rem * var(--tw-space-x-reverse));
    margin-left: calc(-16rem * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(-1px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(-1px * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-1px * var(--tw-space-x-reverse));
    margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:-space-y-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(calc(var(--padding-gutter) * -1) * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(calc(var(--padding-gutter) * -1) * var(--tw-space-y-reverse));
  }

  :root .lg\:-space-x-gutter > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(calc(var(--padding-gutter) * -1) * var(--tw-space-x-reverse));
    margin-left: calc(calc(var(--padding-gutter) * -1) * calc(1 - var(--tw-space-x-reverse)));
  }

  :root .lg\:space-y-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 1;
  }

  :root .lg\:space-x-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 1;
  }

  :root .lg\:divide-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(0px * var(--tw-divide-y-reverse));
  }

  :root .lg\:divide-x-0 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(0px * var(--tw-divide-x-reverse));
    border-left-width: calc(0px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .lg\:divide-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(2px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(2px * var(--tw-divide-y-reverse));
  }

  :root .lg\:divide-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(2px * var(--tw-divide-x-reverse));
    border-left-width: calc(2px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .lg\:divide-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(3px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(3px * var(--tw-divide-y-reverse));
  }

  :root .lg\:divide-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(3px * var(--tw-divide-x-reverse));
    border-left-width: calc(3px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .lg\:divide-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(4px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(4px * var(--tw-divide-y-reverse));
  }

  :root .lg\:divide-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(4px * var(--tw-divide-x-reverse));
    border-left-width: calc(4px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .lg\:divide-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(8px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(8px * var(--tw-divide-y-reverse));
  }

  :root .lg\:divide-x-8 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(8px * var(--tw-divide-x-reverse));
    border-left-width: calc(8px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .lg\:divide-y > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
  }

  :root .lg\:divide-x > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :root .lg\:divide-y-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 1;
  }

  :root .lg\:divide-x-reverse > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 1;
  }

  :root .lg\:divide-current > :not([hidden]) ~ :not([hidden]){
    border-color: currentColor;
  }

  :root .lg\:divide-transparent > :not([hidden]) ~ :not([hidden]){
    border-color: transparent;
  }

  :root .lg\:divide-black > :not([hidden]) ~ :not([hidden]){
    border-color: var(--text-color);
  }

  :root .lg\:divide-white > :not([hidden]) ~ :not([hidden]){
    border-color: var(--text-color-light);
  }

  :root .lg\:divide-contrast-black > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-divide-opacity));
  }

  :root .lg\:divide-contrast-white > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-divide-opacity));
  }

  :root .lg\:divide-gray-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:divide-gray > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-divide-opacity));
  }

  :root .lg\:divide-red-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:divide-red > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-divide-opacity));
  }

  :root .lg\:divide-orange-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:divide-orange > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-divide-opacity));
  }

  :root .lg\:divide-deep-orange-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:divide-deep-orange > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-divide-opacity));
  }

  :root .lg\:divide-amber-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:divide-amber > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-divide-opacity));
  }

  :root .lg\:divide-green-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:divide-green > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-divide-opacity));
  }

  :root .lg\:divide-teal-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:divide-teal > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-divide-opacity));
  }

  :root .lg\:divide-cyan-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:divide-cyan > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-divide-opacity));
  }

  :root .lg\:divide-purple-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:divide-purple > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-divide-opacity));
  }

  :root .lg\:divide-deep-purple-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:divide-deep-purple > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-divide-opacity));
  }

  :root .lg\:divide-pink-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:divide-pink > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-divide-opacity));
  }

  :root .lg\:divide-primary-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(var(--color-primary), .1);
  }

  :root .lg\:divide-primary > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(var(--color-primary));
  }

  :root .lg\:divide-accent-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(var(--color-accent), .1);
  }

  :root .lg\:divide-accent > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(var(--color-accent));
  }

  :root .lg\:divide-warn-light > :not([hidden]) ~ :not([hidden]){
    border-color: rgba(var(--color-warn), .1);
  }

  :root .lg\:divide-warn > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(var(--color-warn));
  }

  :root .lg\:divide-solid > :not([hidden]) ~ :not([hidden]){
    border-style: solid;
  }

  :root .lg\:divide-dashed > :not([hidden]) ~ :not([hidden]){
    border-style: dashed;
  }

  :root .lg\:divide-dotted > :not([hidden]) ~ :not([hidden]){
    border-style: dotted;
  }

  :root .lg\:divide-double > :not([hidden]) ~ :not([hidden]){
    border-style: double;
  }

  :root .lg\:divide-none > :not([hidden]) ~ :not([hidden]){
    border-style: none;
  }

  :root .lg\:divide-opacity-0 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0;
  }

  :root .lg\:divide-opacity-25 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0.25;
  }

  :root .lg\:divide-opacity-50 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0.5;
  }

  :root .lg\:divide-opacity-75 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 0.75;
  }

  :root .lg\:divide-opacity-100 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
  }

  :root .lg\:sr-only{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }

  :root .lg\:not-sr-only{
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }

  :root .lg\:focus\:sr-only:focus{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }

  :root .lg\:focus\:not-sr-only:focus{
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }

  :root .lg\:appearance-none{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }

  :root .lg\:bg-fixed{
    background-attachment: fixed;
  }

  :root .lg\:bg-local{
    background-attachment: local;
  }

  :root .lg\:bg-scroll{
    background-attachment: scroll;
  }

  :root .lg\:bg-clip-border{
    background-clip: border-box;
  }

  :root .lg\:bg-clip-padding{
    background-clip: padding-box;
  }

  :root .lg\:bg-clip-content{
    background-clip: content-box;
  }

  :root .lg\:bg-clip-text{
    -webkit-background-clip: text;
            background-clip: text;
  }

  :root .lg\:bg-base{
    background-color: var(--background-base);
  }

  :root .lg\:bg-card{
    background-color: var(--background-card);
  }

  :root .lg\:bg-app-bar{
    background-color: var(--background-app-bar);
  }

  :root .lg\:bg-hover{
    background-color: var(--background-hover);
  }

  :root .lg\:bg-current{
    background-color: currentColor;
  }

  :root .lg\:bg-transparent{
    background-color: transparent;
  }

  :root .lg\:bg-black{
    background-color: var(--text-color);
  }

  :root .lg\:bg-white{
    background-color: var(--text-color-light);
  }

  :root .lg\:bg-contrast-black{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
  }

  :root .lg\:bg-contrast-white{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  }

  :root .lg\:bg-gray-light{
    background-color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:bg-gray{
    --tw-bg-opacity: 1;
    background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
  }

  :root .lg\:bg-red-light{
    background-color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:bg-red{
    --tw-bg-opacity: 1;
    background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
  }

  :root .lg\:bg-orange-light{
    background-color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:bg-orange{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
  }

  :root .lg\:bg-deep-orange-light{
    background-color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:bg-deep-orange{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
  }

  :root .lg\:bg-amber-light{
    background-color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:bg-amber{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
  }

  :root .lg\:bg-green-light{
    background-color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:bg-green{
    --tw-bg-opacity: 1;
    background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
  }

  :root .lg\:bg-teal-light{
    background-color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:bg-teal{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
  }

  :root .lg\:bg-cyan-light{
    background-color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:bg-cyan{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
  }

  :root .lg\:bg-purple-light{
    background-color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:bg-purple{
    --tw-bg-opacity: 1;
    background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
  }

  :root .lg\:bg-deep-purple-light{
    background-color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:bg-deep-purple{
    --tw-bg-opacity: 1;
    background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
  }

  :root .lg\:bg-pink-light{
    background-color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:bg-pink{
    --tw-bg-opacity: 1;
    background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
  }

  :root .lg\:bg-primary-light{
    background-color: rgba(var(--color-primary), .1);
  }

  :root .lg\:bg-primary{
    background-color: rgb(var(--color-primary));
  }

  :root .lg\:bg-accent-light{
    background-color: rgba(var(--color-accent), .1);
  }

  :root .lg\:bg-accent{
    background-color: rgb(var(--color-accent));
  }

  :root .lg\:bg-warn-light{
    background-color: rgba(var(--color-warn), .1);
  }

  :root .lg\:bg-warn{
    background-color: rgb(var(--color-warn));
  }

  :root .lg\:hover\:bg-base:hover{
    background-color: var(--background-base);
  }

  :root .lg\:hover\:bg-card:hover{
    background-color: var(--background-card);
  }

  :root .lg\:hover\:bg-app-bar:hover{
    background-color: var(--background-app-bar);
  }

  :root .lg\:hover\:bg-hover:hover{
    background-color: var(--background-hover);
  }

  :root .lg\:hover\:bg-current:hover{
    background-color: currentColor;
  }

  :root .lg\:hover\:bg-transparent:hover{
    background-color: transparent;
  }

  :root .lg\:hover\:bg-black:hover{
    background-color: var(--text-color);
  }

  :root .lg\:hover\:bg-white:hover{
    background-color: var(--text-color-light);
  }

  :root .lg\:hover\:bg-contrast-black:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
  }

  :root .lg\:hover\:bg-contrast-white:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  }

  :root .lg\:hover\:bg-gray-light:hover{
    background-color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:hover\:bg-gray:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
  }

  :root .lg\:hover\:bg-red-light:hover{
    background-color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:hover\:bg-red:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
  }

  :root .lg\:hover\:bg-orange-light:hover{
    background-color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:hover\:bg-orange:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
  }

  :root .lg\:hover\:bg-deep-orange-light:hover{
    background-color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:hover\:bg-deep-orange:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
  }

  :root .lg\:hover\:bg-amber-light:hover{
    background-color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:hover\:bg-amber:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
  }

  :root .lg\:hover\:bg-green-light:hover{
    background-color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:hover\:bg-green:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
  }

  :root .lg\:hover\:bg-teal-light:hover{
    background-color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:hover\:bg-teal:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
  }

  :root .lg\:hover\:bg-cyan-light:hover{
    background-color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:hover\:bg-cyan:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
  }

  :root .lg\:hover\:bg-purple-light:hover{
    background-color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:hover\:bg-purple:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
  }

  :root .lg\:hover\:bg-deep-purple-light:hover{
    background-color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:hover\:bg-deep-purple:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
  }

  :root .lg\:hover\:bg-pink-light:hover{
    background-color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:hover\:bg-pink:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
  }

  :root .lg\:hover\:bg-primary-light:hover{
    background-color: rgba(var(--color-primary), .1);
  }

  :root .lg\:hover\:bg-primary:hover{
    background-color: rgb(var(--color-primary));
  }

  :root .lg\:hover\:bg-accent-light:hover{
    background-color: rgba(var(--color-accent), .1);
  }

  :root .lg\:hover\:bg-accent:hover{
    background-color: rgb(var(--color-accent));
  }

  :root .lg\:hover\:bg-warn-light:hover{
    background-color: rgba(var(--color-warn), .1);
  }

  :root .lg\:hover\:bg-warn:hover{
    background-color: rgb(var(--color-warn));
  }

  :root .lg\:focus\:bg-base:focus{
    background-color: var(--background-base);
  }

  :root .lg\:focus\:bg-card:focus{
    background-color: var(--background-card);
  }

  :root .lg\:focus\:bg-app-bar:focus{
    background-color: var(--background-app-bar);
  }

  :root .lg\:focus\:bg-hover:focus{
    background-color: var(--background-hover);
  }

  :root .lg\:focus\:bg-current:focus{
    background-color: currentColor;
  }

  :root .lg\:focus\:bg-transparent:focus{
    background-color: transparent;
  }

  :root .lg\:focus\:bg-black:focus{
    background-color: var(--text-color);
  }

  :root .lg\:focus\:bg-white:focus{
    background-color: var(--text-color-light);
  }

  :root .lg\:focus\:bg-contrast-black:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
  }

  :root .lg\:focus\:bg-contrast-white:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  }

  :root .lg\:focus\:bg-gray-light:focus{
    background-color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:focus\:bg-gray:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(158, 158, 158, var(--tw-bg-opacity));
  }

  :root .lg\:focus\:bg-red-light:focus{
    background-color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:focus\:bg-red:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(244, 67, 54, var(--tw-bg-opacity));
  }

  :root .lg\:focus\:bg-orange-light:focus{
    background-color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:focus\:bg-orange:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 152, 0, var(--tw-bg-opacity));
  }

  :root .lg\:focus\:bg-deep-orange-light:focus{
    background-color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:focus\:bg-deep-orange:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 87, 34, var(--tw-bg-opacity));
  }

  :root .lg\:focus\:bg-amber-light:focus{
    background-color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:focus\:bg-amber:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 193, 7, var(--tw-bg-opacity));
  }

  :root .lg\:focus\:bg-green-light:focus{
    background-color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:focus\:bg-green:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(76, 175, 80, var(--tw-bg-opacity));
  }

  :root .lg\:focus\:bg-teal-light:focus{
    background-color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:focus\:bg-teal:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 150, 136, var(--tw-bg-opacity));
  }

  :root .lg\:focus\:bg-cyan-light:focus{
    background-color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:focus\:bg-cyan:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 188, 212, var(--tw-bg-opacity));
  }

  :root .lg\:focus\:bg-purple-light:focus{
    background-color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:focus\:bg-purple:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(156, 39, 176, var(--tw-bg-opacity));
  }

  :root .lg\:focus\:bg-deep-purple-light:focus{
    background-color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:focus\:bg-deep-purple:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(103, 58, 183, var(--tw-bg-opacity));
  }

  :root .lg\:focus\:bg-pink-light:focus{
    background-color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:focus\:bg-pink:focus{
    --tw-bg-opacity: 1;
    background-color: rgba(233, 30, 99, var(--tw-bg-opacity));
  }

  :root .lg\:focus\:bg-primary-light:focus{
    background-color: rgba(var(--color-primary), .1);
  }

  :root .lg\:focus\:bg-primary:focus{
    background-color: rgb(var(--color-primary));
  }

  :root .lg\:focus\:bg-accent-light:focus{
    background-color: rgba(var(--color-accent), .1);
  }

  :root .lg\:focus\:bg-accent:focus{
    background-color: rgb(var(--color-accent));
  }

  :root .lg\:focus\:bg-warn-light:focus{
    background-color: rgba(var(--color-warn), .1);
  }

  :root .lg\:focus\:bg-warn:focus{
    background-color: rgb(var(--color-warn));
  }

  :root .lg\:bg-none{
    background-image: none;
  }

  :root .lg\:bg-gradient-to-t{
    background-image: linear-gradient(to top, var(--tw-gradient-stops));
  }

  :root .lg\:bg-gradient-to-tr{
    background-image: linear-gradient(to top right, var(--tw-gradient-stops));
  }

  :root .lg\:bg-gradient-to-r{
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
  }

  :root .lg\:bg-gradient-to-br{
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
  }

  :root .lg\:bg-gradient-to-b{
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
  }

  :root .lg\:bg-gradient-to-bl{
    background-image: linear-gradient(to bottom left, var(--tw-gradient-stops));
  }

  :root .lg\:bg-gradient-to-l{
    background-image: linear-gradient(to left, var(--tw-gradient-stops));
  }

  :root .lg\:bg-gradient-to-tl{
    background-image: linear-gradient(to top left, var(--tw-gradient-stops));
  }

  :root .lg\:from-current{
    --tw-gradient-from: currentColor;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:from-transparent{
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .lg\:from-black{
    --tw-gradient-from: var(--text-color);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:from-white{
    --tw-gradient-from: var(--text-color-light);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:from-contrast-black{
    --tw-gradient-from: black;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .lg\:from-contrast-white{
    --tw-gradient-from: white;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:from-gray-light{
    --tw-gradient-from: rgba(158, 158, 158, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .lg\:from-gray{
    --tw-gradient-from: rgb(158, 158, 158);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .lg\:from-red-light{
    --tw-gradient-from: rgba(244, 67, 54, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .lg\:from-red{
    --tw-gradient-from: rgb(244, 67, 54);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .lg\:from-orange-light{
    --tw-gradient-from: rgba(255, 152, 0, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .lg\:from-orange{
    --tw-gradient-from: rgb(255, 152, 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .lg\:from-deep-orange-light{
    --tw-gradient-from: rgba(255, 87, 34, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .lg\:from-deep-orange{
    --tw-gradient-from: rgb(255, 87, 34);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .lg\:from-amber-light{
    --tw-gradient-from: rgba(255, 193, 7, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .lg\:from-amber{
    --tw-gradient-from: rgb(255, 193, 7);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .lg\:from-green-light{
    --tw-gradient-from: rgba(76, 175, 80, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .lg\:from-green{
    --tw-gradient-from: rgb(76, 175, 80);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .lg\:from-teal-light{
    --tw-gradient-from: rgba(0, 150, 136, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .lg\:from-teal{
    --tw-gradient-from: rgb(0, 150, 136);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .lg\:from-cyan-light{
    --tw-gradient-from: rgba(0, 188, 212, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .lg\:from-cyan{
    --tw-gradient-from: rgb(0, 188, 212);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .lg\:from-purple-light{
    --tw-gradient-from: rgba(156, 39, 176, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .lg\:from-purple{
    --tw-gradient-from: rgb(156, 39, 176);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .lg\:from-deep-purple-light{
    --tw-gradient-from: rgba(103, 58, 183, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .lg\:from-deep-purple{
    --tw-gradient-from: rgb(103, 58, 183);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .lg\:from-pink-light{
    --tw-gradient-from: rgba(233, 30, 99, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .lg\:from-pink{
    --tw-gradient-from: rgb(233, 30, 99);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .lg\:from-primary-light{
    --tw-gradient-from: rgba(var(--color-primary), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:from-primary{
    --tw-gradient-from: rgb(var(--color-primary));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:from-accent-light{
    --tw-gradient-from: rgba(var(--color-accent), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:from-accent{
    --tw-gradient-from: rgb(var(--color-accent));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:from-warn-light{
    --tw-gradient-from: rgba(var(--color-warn), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:from-warn{
    --tw-gradient-from: rgb(var(--color-warn));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:via-current{
    --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:via-transparent{
    --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .lg\:via-black{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:via-white{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:via-contrast-black{
    --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .lg\:via-contrast-white{
    --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:via-gray-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .lg\:via-gray{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .lg\:via-red-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .lg\:via-red{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .lg\:via-orange-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .lg\:via-orange{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .lg\:via-deep-orange-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .lg\:via-deep-orange{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .lg\:via-amber-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .lg\:via-amber{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .lg\:via-green-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .lg\:via-green{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .lg\:via-teal-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .lg\:via-teal{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .lg\:via-cyan-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .lg\:via-cyan{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .lg\:via-purple-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .lg\:via-purple{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .lg\:via-deep-purple-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .lg\:via-deep-purple{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .lg\:via-pink-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .lg\:via-pink{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .lg\:via-primary-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:via-primary{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:via-accent-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:via-accent{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:via-warn-light{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:via-warn{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:to-current{
    --tw-gradient-to: currentColor;
  }

  :root .lg\:to-transparent{
    --tw-gradient-to: transparent;
  }

  :root .lg\:to-black{
    --tw-gradient-to: var(--text-color);
  }

  :root .lg\:to-white{
    --tw-gradient-to: var(--text-color-light);
  }

  :root .lg\:to-contrast-black{
    --tw-gradient-to: black;
  }

  :root .lg\:to-contrast-white{
    --tw-gradient-to: white;
  }

  :root .lg\:to-gray-light{
    --tw-gradient-to: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:to-gray{
    --tw-gradient-to: rgb(158, 158, 158);
  }

  :root .lg\:to-red-light{
    --tw-gradient-to: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:to-red{
    --tw-gradient-to: rgb(244, 67, 54);
  }

  :root .lg\:to-orange-light{
    --tw-gradient-to: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:to-orange{
    --tw-gradient-to: rgb(255, 152, 0);
  }

  :root .lg\:to-deep-orange-light{
    --tw-gradient-to: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:to-deep-orange{
    --tw-gradient-to: rgb(255, 87, 34);
  }

  :root .lg\:to-amber-light{
    --tw-gradient-to: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:to-amber{
    --tw-gradient-to: rgb(255, 193, 7);
  }

  :root .lg\:to-green-light{
    --tw-gradient-to: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:to-green{
    --tw-gradient-to: rgb(76, 175, 80);
  }

  :root .lg\:to-teal-light{
    --tw-gradient-to: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:to-teal{
    --tw-gradient-to: rgb(0, 150, 136);
  }

  :root .lg\:to-cyan-light{
    --tw-gradient-to: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:to-cyan{
    --tw-gradient-to: rgb(0, 188, 212);
  }

  :root .lg\:to-purple-light{
    --tw-gradient-to: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:to-purple{
    --tw-gradient-to: rgb(156, 39, 176);
  }

  :root .lg\:to-deep-purple-light{
    --tw-gradient-to: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:to-deep-purple{
    --tw-gradient-to: rgb(103, 58, 183);
  }

  :root .lg\:to-pink-light{
    --tw-gradient-to: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:to-pink{
    --tw-gradient-to: rgb(233, 30, 99);
  }

  :root .lg\:to-primary-light{
    --tw-gradient-to: rgba(var(--color-primary), .1);
  }

  :root .lg\:to-primary{
    --tw-gradient-to: rgb(var(--color-primary));
  }

  :root .lg\:to-accent-light{
    --tw-gradient-to: rgba(var(--color-accent), .1);
  }

  :root .lg\:to-accent{
    --tw-gradient-to: rgb(var(--color-accent));
  }

  :root .lg\:to-warn-light{
    --tw-gradient-to: rgba(var(--color-warn), .1);
  }

  :root .lg\:to-warn{
    --tw-gradient-to: rgb(var(--color-warn));
  }

  :root .lg\:hover\:from-current:hover{
    --tw-gradient-from: currentColor;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:from-transparent:hover{
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .lg\:hover\:from-black:hover{
    --tw-gradient-from: var(--text-color);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:from-white:hover{
    --tw-gradient-from: var(--text-color-light);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:from-contrast-black:hover{
    --tw-gradient-from: black;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .lg\:hover\:from-contrast-white:hover{
    --tw-gradient-from: white;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:from-gray-light:hover{
    --tw-gradient-from: rgba(158, 158, 158, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .lg\:hover\:from-gray:hover{
    --tw-gradient-from: rgb(158, 158, 158);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .lg\:hover\:from-red-light:hover{
    --tw-gradient-from: rgba(244, 67, 54, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .lg\:hover\:from-red:hover{
    --tw-gradient-from: rgb(244, 67, 54);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .lg\:hover\:from-orange-light:hover{
    --tw-gradient-from: rgba(255, 152, 0, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .lg\:hover\:from-orange:hover{
    --tw-gradient-from: rgb(255, 152, 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .lg\:hover\:from-deep-orange-light:hover{
    --tw-gradient-from: rgba(255, 87, 34, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .lg\:hover\:from-deep-orange:hover{
    --tw-gradient-from: rgb(255, 87, 34);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .lg\:hover\:from-amber-light:hover{
    --tw-gradient-from: rgba(255, 193, 7, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .lg\:hover\:from-amber:hover{
    --tw-gradient-from: rgb(255, 193, 7);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .lg\:hover\:from-green-light:hover{
    --tw-gradient-from: rgba(76, 175, 80, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .lg\:hover\:from-green:hover{
    --tw-gradient-from: rgb(76, 175, 80);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .lg\:hover\:from-teal-light:hover{
    --tw-gradient-from: rgba(0, 150, 136, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .lg\:hover\:from-teal:hover{
    --tw-gradient-from: rgb(0, 150, 136);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .lg\:hover\:from-cyan-light:hover{
    --tw-gradient-from: rgba(0, 188, 212, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .lg\:hover\:from-cyan:hover{
    --tw-gradient-from: rgb(0, 188, 212);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .lg\:hover\:from-purple-light:hover{
    --tw-gradient-from: rgba(156, 39, 176, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .lg\:hover\:from-purple:hover{
    --tw-gradient-from: rgb(156, 39, 176);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .lg\:hover\:from-deep-purple-light:hover{
    --tw-gradient-from: rgba(103, 58, 183, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .lg\:hover\:from-deep-purple:hover{
    --tw-gradient-from: rgb(103, 58, 183);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .lg\:hover\:from-pink-light:hover{
    --tw-gradient-from: rgba(233, 30, 99, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .lg\:hover\:from-pink:hover{
    --tw-gradient-from: rgb(233, 30, 99);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .lg\:hover\:from-primary-light:hover{
    --tw-gradient-from: rgba(var(--color-primary), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:from-primary:hover{
    --tw-gradient-from: rgb(var(--color-primary));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:from-accent-light:hover{
    --tw-gradient-from: rgba(var(--color-accent), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:from-accent:hover{
    --tw-gradient-from: rgb(var(--color-accent));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:from-warn-light:hover{
    --tw-gradient-from: rgba(var(--color-warn), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:from-warn:hover{
    --tw-gradient-from: rgb(var(--color-warn));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:via-current:hover{
    --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:via-transparent:hover{
    --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .lg\:hover\:via-black:hover{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:via-white:hover{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:via-contrast-black:hover{
    --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .lg\:hover\:via-contrast-white:hover{
    --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:via-gray-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .lg\:hover\:via-gray:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .lg\:hover\:via-red-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .lg\:hover\:via-red:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .lg\:hover\:via-orange-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .lg\:hover\:via-orange:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .lg\:hover\:via-deep-orange-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .lg\:hover\:via-deep-orange:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .lg\:hover\:via-amber-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .lg\:hover\:via-amber:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .lg\:hover\:via-green-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .lg\:hover\:via-green:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .lg\:hover\:via-teal-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .lg\:hover\:via-teal:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .lg\:hover\:via-cyan-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .lg\:hover\:via-cyan:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .lg\:hover\:via-purple-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .lg\:hover\:via-purple:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .lg\:hover\:via-deep-purple-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .lg\:hover\:via-deep-purple:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .lg\:hover\:via-pink-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .lg\:hover\:via-pink:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .lg\:hover\:via-primary-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:via-primary:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:via-accent-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:via-accent:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:via-warn-light:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:via-warn:hover{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:hover\:to-current:hover{
    --tw-gradient-to: currentColor;
  }

  :root .lg\:hover\:to-transparent:hover{
    --tw-gradient-to: transparent;
  }

  :root .lg\:hover\:to-black:hover{
    --tw-gradient-to: var(--text-color);
  }

  :root .lg\:hover\:to-white:hover{
    --tw-gradient-to: var(--text-color-light);
  }

  :root .lg\:hover\:to-contrast-black:hover{
    --tw-gradient-to: black;
  }

  :root .lg\:hover\:to-contrast-white:hover{
    --tw-gradient-to: white;
  }

  :root .lg\:hover\:to-gray-light:hover{
    --tw-gradient-to: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:hover\:to-gray:hover{
    --tw-gradient-to: rgb(158, 158, 158);
  }

  :root .lg\:hover\:to-red-light:hover{
    --tw-gradient-to: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:hover\:to-red:hover{
    --tw-gradient-to: rgb(244, 67, 54);
  }

  :root .lg\:hover\:to-orange-light:hover{
    --tw-gradient-to: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:hover\:to-orange:hover{
    --tw-gradient-to: rgb(255, 152, 0);
  }

  :root .lg\:hover\:to-deep-orange-light:hover{
    --tw-gradient-to: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:hover\:to-deep-orange:hover{
    --tw-gradient-to: rgb(255, 87, 34);
  }

  :root .lg\:hover\:to-amber-light:hover{
    --tw-gradient-to: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:hover\:to-amber:hover{
    --tw-gradient-to: rgb(255, 193, 7);
  }

  :root .lg\:hover\:to-green-light:hover{
    --tw-gradient-to: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:hover\:to-green:hover{
    --tw-gradient-to: rgb(76, 175, 80);
  }

  :root .lg\:hover\:to-teal-light:hover{
    --tw-gradient-to: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:hover\:to-teal:hover{
    --tw-gradient-to: rgb(0, 150, 136);
  }

  :root .lg\:hover\:to-cyan-light:hover{
    --tw-gradient-to: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:hover\:to-cyan:hover{
    --tw-gradient-to: rgb(0, 188, 212);
  }

  :root .lg\:hover\:to-purple-light:hover{
    --tw-gradient-to: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:hover\:to-purple:hover{
    --tw-gradient-to: rgb(156, 39, 176);
  }

  :root .lg\:hover\:to-deep-purple-light:hover{
    --tw-gradient-to: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:hover\:to-deep-purple:hover{
    --tw-gradient-to: rgb(103, 58, 183);
  }

  :root .lg\:hover\:to-pink-light:hover{
    --tw-gradient-to: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:hover\:to-pink:hover{
    --tw-gradient-to: rgb(233, 30, 99);
  }

  :root .lg\:hover\:to-primary-light:hover{
    --tw-gradient-to: rgba(var(--color-primary), .1);
  }

  :root .lg\:hover\:to-primary:hover{
    --tw-gradient-to: rgb(var(--color-primary));
  }

  :root .lg\:hover\:to-accent-light:hover{
    --tw-gradient-to: rgba(var(--color-accent), .1);
  }

  :root .lg\:hover\:to-accent:hover{
    --tw-gradient-to: rgb(var(--color-accent));
  }

  :root .lg\:hover\:to-warn-light:hover{
    --tw-gradient-to: rgba(var(--color-warn), .1);
  }

  :root .lg\:hover\:to-warn:hover{
    --tw-gradient-to: rgb(var(--color-warn));
  }

  :root .lg\:focus\:from-current:focus{
    --tw-gradient-from: currentColor;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:from-transparent:focus{
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .lg\:focus\:from-black:focus{
    --tw-gradient-from: var(--text-color);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:from-white:focus{
    --tw-gradient-from: var(--text-color-light);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:from-contrast-black:focus{
    --tw-gradient-from: black;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .lg\:focus\:from-contrast-white:focus{
    --tw-gradient-from: white;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:from-gray-light:focus{
    --tw-gradient-from: rgba(158, 158, 158, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .lg\:focus\:from-gray:focus{
    --tw-gradient-from: rgb(158, 158, 158);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .lg\:focus\:from-red-light:focus{
    --tw-gradient-from: rgba(244, 67, 54, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .lg\:focus\:from-red:focus{
    --tw-gradient-from: rgb(244, 67, 54);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .lg\:focus\:from-orange-light:focus{
    --tw-gradient-from: rgba(255, 152, 0, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .lg\:focus\:from-orange:focus{
    --tw-gradient-from: rgb(255, 152, 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .lg\:focus\:from-deep-orange-light:focus{
    --tw-gradient-from: rgba(255, 87, 34, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .lg\:focus\:from-deep-orange:focus{
    --tw-gradient-from: rgb(255, 87, 34);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .lg\:focus\:from-amber-light:focus{
    --tw-gradient-from: rgba(255, 193, 7, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .lg\:focus\:from-amber:focus{
    --tw-gradient-from: rgb(255, 193, 7);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .lg\:focus\:from-green-light:focus{
    --tw-gradient-from: rgba(76, 175, 80, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .lg\:focus\:from-green:focus{
    --tw-gradient-from: rgb(76, 175, 80);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .lg\:focus\:from-teal-light:focus{
    --tw-gradient-from: rgba(0, 150, 136, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .lg\:focus\:from-teal:focus{
    --tw-gradient-from: rgb(0, 150, 136);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .lg\:focus\:from-cyan-light:focus{
    --tw-gradient-from: rgba(0, 188, 212, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .lg\:focus\:from-cyan:focus{
    --tw-gradient-from: rgb(0, 188, 212);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .lg\:focus\:from-purple-light:focus{
    --tw-gradient-from: rgba(156, 39, 176, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .lg\:focus\:from-purple:focus{
    --tw-gradient-from: rgb(156, 39, 176);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .lg\:focus\:from-deep-purple-light:focus{
    --tw-gradient-from: rgba(103, 58, 183, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .lg\:focus\:from-deep-purple:focus{
    --tw-gradient-from: rgb(103, 58, 183);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .lg\:focus\:from-pink-light:focus{
    --tw-gradient-from: rgba(233, 30, 99, 0.1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .lg\:focus\:from-pink:focus{
    --tw-gradient-from: rgb(233, 30, 99);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .lg\:focus\:from-primary-light:focus{
    --tw-gradient-from: rgba(var(--color-primary), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:from-primary:focus{
    --tw-gradient-from: rgb(var(--color-primary));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:from-accent-light:focus{
    --tw-gradient-from: rgba(var(--color-accent), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:from-accent:focus{
    --tw-gradient-from: rgb(var(--color-accent));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:from-warn-light:focus{
    --tw-gradient-from: rgba(var(--color-warn), .1);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:from-warn:focus{
    --tw-gradient-from: rgb(var(--color-warn));
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:via-current:focus{
    --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:via-transparent:focus{
    --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .lg\:focus\:via-black:focus{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:via-white:focus{
    --tw-gradient-stops: var(--tw-gradient-from), var(--text-color-light), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:via-contrast-black:focus{
    --tw-gradient-stops: var(--tw-gradient-from), black, var(--tw-gradient-to, rgba(0, 0, 0, 0));
  }

  :root .lg\:focus\:via-contrast-white:focus{
    --tw-gradient-stops: var(--tw-gradient-from), white, var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:via-gray-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(158, 158, 158, 0.1), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .lg\:focus\:via-gray:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(158, 158, 158), var(--tw-gradient-to, rgba(158, 158, 158, 0));
  }

  :root .lg\:focus\:via-red-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(244, 67, 54, 0.1), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .lg\:focus\:via-red:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(244, 67, 54), var(--tw-gradient-to, rgba(244, 67, 54, 0));
  }

  :root .lg\:focus\:via-orange-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 152, 0, 0.1), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .lg\:focus\:via-orange:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 152, 0), var(--tw-gradient-to, rgba(255, 152, 0, 0));
  }

  :root .lg\:focus\:via-deep-orange-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 87, 34, 0.1), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .lg\:focus\:via-deep-orange:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 87, 34), var(--tw-gradient-to, rgba(255, 87, 34, 0));
  }

  :root .lg\:focus\:via-amber-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 193, 7, 0.1), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .lg\:focus\:via-amber:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255, 193, 7), var(--tw-gradient-to, rgba(255, 193, 7, 0));
  }

  :root .lg\:focus\:via-green-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(76, 175, 80, 0.1), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .lg\:focus\:via-green:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(76, 175, 80), var(--tw-gradient-to, rgba(76, 175, 80, 0));
  }

  :root .lg\:focus\:via-teal-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 150, 136, 0.1), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .lg\:focus\:via-teal:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 150, 136), var(--tw-gradient-to, rgba(0, 150, 136, 0));
  }

  :root .lg\:focus\:via-cyan-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 188, 212, 0.1), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .lg\:focus\:via-cyan:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0, 188, 212), var(--tw-gradient-to, rgba(0, 188, 212, 0));
  }

  :root .lg\:focus\:via-purple-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(156, 39, 176, 0.1), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .lg\:focus\:via-purple:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(156, 39, 176), var(--tw-gradient-to, rgba(156, 39, 176, 0));
  }

  :root .lg\:focus\:via-deep-purple-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(103, 58, 183, 0.1), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .lg\:focus\:via-deep-purple:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(103, 58, 183), var(--tw-gradient-to, rgba(103, 58, 183, 0));
  }

  :root .lg\:focus\:via-pink-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(233, 30, 99, 0.1), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .lg\:focus\:via-pink:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(233, 30, 99), var(--tw-gradient-to, rgba(233, 30, 99, 0));
  }

  :root .lg\:focus\:via-primary-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-primary), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:via-primary:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-primary)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:via-accent-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-accent), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:via-accent:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:via-warn-light:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgba(var(--color-warn), .1), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:via-warn:focus{
    --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-warn)), var(--tw-gradient-to, rgba(255, 255, 255, 0));
  }

  :root .lg\:focus\:to-current:focus{
    --tw-gradient-to: currentColor;
  }

  :root .lg\:focus\:to-transparent:focus{
    --tw-gradient-to: transparent;
  }

  :root .lg\:focus\:to-black:focus{
    --tw-gradient-to: var(--text-color);
  }

  :root .lg\:focus\:to-white:focus{
    --tw-gradient-to: var(--text-color-light);
  }

  :root .lg\:focus\:to-contrast-black:focus{
    --tw-gradient-to: black;
  }

  :root .lg\:focus\:to-contrast-white:focus{
    --tw-gradient-to: white;
  }

  :root .lg\:focus\:to-gray-light:focus{
    --tw-gradient-to: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:focus\:to-gray:focus{
    --tw-gradient-to: rgb(158, 158, 158);
  }

  :root .lg\:focus\:to-red-light:focus{
    --tw-gradient-to: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:focus\:to-red:focus{
    --tw-gradient-to: rgb(244, 67, 54);
  }

  :root .lg\:focus\:to-orange-light:focus{
    --tw-gradient-to: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:focus\:to-orange:focus{
    --tw-gradient-to: rgb(255, 152, 0);
  }

  :root .lg\:focus\:to-deep-orange-light:focus{
    --tw-gradient-to: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:focus\:to-deep-orange:focus{
    --tw-gradient-to: rgb(255, 87, 34);
  }

  :root .lg\:focus\:to-amber-light:focus{
    --tw-gradient-to: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:focus\:to-amber:focus{
    --tw-gradient-to: rgb(255, 193, 7);
  }

  :root .lg\:focus\:to-green-light:focus{
    --tw-gradient-to: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:focus\:to-green:focus{
    --tw-gradient-to: rgb(76, 175, 80);
  }

  :root .lg\:focus\:to-teal-light:focus{
    --tw-gradient-to: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:focus\:to-teal:focus{
    --tw-gradient-to: rgb(0, 150, 136);
  }

  :root .lg\:focus\:to-cyan-light:focus{
    --tw-gradient-to: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:focus\:to-cyan:focus{
    --tw-gradient-to: rgb(0, 188, 212);
  }

  :root .lg\:focus\:to-purple-light:focus{
    --tw-gradient-to: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:focus\:to-purple:focus{
    --tw-gradient-to: rgb(156, 39, 176);
  }

  :root .lg\:focus\:to-deep-purple-light:focus{
    --tw-gradient-to: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:focus\:to-deep-purple:focus{
    --tw-gradient-to: rgb(103, 58, 183);
  }

  :root .lg\:focus\:to-pink-light:focus{
    --tw-gradient-to: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:focus\:to-pink:focus{
    --tw-gradient-to: rgb(233, 30, 99);
  }

  :root .lg\:focus\:to-primary-light:focus{
    --tw-gradient-to: rgba(var(--color-primary), .1);
  }

  :root .lg\:focus\:to-primary:focus{
    --tw-gradient-to: rgb(var(--color-primary));
  }

  :root .lg\:focus\:to-accent-light:focus{
    --tw-gradient-to: rgba(var(--color-accent), .1);
  }

  :root .lg\:focus\:to-accent:focus{
    --tw-gradient-to: rgb(var(--color-accent));
  }

  :root .lg\:focus\:to-warn-light:focus{
    --tw-gradient-to: rgba(var(--color-warn), .1);
  }

  :root .lg\:focus\:to-warn:focus{
    --tw-gradient-to: rgb(var(--color-warn));
  }

  :root .lg\:bg-opacity-0{
    --tw-bg-opacity: 0;
  }

  :root .lg\:bg-opacity-25{
    --tw-bg-opacity: 0.25;
  }

  :root .lg\:bg-opacity-50{
    --tw-bg-opacity: 0.5;
  }

  :root .lg\:bg-opacity-75{
    --tw-bg-opacity: 0.75;
  }

  :root .lg\:bg-opacity-100{
    --tw-bg-opacity: 1;
  }

  :root .group:hover .lg\:group-hover\:bg-opacity-0{
    --tw-bg-opacity: 0;
  }

  :root .group:hover .lg\:group-hover\:bg-opacity-25{
    --tw-bg-opacity: 0.25;
  }

  :root .group:hover .lg\:group-hover\:bg-opacity-50{
    --tw-bg-opacity: 0.5;
  }

  :root .group:hover .lg\:group-hover\:bg-opacity-75{
    --tw-bg-opacity: 0.75;
  }

  :root .group:hover .lg\:group-hover\:bg-opacity-100{
    --tw-bg-opacity: 1;
  }

  :root .lg\:focus-within\:bg-opacity-0:focus-within{
    --tw-bg-opacity: 0;
  }

  :root .lg\:focus-within\:bg-opacity-25:focus-within{
    --tw-bg-opacity: 0.25;
  }

  :root .lg\:focus-within\:bg-opacity-50:focus-within{
    --tw-bg-opacity: 0.5;
  }

  :root .lg\:focus-within\:bg-opacity-75:focus-within{
    --tw-bg-opacity: 0.75;
  }

  :root .lg\:focus-within\:bg-opacity-100:focus-within{
    --tw-bg-opacity: 1;
  }

  :root .lg\:hover\:bg-opacity-0:hover{
    --tw-bg-opacity: 0;
  }

  :root .lg\:hover\:bg-opacity-25:hover{
    --tw-bg-opacity: 0.25;
  }

  :root .lg\:hover\:bg-opacity-50:hover{
    --tw-bg-opacity: 0.5;
  }

  :root .lg\:hover\:bg-opacity-75:hover{
    --tw-bg-opacity: 0.75;
  }

  :root .lg\:hover\:bg-opacity-100:hover{
    --tw-bg-opacity: 1;
  }

  :root .lg\:focus\:bg-opacity-0:focus{
    --tw-bg-opacity: 0;
  }

  :root .lg\:focus\:bg-opacity-25:focus{
    --tw-bg-opacity: 0.25;
  }

  :root .lg\:focus\:bg-opacity-50:focus{
    --tw-bg-opacity: 0.5;
  }

  :root .lg\:focus\:bg-opacity-75:focus{
    --tw-bg-opacity: 0.75;
  }

  :root .lg\:focus\:bg-opacity-100:focus{
    --tw-bg-opacity: 1;
  }

  :root .lg\:bg-bottom{
    background-position: bottom;
  }

  :root .lg\:bg-center{
    background-position: center;
  }

  :root .lg\:bg-left{
    background-position: left;
  }

  :root .lg\:bg-left-bottom{
    background-position: left bottom;
  }

  :root .lg\:bg-left-top{
    background-position: left top;
  }

  :root .lg\:bg-right{
    background-position: right;
  }

  :root .lg\:bg-right-bottom{
    background-position: right bottom;
  }

  :root .lg\:bg-right-top{
    background-position: right top;
  }

  :root .lg\:bg-top{
    background-position: top;
  }

  :root .lg\:bg-repeat{
    background-repeat: repeat;
  }

  :root .lg\:bg-no-repeat{
    background-repeat: no-repeat;
  }

  :root .lg\:bg-repeat-x{
    background-repeat: repeat-x;
  }

  :root .lg\:bg-repeat-y{
    background-repeat: repeat-y;
  }

  :root .lg\:bg-repeat-round{
    background-repeat: round;
  }

  :root .lg\:bg-repeat-space{
    background-repeat: space;
  }

  :root .lg\:bg-auto{
    background-size: auto;
  }

  :root .lg\:bg-cover{
    background-size: cover;
  }

  :root .lg\:bg-contain{
    background-size: contain;
  }

  :root .lg\:border-collapse{
    border-collapse: collapse;
  }

  :root .lg\:border-separate{
    border-collapse: separate;
  }

  :root .lg\:border-current{
    border-color: currentColor;
  }

  :root .lg\:border-transparent{
    border-color: transparent;
  }

  :root .lg\:border-black{
    border-color: var(--text-color);
  }

  :root .lg\:border-white{
    border-color: var(--text-color-light);
  }

  :root .lg\:border-contrast-black{
    --tw-border-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-border-opacity));
  }

  :root .lg\:border-contrast-white{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  }

  :root .lg\:border-gray-light{
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:border-gray{
    --tw-border-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-border-opacity));
  }

  :root .lg\:border-red-light{
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:border-red{
    --tw-border-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-border-opacity));
  }

  :root .lg\:border-orange-light{
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:border-orange{
    --tw-border-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-border-opacity));
  }

  :root .lg\:border-deep-orange-light{
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:border-deep-orange{
    --tw-border-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-border-opacity));
  }

  :root .lg\:border-amber-light{
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:border-amber{
    --tw-border-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-border-opacity));
  }

  :root .lg\:border-green-light{
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:border-green{
    --tw-border-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-border-opacity));
  }

  :root .lg\:border-teal-light{
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:border-teal{
    --tw-border-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-border-opacity));
  }

  :root .lg\:border-cyan-light{
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:border-cyan{
    --tw-border-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-border-opacity));
  }

  :root .lg\:border-purple-light{
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:border-purple{
    --tw-border-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-border-opacity));
  }

  :root .lg\:border-deep-purple-light{
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:border-deep-purple{
    --tw-border-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-border-opacity));
  }

  :root .lg\:border-pink-light{
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:border-pink{
    --tw-border-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-border-opacity));
  }

  :root .lg\:border-primary-light{
    border-color: rgba(var(--color-primary), .1);
  }

  :root .lg\:border-primary{
    border-color: rgb(var(--color-primary));
  }

  :root .lg\:border-accent-light{
    border-color: rgba(var(--color-accent), .1);
  }

  :root .lg\:border-accent{
    border-color: rgb(var(--color-accent));
  }

  :root .lg\:border-warn-light{
    border-color: rgba(var(--color-warn), .1);
  }

  :root .lg\:border-warn{
    border-color: rgb(var(--color-warn));
  }

  :root .lg\:hover\:border-current:hover{
    border-color: currentColor;
  }

  :root .lg\:hover\:border-transparent:hover{
    border-color: transparent;
  }

  :root .lg\:hover\:border-black:hover{
    border-color: var(--text-color);
  }

  :root .lg\:hover\:border-white:hover{
    border-color: var(--text-color-light);
  }

  :root .lg\:hover\:border-contrast-black:hover{
    --tw-border-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-border-opacity));
  }

  :root .lg\:hover\:border-contrast-white:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  }

  :root .lg\:hover\:border-gray-light:hover{
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:hover\:border-gray:hover{
    --tw-border-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-border-opacity));
  }

  :root .lg\:hover\:border-red-light:hover{
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:hover\:border-red:hover{
    --tw-border-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-border-opacity));
  }

  :root .lg\:hover\:border-orange-light:hover{
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:hover\:border-orange:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-border-opacity));
  }

  :root .lg\:hover\:border-deep-orange-light:hover{
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:hover\:border-deep-orange:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-border-opacity));
  }

  :root .lg\:hover\:border-amber-light:hover{
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:hover\:border-amber:hover{
    --tw-border-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-border-opacity));
  }

  :root .lg\:hover\:border-green-light:hover{
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:hover\:border-green:hover{
    --tw-border-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-border-opacity));
  }

  :root .lg\:hover\:border-teal-light:hover{
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:hover\:border-teal:hover{
    --tw-border-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-border-opacity));
  }

  :root .lg\:hover\:border-cyan-light:hover{
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:hover\:border-cyan:hover{
    --tw-border-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-border-opacity));
  }

  :root .lg\:hover\:border-purple-light:hover{
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:hover\:border-purple:hover{
    --tw-border-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-border-opacity));
  }

  :root .lg\:hover\:border-deep-purple-light:hover{
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:hover\:border-deep-purple:hover{
    --tw-border-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-border-opacity));
  }

  :root .lg\:hover\:border-pink-light:hover{
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:hover\:border-pink:hover{
    --tw-border-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-border-opacity));
  }

  :root .lg\:hover\:border-primary-light:hover{
    border-color: rgba(var(--color-primary), .1);
  }

  :root .lg\:hover\:border-primary:hover{
    border-color: rgb(var(--color-primary));
  }

  :root .lg\:hover\:border-accent-light:hover{
    border-color: rgba(var(--color-accent), .1);
  }

  :root .lg\:hover\:border-accent:hover{
    border-color: rgb(var(--color-accent));
  }

  :root .lg\:hover\:border-warn-light:hover{
    border-color: rgba(var(--color-warn), .1);
  }

  :root .lg\:hover\:border-warn:hover{
    border-color: rgb(var(--color-warn));
  }

  :root .lg\:focus\:border-current:focus{
    border-color: currentColor;
  }

  :root .lg\:focus\:border-transparent:focus{
    border-color: transparent;
  }

  :root .lg\:focus\:border-black:focus{
    border-color: var(--text-color);
  }

  :root .lg\:focus\:border-white:focus{
    border-color: var(--text-color-light);
  }

  :root .lg\:focus\:border-contrast-black:focus{
    --tw-border-opacity: 1;
    border-color: rgba(0, 0, 0, var(--tw-border-opacity));
  }

  :root .lg\:focus\:border-contrast-white:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  }

  :root .lg\:focus\:border-gray-light:focus{
    border-color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:focus\:border-gray:focus{
    --tw-border-opacity: 1;
    border-color: rgba(158, 158, 158, var(--tw-border-opacity));
  }

  :root .lg\:focus\:border-red-light:focus{
    border-color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:focus\:border-red:focus{
    --tw-border-opacity: 1;
    border-color: rgba(244, 67, 54, var(--tw-border-opacity));
  }

  :root .lg\:focus\:border-orange-light:focus{
    border-color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:focus\:border-orange:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 152, 0, var(--tw-border-opacity));
  }

  :root .lg\:focus\:border-deep-orange-light:focus{
    border-color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:focus\:border-deep-orange:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 87, 34, var(--tw-border-opacity));
  }

  :root .lg\:focus\:border-amber-light:focus{
    border-color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:focus\:border-amber:focus{
    --tw-border-opacity: 1;
    border-color: rgba(255, 193, 7, var(--tw-border-opacity));
  }

  :root .lg\:focus\:border-green-light:focus{
    border-color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:focus\:border-green:focus{
    --tw-border-opacity: 1;
    border-color: rgba(76, 175, 80, var(--tw-border-opacity));
  }

  :root .lg\:focus\:border-teal-light:focus{
    border-color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:focus\:border-teal:focus{
    --tw-border-opacity: 1;
    border-color: rgba(0, 150, 136, var(--tw-border-opacity));
  }

  :root .lg\:focus\:border-cyan-light:focus{
    border-color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:focus\:border-cyan:focus{
    --tw-border-opacity: 1;
    border-color: rgba(0, 188, 212, var(--tw-border-opacity));
  }

  :root .lg\:focus\:border-purple-light:focus{
    border-color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:focus\:border-purple:focus{
    --tw-border-opacity: 1;
    border-color: rgba(156, 39, 176, var(--tw-border-opacity));
  }

  :root .lg\:focus\:border-deep-purple-light:focus{
    border-color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:focus\:border-deep-purple:focus{
    --tw-border-opacity: 1;
    border-color: rgba(103, 58, 183, var(--tw-border-opacity));
  }

  :root .lg\:focus\:border-pink-light:focus{
    border-color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:focus\:border-pink:focus{
    --tw-border-opacity: 1;
    border-color: rgba(233, 30, 99, var(--tw-border-opacity));
  }

  :root .lg\:focus\:border-primary-light:focus{
    border-color: rgba(var(--color-primary), .1);
  }

  :root .lg\:focus\:border-primary:focus{
    border-color: rgb(var(--color-primary));
  }

  :root .lg\:focus\:border-accent-light:focus{
    border-color: rgba(var(--color-accent), .1);
  }

  :root .lg\:focus\:border-accent:focus{
    border-color: rgb(var(--color-accent));
  }

  :root .lg\:focus\:border-warn-light:focus{
    border-color: rgba(var(--color-warn), .1);
  }

  :root .lg\:focus\:border-warn:focus{
    border-color: rgb(var(--color-warn));
  }

  :root .lg\:border-opacity-0{
    --tw-border-opacity: 0;
  }

  :root .lg\:border-opacity-25{
    --tw-border-opacity: 0.25;
  }

  :root .lg\:border-opacity-50{
    --tw-border-opacity: 0.5;
  }

  :root .lg\:border-opacity-75{
    --tw-border-opacity: 0.75;
  }

  :root .lg\:border-opacity-100{
    --tw-border-opacity: 1;
  }

  :root .group:hover .lg\:group-hover\:border-opacity-0{
    --tw-border-opacity: 0;
  }

  :root .group:hover .lg\:group-hover\:border-opacity-25{
    --tw-border-opacity: 0.25;
  }

  :root .group:hover .lg\:group-hover\:border-opacity-50{
    --tw-border-opacity: 0.5;
  }

  :root .group:hover .lg\:group-hover\:border-opacity-75{
    --tw-border-opacity: 0.75;
  }

  :root .group:hover .lg\:group-hover\:border-opacity-100{
    --tw-border-opacity: 1;
  }

  :root .lg\:focus-within\:border-opacity-0:focus-within{
    --tw-border-opacity: 0;
  }

  :root .lg\:focus-within\:border-opacity-25:focus-within{
    --tw-border-opacity: 0.25;
  }

  :root .lg\:focus-within\:border-opacity-50:focus-within{
    --tw-border-opacity: 0.5;
  }

  :root .lg\:focus-within\:border-opacity-75:focus-within{
    --tw-border-opacity: 0.75;
  }

  :root .lg\:focus-within\:border-opacity-100:focus-within{
    --tw-border-opacity: 1;
  }

  :root .lg\:hover\:border-opacity-0:hover{
    --tw-border-opacity: 0;
  }

  :root .lg\:hover\:border-opacity-25:hover{
    --tw-border-opacity: 0.25;
  }

  :root .lg\:hover\:border-opacity-50:hover{
    --tw-border-opacity: 0.5;
  }

  :root .lg\:hover\:border-opacity-75:hover{
    --tw-border-opacity: 0.75;
  }

  :root .lg\:hover\:border-opacity-100:hover{
    --tw-border-opacity: 1;
  }

  :root .lg\:focus\:border-opacity-0:focus{
    --tw-border-opacity: 0;
  }

  :root .lg\:focus\:border-opacity-25:focus{
    --tw-border-opacity: 0.25;
  }

  :root .lg\:focus\:border-opacity-50:focus{
    --tw-border-opacity: 0.5;
  }

  :root .lg\:focus\:border-opacity-75:focus{
    --tw-border-opacity: 0.75;
  }

  :root .lg\:focus\:border-opacity-100:focus{
    --tw-border-opacity: 1;
  }

  :root .lg\:rounded-none{
    border-radius: 0;
  }

  :root .lg\:rounded-sm{
    border-radius: 0.125rem;
  }

  :root .lg\:rounded{
    border-radius: 0.25rem;
  }

  :root .lg\:rounded-lg{
    border-radius: 0.5rem;
  }

  :root .lg\:rounded-full{
    border-radius: 9999px;
  }

  :root .lg\:rounded-t-none{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  :root .lg\:rounded-r-none{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  :root .lg\:rounded-b-none{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root .lg\:rounded-l-none{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root .lg\:rounded-t-sm{
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
  }

  :root .lg\:rounded-r-sm{
    border-top-right-radius: 0.125rem;
    border-bottom-right-radius: 0.125rem;
  }

  :root .lg\:rounded-b-sm{
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root .lg\:rounded-l-sm{
    border-top-left-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root .lg\:rounded-t{
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }

  :root .lg\:rounded-r{
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }

  :root .lg\:rounded-b{
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root .lg\:rounded-l{
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root .lg\:rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }

  :root .lg\:rounded-r-lg{
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
  }

  :root .lg\:rounded-b-lg{
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root .lg\:rounded-l-lg{
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root .lg\:rounded-t-full{
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
  }

  :root .lg\:rounded-r-full{
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }

  :root .lg\:rounded-b-full{
    border-bottom-right-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root .lg\:rounded-l-full{
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root .lg\:rounded-tl-none{
    border-top-left-radius: 0;
  }

  :root .lg\:rounded-tr-none{
    border-top-right-radius: 0;
  }

  :root .lg\:rounded-br-none{
    border-bottom-right-radius: 0;
  }

  :root .lg\:rounded-bl-none{
    border-bottom-left-radius: 0;
  }

  :root .lg\:rounded-tl-sm{
    border-top-left-radius: 0.125rem;
  }

  :root .lg\:rounded-tr-sm{
    border-top-right-radius: 0.125rem;
  }

  :root .lg\:rounded-br-sm{
    border-bottom-right-radius: 0.125rem;
  }

  :root .lg\:rounded-bl-sm{
    border-bottom-left-radius: 0.125rem;
  }

  :root .lg\:rounded-tl{
    border-top-left-radius: 0.25rem;
  }

  :root .lg\:rounded-tr{
    border-top-right-radius: 0.25rem;
  }

  :root .lg\:rounded-br{
    border-bottom-right-radius: 0.25rem;
  }

  :root .lg\:rounded-bl{
    border-bottom-left-radius: 0.25rem;
  }

  :root .lg\:rounded-tl-lg{
    border-top-left-radius: 0.5rem;
  }

  :root .lg\:rounded-tr-lg{
    border-top-right-radius: 0.5rem;
  }

  :root .lg\:rounded-br-lg{
    border-bottom-right-radius: 0.5rem;
  }

  :root .lg\:rounded-bl-lg{
    border-bottom-left-radius: 0.5rem;
  }

  :root .lg\:rounded-tl-full{
    border-top-left-radius: 9999px;
  }

  :root .lg\:rounded-tr-full{
    border-top-right-radius: 9999px;
  }

  :root .lg\:rounded-br-full{
    border-bottom-right-radius: 9999px;
  }

  :root .lg\:rounded-bl-full{
    border-bottom-left-radius: 9999px;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-none{
    border-radius: 0;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-sm{
    border-radius: 0.125rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded{
    border-radius: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-lg{
    border-radius: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-full{
    border-radius: 9999px;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-t-none{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-r-none{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-b-none{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-l-none{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-t-sm{
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-r-sm{
    border-top-right-radius: 0.125rem;
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-b-sm{
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-l-sm{
    border-top-left-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-t{
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-r{
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-b{
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-l{
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-r-lg{
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-b-lg{
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-l-lg{
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-t-full{
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-r-full{
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-b-full{
    border-bottom-right-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-l-full{
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-tl-none{
    border-top-left-radius: 0;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-tr-none{
    border-top-right-radius: 0;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-br-none{
    border-bottom-right-radius: 0;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-bl-none{
    border-bottom-left-radius: 0;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-tl-sm{
    border-top-left-radius: 0.125rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-tr-sm{
    border-top-right-radius: 0.125rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-br-sm{
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-bl-sm{
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-tl{
    border-top-left-radius: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-tr{
    border-top-right-radius: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-br{
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-bl{
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-tl-lg{
    border-top-left-radius: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-tr-lg{
    border-top-right-radius: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-br-lg{
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-bl-lg{
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-tl-full{
    border-top-left-radius: 9999px;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-tr-full{
    border-top-right-radius: 9999px;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-br-full{
    border-bottom-right-radius: 9999px;
  }

  :root [dir=ltr] .lg\:ltr\:rounded-bl-full{
    border-bottom-left-radius: 9999px;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-none{
    border-radius: 0;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-sm{
    border-radius: 0.125rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded{
    border-radius: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-lg{
    border-radius: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-full{
    border-radius: 9999px;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-t-none{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-r-none{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-b-none{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-l-none{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-t-sm{
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-r-sm{
    border-top-right-radius: 0.125rem;
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-b-sm{
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-l-sm{
    border-top-left-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-t{
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-r{
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-b{
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-l{
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-r-lg{
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-b-lg{
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-l-lg{
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-t-full{
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-r-full{
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-b-full{
    border-bottom-right-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-l-full{
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-tl-none{
    border-top-left-radius: 0;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-tr-none{
    border-top-right-radius: 0;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-br-none{
    border-bottom-right-radius: 0;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-bl-none{
    border-bottom-left-radius: 0;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-tl-sm{
    border-top-left-radius: 0.125rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-tr-sm{
    border-top-right-radius: 0.125rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-br-sm{
    border-bottom-right-radius: 0.125rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-bl-sm{
    border-bottom-left-radius: 0.125rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-tl{
    border-top-left-radius: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-tr{
    border-top-right-radius: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-br{
    border-bottom-right-radius: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-bl{
    border-bottom-left-radius: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-tl-lg{
    border-top-left-radius: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-tr-lg{
    border-top-right-radius: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-br-lg{
    border-bottom-right-radius: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-bl-lg{
    border-bottom-left-radius: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-tl-full{
    border-top-left-radius: 9999px;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-tr-full{
    border-top-right-radius: 9999px;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-br-full{
    border-bottom-right-radius: 9999px;
  }

  :root [dir=rtl] .lg\:rtl\:rounded-bl-full{
    border-bottom-left-radius: 9999px;
  }

  :root .lg\:border-solid{
    border-style: solid;
  }

  :root .lg\:border-dashed{
    border-style: dashed;
  }

  :root .lg\:border-dotted{
    border-style: dotted;
  }

  :root .lg\:border-double{
    border-style: double;
  }

  :root .lg\:border-none{
    border-style: none;
  }

  :root .lg\:border-0{
    border-width: 0;
  }

  :root .lg\:border-2{
    border-width: 2px;
  }

  :root .lg\:border-3{
    border-width: 3px;
  }

  :root .lg\:border-4{
    border-width: 4px;
  }

  :root .lg\:border-8{
    border-width: 8px;
  }

  :root .lg\:border{
    border-width: 1px;
  }

  :root .lg\:border-t-0{
    border-top-width: 0;
  }

  :root .lg\:border-r-0{
    border-right-width: 0;
  }

  :root .lg\:border-b-0{
    border-bottom-width: 0;
  }

  :root .lg\:border-l-0{
    border-left-width: 0;
  }

  :root .lg\:border-t-2{
    border-top-width: 2px;
  }

  :root .lg\:border-r-2{
    border-right-width: 2px;
  }

  :root .lg\:border-b-2{
    border-bottom-width: 2px;
  }

  :root .lg\:border-l-2{
    border-left-width: 2px;
  }

  :root .lg\:border-t-3{
    border-top-width: 3px;
  }

  :root .lg\:border-r-3{
    border-right-width: 3px;
  }

  :root .lg\:border-b-3{
    border-bottom-width: 3px;
  }

  :root .lg\:border-l-3{
    border-left-width: 3px;
  }

  :root .lg\:border-t-4{
    border-top-width: 4px;
  }

  :root .lg\:border-r-4{
    border-right-width: 4px;
  }

  :root .lg\:border-b-4{
    border-bottom-width: 4px;
  }

  :root .lg\:border-l-4{
    border-left-width: 4px;
  }

  :root .lg\:border-t-8{
    border-top-width: 8px;
  }

  :root .lg\:border-r-8{
    border-right-width: 8px;
  }

  :root .lg\:border-b-8{
    border-bottom-width: 8px;
  }

  :root .lg\:border-l-8{
    border-left-width: 8px;
  }

  :root .lg\:border-t{
    border-top-width: 1px;
  }

  :root .lg\:border-r{
    border-right-width: 1px;
  }

  :root .lg\:border-b{
    border-bottom-width: 1px;
  }

  :root .lg\:border-l{
    border-left-width: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:border-0{
    border-width: 0;
  }

  :root [dir=ltr] .lg\:ltr\:border-2{
    border-width: 2px;
  }

  :root [dir=ltr] .lg\:ltr\:border-3{
    border-width: 3px;
  }

  :root [dir=ltr] .lg\:ltr\:border-4{
    border-width: 4px;
  }

  :root [dir=ltr] .lg\:ltr\:border-8{
    border-width: 8px;
  }

  :root [dir=ltr] .lg\:ltr\:border{
    border-width: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:border-t-0{
    border-top-width: 0;
  }

  :root [dir=ltr] .lg\:ltr\:border-r-0{
    border-right-width: 0;
  }

  :root [dir=ltr] .lg\:ltr\:border-b-0{
    border-bottom-width: 0;
  }

  :root [dir=ltr] .lg\:ltr\:border-l-0{
    border-left-width: 0;
  }

  :root [dir=ltr] .lg\:ltr\:border-t-2{
    border-top-width: 2px;
  }

  :root [dir=ltr] .lg\:ltr\:border-r-2{
    border-right-width: 2px;
  }

  :root [dir=ltr] .lg\:ltr\:border-b-2{
    border-bottom-width: 2px;
  }

  :root [dir=ltr] .lg\:ltr\:border-l-2{
    border-left-width: 2px;
  }

  :root [dir=ltr] .lg\:ltr\:border-t-3{
    border-top-width: 3px;
  }

  :root [dir=ltr] .lg\:ltr\:border-r-3{
    border-right-width: 3px;
  }

  :root [dir=ltr] .lg\:ltr\:border-b-3{
    border-bottom-width: 3px;
  }

  :root [dir=ltr] .lg\:ltr\:border-l-3{
    border-left-width: 3px;
  }

  :root [dir=ltr] .lg\:ltr\:border-t-4{
    border-top-width: 4px;
  }

  :root [dir=ltr] .lg\:ltr\:border-r-4{
    border-right-width: 4px;
  }

  :root [dir=ltr] .lg\:ltr\:border-b-4{
    border-bottom-width: 4px;
  }

  :root [dir=ltr] .lg\:ltr\:border-l-4{
    border-left-width: 4px;
  }

  :root [dir=ltr] .lg\:ltr\:border-t-8{
    border-top-width: 8px;
  }

  :root [dir=ltr] .lg\:ltr\:border-r-8{
    border-right-width: 8px;
  }

  :root [dir=ltr] .lg\:ltr\:border-b-8{
    border-bottom-width: 8px;
  }

  :root [dir=ltr] .lg\:ltr\:border-l-8{
    border-left-width: 8px;
  }

  :root [dir=ltr] .lg\:ltr\:border-t{
    border-top-width: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:border-r{
    border-right-width: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:border-b{
    border-bottom-width: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:border-l{
    border-left-width: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:border-0{
    border-width: 0;
  }

  :root [dir=rtl] .lg\:rtl\:border-2{
    border-width: 2px;
  }

  :root [dir=rtl] .lg\:rtl\:border-3{
    border-width: 3px;
  }

  :root [dir=rtl] .lg\:rtl\:border-4{
    border-width: 4px;
  }

  :root [dir=rtl] .lg\:rtl\:border-8{
    border-width: 8px;
  }

  :root [dir=rtl] .lg\:rtl\:border{
    border-width: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:border-t-0{
    border-top-width: 0;
  }

  :root [dir=rtl] .lg\:rtl\:border-r-0{
    border-right-width: 0;
  }

  :root [dir=rtl] .lg\:rtl\:border-b-0{
    border-bottom-width: 0;
  }

  :root [dir=rtl] .lg\:rtl\:border-l-0{
    border-left-width: 0;
  }

  :root [dir=rtl] .lg\:rtl\:border-t-2{
    border-top-width: 2px;
  }

  :root [dir=rtl] .lg\:rtl\:border-r-2{
    border-right-width: 2px;
  }

  :root [dir=rtl] .lg\:rtl\:border-b-2{
    border-bottom-width: 2px;
  }

  :root [dir=rtl] .lg\:rtl\:border-l-2{
    border-left-width: 2px;
  }

  :root [dir=rtl] .lg\:rtl\:border-t-3{
    border-top-width: 3px;
  }

  :root [dir=rtl] .lg\:rtl\:border-r-3{
    border-right-width: 3px;
  }

  :root [dir=rtl] .lg\:rtl\:border-b-3{
    border-bottom-width: 3px;
  }

  :root [dir=rtl] .lg\:rtl\:border-l-3{
    border-left-width: 3px;
  }

  :root [dir=rtl] .lg\:rtl\:border-t-4{
    border-top-width: 4px;
  }

  :root [dir=rtl] .lg\:rtl\:border-r-4{
    border-right-width: 4px;
  }

  :root [dir=rtl] .lg\:rtl\:border-b-4{
    border-bottom-width: 4px;
  }

  :root [dir=rtl] .lg\:rtl\:border-l-4{
    border-left-width: 4px;
  }

  :root [dir=rtl] .lg\:rtl\:border-t-8{
    border-top-width: 8px;
  }

  :root [dir=rtl] .lg\:rtl\:border-r-8{
    border-right-width: 8px;
  }

  :root [dir=rtl] .lg\:rtl\:border-b-8{
    border-bottom-width: 8px;
  }

  :root [dir=rtl] .lg\:rtl\:border-l-8{
    border-left-width: 8px;
  }

  :root [dir=rtl] .lg\:rtl\:border-t{
    border-top-width: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:border-r{
    border-right-width: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:border-b{
    border-bottom-width: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:border-l{
    border-left-width: 1px;
  }

  :root .lg\:box-border{
    box-sizing: border-box;
  }

  :root .lg\:box-content{
    box-sizing: content-box;
  }

  :root .lg\:cursor-auto{
    cursor: auto;
  }

  :root .lg\:cursor{
    cursor: default;
  }

  :root .lg\:cursor-pointer{
    cursor: pointer;
  }

  :root .lg\:cursor-wait{
    cursor: wait;
  }

  :root .lg\:cursor-text{
    cursor: text;
  }

  :root .lg\:cursor-move{
    cursor: move;
  }

  :root .lg\:cursor-not-allowed{
    cursor: not-allowed;
  }

  :root .lg\:block{
    display: block;
  }

  :root .lg\:inline-block{
    display: inline-block;
  }

  :root .lg\:inline{
    display: inline;
  }

  :root .lg\:flex{
    display: flex;
  }

  :root .lg\:inline-flex{
    display: inline-flex;
  }

  :root .lg\:table{
    display: table;
  }

  :root .lg\:table-caption{
    display: table-caption;
  }

  :root .lg\:table-cell{
    display: table-cell;
  }

  :root .lg\:table-column{
    display: table-column;
  }

  :root .lg\:table-column-group{
    display: table-column-group;
  }

  :root .lg\:table-footer-group{
    display: table-footer-group;
  }

  :root .lg\:table-header-group{
    display: table-header-group;
  }

  :root .lg\:table-row-group{
    display: table-row-group;
  }

  :root .lg\:table-row{
    display: table-row;
  }

  :root .lg\:flow-root{
    display: flow-root;
  }

  :root .lg\:grid{
    display: grid;
  }

  :root .lg\:inline-grid{
    display: inline-grid;
  }

  :root .lg\:contents{
    display: contents;
  }

  :root .lg\:hidden{
    display: none;
  }

  :root .lg\:flex-row{
    flex-direction: row;
  }

  :root .lg\:flex-row-reverse{
    flex-direction: row-reverse;
  }

  :root .lg\:flex-col{
    flex-direction: column;
  }

  :root .lg\:flex-col-reverse{
    flex-direction: column-reverse;
  }

  :root .lg\:flex-wrap{
    flex-wrap: wrap;
  }

  :root .lg\:flex-wrap-reverse{
    flex-wrap: wrap-reverse;
  }

  :root .lg\:flex-nowrap{
    flex-wrap: nowrap;
  }

  :root .lg\:place-items-auto{
    place-items: auto;
  }

  :root .lg\:place-items-start{
    place-items: start;
  }

  :root .lg\:place-items-end{
    place-items: end;
  }

  :root .lg\:place-items-center{
    place-items: center;
  }

  :root .lg\:place-items-stretch{
    place-items: stretch;
  }

  :root .lg\:place-content-center{
    place-content: center;
  }

  :root .lg\:place-content-start{
    place-content: start;
  }

  :root .lg\:place-content-end{
    place-content: end;
  }

  :root .lg\:place-content-between{
    place-content: space-between;
  }

  :root .lg\:place-content-around{
    place-content: space-around;
  }

  :root .lg\:place-content-evenly{
    place-content: space-evenly;
  }

  :root .lg\:place-content-stretch{
    place-content: stretch;
  }

  :root .lg\:place-self-auto{
    place-self: auto;
  }

  :root .lg\:place-self-start{
    place-self: start;
  }

  :root .lg\:place-self-end{
    place-self: end;
  }

  :root .lg\:place-self-center{
    place-self: center;
  }

  :root .lg\:place-self-stretch{
    place-self: stretch;
  }

  :root .lg\:items-start{
    align-items: flex-start;
  }

  :root .lg\:items-end{
    align-items: flex-end;
  }

  :root .lg\:items-center{
    align-items: center;
  }

  :root .lg\:items-baseline{
    align-items: baseline;
  }

  :root .lg\:items-stretch{
    align-items: stretch;
  }

  :root .lg\:content-center{
    align-content: center;
  }

  :root .lg\:content-start{
    align-content: flex-start;
  }

  :root .lg\:content-end{
    align-content: flex-end;
  }

  :root .lg\:content-between{
    align-content: space-between;
  }

  :root .lg\:content-around{
    align-content: space-around;
  }

  :root .lg\:content-evenly{
    align-content: space-evenly;
  }

  :root .lg\:self-auto{
    align-self: auto;
  }

  :root .lg\:self-start{
    align-self: flex-start;
  }

  :root .lg\:self-end{
    align-self: flex-end;
  }

  :root .lg\:self-center{
    align-self: center;
  }

  :root .lg\:self-stretch{
    align-self: stretch;
  }

  :root .lg\:justify-items-auto{
    justify-items: auto;
  }

  :root .lg\:justify-items-start{
    justify-items: start;
  }

  :root .lg\:justify-items-end{
    justify-items: end;
  }

  :root .lg\:justify-items-center{
    justify-items: center;
  }

  :root .lg\:justify-items-stretch{
    justify-items: stretch;
  }

  :root .lg\:justify-start{
    justify-content: flex-start;
  }

  :root .lg\:justify-end{
    justify-content: flex-end;
  }

  :root .lg\:justify-center{
    justify-content: center;
  }

  :root .lg\:justify-between{
    justify-content: space-between;
  }

  :root .lg\:justify-around{
    justify-content: space-around;
  }

  :root .lg\:justify-evenly{
    justify-content: space-evenly;
  }

  :root .lg\:justify-self-auto{
    justify-self: auto;
  }

  :root .lg\:justify-self-start{
    justify-self: start;
  }

  :root .lg\:justify-self-end{
    justify-self: end;
  }

  :root .lg\:justify-self-center{
    justify-self: center;
  }

  :root .lg\:justify-self-stretch{
    justify-self: stretch;
  }

  :root .lg\:flex-1{
    flex: 1 1 0%;
  }

  :root .lg\:flex-auto{
    flex: 1 1 auto;
  }

  :root .lg\:flex-initial{
    flex: 0 1 auto;
  }

  :root .lg\:flex-none{
    flex: none;
  }

  :root .lg\:flex-grow-0{
    flex-grow: 0;
  }

  :root .lg\:flex-grow{
    flex-grow: 1;
  }

  :root .lg\:flex-shrink-0{
    flex-shrink: 0;
  }

  :root .lg\:flex-shrink{
    flex-shrink: 1;
  }

  :root .lg\:order-1{
    order: 1;
  }

  :root .lg\:order-2{
    order: 2;
  }

  :root .lg\:order-3{
    order: 3;
  }

  :root .lg\:order-4{
    order: 4;
  }

  :root .lg\:order-5{
    order: 5;
  }

  :root .lg\:order-6{
    order: 6;
  }

  :root .lg\:order-7{
    order: 7;
  }

  :root .lg\:order-8{
    order: 8;
  }

  :root .lg\:order-9{
    order: 9;
  }

  :root .lg\:order-10{
    order: 10;
  }

  :root .lg\:order-11{
    order: 11;
  }

  :root .lg\:order-12{
    order: 12;
  }

  :root .lg\:order-first{
    order: -9999;
  }

  :root .lg\:order-last{
    order: 9999;
  }

  :root .lg\:order-none{
    order: 0;
  }

  :root .lg\:float-right{
    float: right;
  }

  :root .lg\:float-left{
    float: left;
  }

  :root .lg\:float-none{
    float: none;
  }

  :root .lg\:clear-left{
    clear: left;
  }

  :root .lg\:clear-right{
    clear: right;
  }

  :root .lg\:clear-both{
    clear: both;
  }

  :root .lg\:clear-none{
    clear: none;
  }

  :root .lg\:font-sans{
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple ColorDef Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto ColorDef Emoji";
  }

  :root .lg\:font-serif{
    font-family: Georgia, Cambria, "Times New Roman", Times, serif;
  }

  :root .lg\:font-mono{
    font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  }

  :root .lg\:font-hairline{
    font-weight: 100;
  }

  :root .lg\:font-thin{
    font-weight: 200;
  }

  :root .lg\:font-light{
    font-weight: 300;
  }

  :root .lg\:font-normal{
    font-weight: 400;
  }

  :root .lg\:font-medium{
    font-weight: 500;
  }

  :root .lg\:font-semibold{
    font-weight: 600;
  }

  :root .lg\:font-bold{
    font-weight: 700;
  }

  :root .lg\:font-extrabold{
    font-weight: 800;
  }

  :root .lg\:font-black{
    font-weight: 900;
  }

  :root .lg\:hover\:font-hairline:hover{
    font-weight: 100;
  }

  :root .lg\:hover\:font-thin:hover{
    font-weight: 200;
  }

  :root .lg\:hover\:font-light:hover{
    font-weight: 300;
  }

  :root .lg\:hover\:font-normal:hover{
    font-weight: 400;
  }

  :root .lg\:hover\:font-medium:hover{
    font-weight: 500;
  }

  :root .lg\:hover\:font-semibold:hover{
    font-weight: 600;
  }

  :root .lg\:hover\:font-bold:hover{
    font-weight: 700;
  }

  :root .lg\:hover\:font-extrabold:hover{
    font-weight: 800;
  }

  :root .lg\:hover\:font-black:hover{
    font-weight: 900;
  }

  :root .lg\:focus\:font-hairline:focus{
    font-weight: 100;
  }

  :root .lg\:focus\:font-thin:focus{
    font-weight: 200;
  }

  :root .lg\:focus\:font-light:focus{
    font-weight: 300;
  }

  :root .lg\:focus\:font-normal:focus{
    font-weight: 400;
  }

  :root .lg\:focus\:font-medium:focus{
    font-weight: 500;
  }

  :root .lg\:focus\:font-semibold:focus{
    font-weight: 600;
  }

  :root .lg\:focus\:font-bold:focus{
    font-weight: 700;
  }

  :root .lg\:focus\:font-extrabold:focus{
    font-weight: 800;
  }

  :root .lg\:focus\:font-black:focus{
    font-weight: 900;
  }

  :root .lg\:h-0{
    height: 0;
  }

  :root .lg\:h-1{
    height: 0.25rem;
  }

  :root .lg\:h-2{
    height: 0.5rem;
  }

  :root .lg\:h-3{
    height: 0.75rem;
  }

  :root .lg\:h-4{
    height: 1rem;
  }

  :root .lg\:h-5{
    height: 1.25rem;
  }

  :root .lg\:h-6{
    height: 1.5rem;
  }

  :root .lg\:h-8{
    height: 2rem;
  }

  :root .lg\:h-9{
    height: 2.25rem;
  }

  :root .lg\:h-10{
    height: 2.5rem;
  }

  :root .lg\:h-12{
    height: 3rem;
  }

  :root .lg\:h-14{
    height: 3.5rem;
  }

  :root .lg\:h-16{
    height: 4rem;
  }

  :root .lg\:h-20{
    height: 5rem;
  }

  :root .lg\:h-24{
    height: 6rem;
  }

  :root .lg\:h-32{
    height: 8rem;
  }

  :root .lg\:h-40{
    height: 10rem;
  }

  :root .lg\:h-48{
    height: 12rem;
  }

  :root .lg\:h-56{
    height: 14rem;
  }

  :root .lg\:h-64{
    height: 16rem;
  }

  :root .lg\:h-auto{
    height: auto;
  }

  :root .lg\:h-px{
    height: 1px;
  }

  :root .lg\:h-gutter{
    height: var(--padding-gutter);
  }

  :root .lg\:h-full{
    height: 100%;
  }

  :root .lg\:h-screen{
    height: 100vh;
  }

  :root .lg\:text-xxs{
    font-size: 0.625rem;
  }

  :root .lg\:text-xs{
    font-size: 0.75rem;
  }

  :root .lg\:text-sm{
    font-size: 0.875rem;
  }

  :root .lg\:text-base{
    font-size: 1rem;
  }

  :root .lg\:text-lg{
    font-size: 1.125rem;
  }

  :root .lg\:text-xl{
    font-size: 1.25rem;
  }

  :root .lg\:text-2xl{
    font-size: 1.5rem;
  }

  :root .lg\:text-3xl{
    font-size: 1.875rem;
  }

  :root .lg\:text-4xl{
    font-size: 2.25rem;
  }

  :root .lg\:text-5xl{
    font-size: 3rem;
  }

  :root .lg\:text-6xl{
    font-size: 4rem;
  }

  :root .lg\:leading-none{
    line-height: 1;
  }

  :root .lg\:leading-tight{
    line-height: 1.25;
  }

  :root .lg\:leading-snug{
    line-height: 1.375;
  }

  :root .lg\:leading-normal{
    line-height: 1.5;
  }

  :root .lg\:leading-relaxed{
    line-height: 1.625;
  }

  :root .lg\:leading-loose{
    line-height: 2;
  }

  :root .lg\:list-inside{
    list-style-position: inside;
  }

  :root .lg\:list-outside{
    list-style-position: outside;
  }

  :root .lg\:list-none{
    list-style-type: none;
  }

  :root .lg\:list-disc{
    list-style-type: disc;
  }

  :root .lg\:list-decimal{
    list-style-type: decimal;
  }

  :root .lg\:m-0{
    margin: 0;
  }

  :root .lg\:m-1{
    margin: 0.25rem;
  }

  :root .lg\:m-2{
    margin: 0.5rem;
  }

  :root .lg\:m-3{
    margin: 0.75rem;
  }

  :root .lg\:m-4{
    margin: 1rem;
  }

  :root .lg\:m-5{
    margin: 1.25rem;
  }

  :root .lg\:m-6{
    margin: 1.5rem;
  }

  :root .lg\:m-8{
    margin: 2rem;
  }

  :root .lg\:m-9{
    margin: 2.25rem;
  }

  :root .lg\:m-10{
    margin: 2.5rem;
  }

  :root .lg\:m-12{
    margin: 3rem;
  }

  :root .lg\:m-14{
    margin: 3.5rem;
  }

  :root .lg\:m-16{
    margin: 4rem;
  }

  :root .lg\:m-20{
    margin: 5rem;
  }

  :root .lg\:m-24{
    margin: 6rem;
  }

  :root .lg\:m-32{
    margin: 8rem;
  }

  :root .lg\:m-40{
    margin: 10rem;
  }

  :root .lg\:m-48{
    margin: 12rem;
  }

  :root .lg\:m-56{
    margin: 14rem;
  }

  :root .lg\:m-64{
    margin: 16rem;
  }

  :root .lg\:m-auto{
    margin: auto;
  }

  :root .lg\:m-px{
    margin: 1px;
  }

  :root .lg\:m-gutter{
    margin: var(--padding-gutter);
  }

  :root .lg\:-m-1{
    margin: -0.25rem;
  }

  :root .lg\:-m-2{
    margin: -0.5rem;
  }

  :root .lg\:-m-3{
    margin: -0.75rem;
  }

  :root .lg\:-m-4{
    margin: -1rem;
  }

  :root .lg\:-m-5{
    margin: -1.25rem;
  }

  :root .lg\:-m-6{
    margin: -1.5rem;
  }

  :root .lg\:-m-8{
    margin: -2rem;
  }

  :root .lg\:-m-9{
    margin: -2.25rem;
  }

  :root .lg\:-m-10{
    margin: -2.5rem;
  }

  :root .lg\:-m-12{
    margin: -3rem;
  }

  :root .lg\:-m-14{
    margin: -3.5rem;
  }

  :root .lg\:-m-16{
    margin: -4rem;
  }

  :root .lg\:-m-20{
    margin: -5rem;
  }

  :root .lg\:-m-24{
    margin: -6rem;
  }

  :root .lg\:-m-32{
    margin: -8rem;
  }

  :root .lg\:-m-40{
    margin: -10rem;
  }

  :root .lg\:-m-48{
    margin: -12rem;
  }

  :root .lg\:-m-56{
    margin: -14rem;
  }

  :root .lg\:-m-64{
    margin: -16rem;
  }

  :root .lg\:-m-px{
    margin: -1px;
  }

  :root .lg\:-m-gutter{
    margin: calc(var(--padding-gutter) * -1);
  }

  :root .lg\:my-0{
    margin-top: 0;
    margin-bottom: 0;
  }

  :root .lg\:mx-0{
    margin-left: 0;
    margin-right: 0;
  }

  :root .lg\:my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  :root .lg\:mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }

  :root .lg\:my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  :root .lg\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  :root .lg\:my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  :root .lg\:mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  :root .lg\:my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  :root .lg\:mx-4{
    margin-left: 1rem;
    margin-right: 1rem;
  }

  :root .lg\:my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }

  :root .lg\:mx-5{
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  :root .lg\:my-6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  :root .lg\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  :root .lg\:my-8{
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  :root .lg\:mx-8{
    margin-left: 2rem;
    margin-right: 2rem;
  }

  :root .lg\:my-9{
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
  }

  :root .lg\:mx-9{
    margin-left: 2.25rem;
    margin-right: 2.25rem;
  }

  :root .lg\:my-10{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }

  :root .lg\:mx-10{
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }

  :root .lg\:my-12{
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  :root .lg\:mx-12{
    margin-left: 3rem;
    margin-right: 3rem;
  }

  :root .lg\:my-14{
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  :root .lg\:mx-14{
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }

  :root .lg\:my-16{
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  :root .lg\:mx-16{
    margin-left: 4rem;
    margin-right: 4rem;
  }

  :root .lg\:my-20{
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  :root .lg\:mx-20{
    margin-left: 5rem;
    margin-right: 5rem;
  }

  :root .lg\:my-24{
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  :root .lg\:mx-24{
    margin-left: 6rem;
    margin-right: 6rem;
  }

  :root .lg\:my-32{
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  :root .lg\:mx-32{
    margin-left: 8rem;
    margin-right: 8rem;
  }

  :root .lg\:my-40{
    margin-top: 10rem;
    margin-bottom: 10rem;
  }

  :root .lg\:mx-40{
    margin-left: 10rem;
    margin-right: 10rem;
  }

  :root .lg\:my-48{
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  :root .lg\:mx-48{
    margin-left: 12rem;
    margin-right: 12rem;
  }

  :root .lg\:my-56{
    margin-top: 14rem;
    margin-bottom: 14rem;
  }

  :root .lg\:mx-56{
    margin-left: 14rem;
    margin-right: 14rem;
  }

  :root .lg\:my-64{
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  :root .lg\:mx-64{
    margin-left: 16rem;
    margin-right: 16rem;
  }

  :root .lg\:my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }

  :root .lg\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

  :root .lg\:my-px{
    margin-top: 1px;
    margin-bottom: 1px;
  }

  :root .lg\:mx-px{
    margin-left: 1px;
    margin-right: 1px;
  }

  :root .lg\:my-gutter{
    margin-top: var(--padding-gutter);
    margin-bottom: var(--padding-gutter);
  }

  :root .lg\:mx-gutter{
    margin-left: var(--padding-gutter);
    margin-right: var(--padding-gutter);
  }

  :root .lg\:-my-1{
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }

  :root .lg\:-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  :root .lg\:-my-2{
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }

  :root .lg\:-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  :root .lg\:-my-3{
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }

  :root .lg\:-mx-3{
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

  :root .lg\:-my-4{
    margin-top: -1rem;
    margin-bottom: -1rem;
  }

  :root .lg\:-mx-4{
    margin-left: -1rem;
    margin-right: -1rem;
  }

  :root .lg\:-my-5{
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }

  :root .lg\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  :root .lg\:-my-6{
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }

  :root .lg\:-mx-6{
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

  :root .lg\:-my-8{
    margin-top: -2rem;
    margin-bottom: -2rem;
  }

  :root .lg\:-mx-8{
    margin-left: -2rem;
    margin-right: -2rem;
  }

  :root .lg\:-my-9{
    margin-top: -2.25rem;
    margin-bottom: -2.25rem;
  }

  :root .lg\:-mx-9{
    margin-left: -2.25rem;
    margin-right: -2.25rem;
  }

  :root .lg\:-my-10{
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
  }

  :root .lg\:-mx-10{
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

  :root .lg\:-my-12{
    margin-top: -3rem;
    margin-bottom: -3rem;
  }

  :root .lg\:-mx-12{
    margin-left: -3rem;
    margin-right: -3rem;
  }

  :root .lg\:-my-14{
    margin-top: -3.5rem;
    margin-bottom: -3.5rem;
  }

  :root .lg\:-mx-14{
    margin-left: -3.5rem;
    margin-right: -3.5rem;
  }

  :root .lg\:-my-16{
    margin-top: -4rem;
    margin-bottom: -4rem;
  }

  :root .lg\:-mx-16{
    margin-left: -4rem;
    margin-right: -4rem;
  }

  :root .lg\:-my-20{
    margin-top: -5rem;
    margin-bottom: -5rem;
  }

  :root .lg\:-mx-20{
    margin-left: -5rem;
    margin-right: -5rem;
  }

  :root .lg\:-my-24{
    margin-top: -6rem;
    margin-bottom: -6rem;
  }

  :root .lg\:-mx-24{
    margin-left: -6rem;
    margin-right: -6rem;
  }

  :root .lg\:-my-32{
    margin-top: -8rem;
    margin-bottom: -8rem;
  }

  :root .lg\:-mx-32{
    margin-left: -8rem;
    margin-right: -8rem;
  }

  :root .lg\:-my-40{
    margin-top: -10rem;
    margin-bottom: -10rem;
  }

  :root .lg\:-mx-40{
    margin-left: -10rem;
    margin-right: -10rem;
  }

  :root .lg\:-my-48{
    margin-top: -12rem;
    margin-bottom: -12rem;
  }

  :root .lg\:-mx-48{
    margin-left: -12rem;
    margin-right: -12rem;
  }

  :root .lg\:-my-56{
    margin-top: -14rem;
    margin-bottom: -14rem;
  }

  :root .lg\:-mx-56{
    margin-left: -14rem;
    margin-right: -14rem;
  }

  :root .lg\:-my-64{
    margin-top: -16rem;
    margin-bottom: -16rem;
  }

  :root .lg\:-mx-64{
    margin-left: -16rem;
    margin-right: -16rem;
  }

  :root .lg\:-my-px{
    margin-top: -1px;
    margin-bottom: -1px;
  }

  :root .lg\:-mx-px{
    margin-left: -1px;
    margin-right: -1px;
  }

  :root .lg\:-my-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root .lg\:-mx-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root .lg\:mt-0{
    margin-top: 0;
  }

  :root .lg\:mr-0{
    margin-right: 0;
  }

  :root .lg\:mb-0{
    margin-bottom: 0;
  }

  :root .lg\:ml-0{
    margin-left: 0;
  }

  :root .lg\:mt-1{
    margin-top: 0.25rem;
  }

  :root .lg\:mr-1{
    margin-right: 0.25rem;
  }

  :root .lg\:mb-1{
    margin-bottom: 0.25rem;
  }

  :root .lg\:ml-1{
    margin-left: 0.25rem;
  }

  :root .lg\:mt-2{
    margin-top: 0.5rem;
  }

  :root .lg\:mr-2{
    margin-right: 0.5rem;
  }

  :root .lg\:mb-2{
    margin-bottom: 0.5rem;
  }

  :root .lg\:ml-2{
    margin-left: 0.5rem;
  }

  :root .lg\:mt-3{
    margin-top: 0.75rem;
  }

  :root .lg\:mr-3{
    margin-right: 0.75rem;
  }

  :root .lg\:mb-3{
    margin-bottom: 0.75rem;
  }

  :root .lg\:ml-3{
    margin-left: 0.75rem;
  }

  :root .lg\:mt-4{
    margin-top: 1rem;
  }

  :root .lg\:mr-4{
    margin-right: 1rem;
  }

  :root .lg\:mb-4{
    margin-bottom: 1rem;
  }

  :root .lg\:ml-4{
    margin-left: 1rem;
  }

  :root .lg\:mt-5{
    margin-top: 1.25rem;
  }

  :root .lg\:mr-5{
    margin-right: 1.25rem;
  }

  :root .lg\:mb-5{
    margin-bottom: 1.25rem;
  }

  :root .lg\:ml-5{
    margin-left: 1.25rem;
  }

  :root .lg\:mt-6{
    margin-top: 1.5rem;
  }

  :root .lg\:mr-6{
    margin-right: 1.5rem;
  }

  :root .lg\:mb-6{
    margin-bottom: 1.5rem;
  }

  :root .lg\:ml-6{
    margin-left: 1.5rem;
  }

  :root .lg\:mt-8{
    margin-top: 2rem;
  }

  :root .lg\:mr-8{
    margin-right: 2rem;
  }

  :root .lg\:mb-8{
    margin-bottom: 2rem;
  }

  :root .lg\:ml-8{
    margin-left: 2rem;
  }

  :root .lg\:mt-9{
    margin-top: 2.25rem;
  }

  :root .lg\:mr-9{
    margin-right: 2.25rem;
  }

  :root .lg\:mb-9{
    margin-bottom: 2.25rem;
  }

  :root .lg\:ml-9{
    margin-left: 2.25rem;
  }

  :root .lg\:mt-10{
    margin-top: 2.5rem;
  }

  :root .lg\:mr-10{
    margin-right: 2.5rem;
  }

  :root .lg\:mb-10{
    margin-bottom: 2.5rem;
  }

  :root .lg\:ml-10{
    margin-left: 2.5rem;
  }

  :root .lg\:mt-12{
    margin-top: 3rem;
  }

  :root .lg\:mr-12{
    margin-right: 3rem;
  }

  :root .lg\:mb-12{
    margin-bottom: 3rem;
  }

  :root .lg\:ml-12{
    margin-left: 3rem;
  }

  :root .lg\:mt-14{
    margin-top: 3.5rem;
  }

  :root .lg\:mr-14{
    margin-right: 3.5rem;
  }

  :root .lg\:mb-14{
    margin-bottom: 3.5rem;
  }

  :root .lg\:ml-14{
    margin-left: 3.5rem;
  }

  :root .lg\:mt-16{
    margin-top: 4rem;
  }

  :root .lg\:mr-16{
    margin-right: 4rem;
  }

  :root .lg\:mb-16{
    margin-bottom: 4rem;
  }

  :root .lg\:ml-16{
    margin-left: 4rem;
  }

  :root .lg\:mt-20{
    margin-top: 5rem;
  }

  :root .lg\:mr-20{
    margin-right: 5rem;
  }

  :root .lg\:mb-20{
    margin-bottom: 5rem;
  }

  :root .lg\:ml-20{
    margin-left: 5rem;
  }

  :root .lg\:mt-24{
    margin-top: 6rem;
  }

  :root .lg\:mr-24{
    margin-right: 6rem;
  }

  :root .lg\:mb-24{
    margin-bottom: 6rem;
  }

  :root .lg\:ml-24{
    margin-left: 6rem;
  }

  :root .lg\:mt-32{
    margin-top: 8rem;
  }

  :root .lg\:mr-32{
    margin-right: 8rem;
  }

  :root .lg\:mb-32{
    margin-bottom: 8rem;
  }

  :root .lg\:ml-32{
    margin-left: 8rem;
  }

  :root .lg\:mt-40{
    margin-top: 10rem;
  }

  :root .lg\:mr-40{
    margin-right: 10rem;
  }

  :root .lg\:mb-40{
    margin-bottom: 10rem;
  }

  :root .lg\:ml-40{
    margin-left: 10rem;
  }

  :root .lg\:mt-48{
    margin-top: 12rem;
  }

  :root .lg\:mr-48{
    margin-right: 12rem;
  }

  :root .lg\:mb-48{
    margin-bottom: 12rem;
  }

  :root .lg\:ml-48{
    margin-left: 12rem;
  }

  :root .lg\:mt-56{
    margin-top: 14rem;
  }

  :root .lg\:mr-56{
    margin-right: 14rem;
  }

  :root .lg\:mb-56{
    margin-bottom: 14rem;
  }

  :root .lg\:ml-56{
    margin-left: 14rem;
  }

  :root .lg\:mt-64{
    margin-top: 16rem;
  }

  :root .lg\:mr-64{
    margin-right: 16rem;
  }

  :root .lg\:mb-64{
    margin-bottom: 16rem;
  }

  :root .lg\:ml-64{
    margin-left: 16rem;
  }

  :root .lg\:mt-auto{
    margin-top: auto;
  }

  :root .lg\:mr-auto{
    margin-right: auto;
  }

  :root .lg\:mb-auto{
    margin-bottom: auto;
  }

  :root .lg\:ml-auto{
    margin-left: auto;
  }

  :root .lg\:mt-px{
    margin-top: 1px;
  }

  :root .lg\:mr-px{
    margin-right: 1px;
  }

  :root .lg\:mb-px{
    margin-bottom: 1px;
  }

  :root .lg\:ml-px{
    margin-left: 1px;
  }

  :root .lg\:mt-gutter{
    margin-top: var(--padding-gutter);
  }

  :root .lg\:mr-gutter{
    margin-right: var(--padding-gutter);
  }

  :root .lg\:mb-gutter{
    margin-bottom: var(--padding-gutter);
  }

  :root .lg\:ml-gutter{
    margin-left: var(--padding-gutter);
  }

  :root .lg\:-mt-1{
    margin-top: -0.25rem;
  }

  :root .lg\:-mr-1{
    margin-right: -0.25rem;
  }

  :root .lg\:-mb-1{
    margin-bottom: -0.25rem;
  }

  :root .lg\:-ml-1{
    margin-left: -0.25rem;
  }

  :root .lg\:-mt-2{
    margin-top: -0.5rem;
  }

  :root .lg\:-mr-2{
    margin-right: -0.5rem;
  }

  :root .lg\:-mb-2{
    margin-bottom: -0.5rem;
  }

  :root .lg\:-ml-2{
    margin-left: -0.5rem;
  }

  :root .lg\:-mt-3{
    margin-top: -0.75rem;
  }

  :root .lg\:-mr-3{
    margin-right: -0.75rem;
  }

  :root .lg\:-mb-3{
    margin-bottom: -0.75rem;
  }

  :root .lg\:-ml-3{
    margin-left: -0.75rem;
  }

  :root .lg\:-mt-4{
    margin-top: -1rem;
  }

  :root .lg\:-mr-4{
    margin-right: -1rem;
  }

  :root .lg\:-mb-4{
    margin-bottom: -1rem;
  }

  :root .lg\:-ml-4{
    margin-left: -1rem;
  }

  :root .lg\:-mt-5{
    margin-top: -1.25rem;
  }

  :root .lg\:-mr-5{
    margin-right: -1.25rem;
  }

  :root .lg\:-mb-5{
    margin-bottom: -1.25rem;
  }

  :root .lg\:-ml-5{
    margin-left: -1.25rem;
  }

  :root .lg\:-mt-6{
    margin-top: -1.5rem;
  }

  :root .lg\:-mr-6{
    margin-right: -1.5rem;
  }

  :root .lg\:-mb-6{
    margin-bottom: -1.5rem;
  }

  :root .lg\:-ml-6{
    margin-left: -1.5rem;
  }

  :root .lg\:-mt-8{
    margin-top: -2rem;
  }

  :root .lg\:-mr-8{
    margin-right: -2rem;
  }

  :root .lg\:-mb-8{
    margin-bottom: -2rem;
  }

  :root .lg\:-ml-8{
    margin-left: -2rem;
  }

  :root .lg\:-mt-9{
    margin-top: -2.25rem;
  }

  :root .lg\:-mr-9{
    margin-right: -2.25rem;
  }

  :root .lg\:-mb-9{
    margin-bottom: -2.25rem;
  }

  :root .lg\:-ml-9{
    margin-left: -2.25rem;
  }

  :root .lg\:-mt-10{
    margin-top: -2.5rem;
  }

  :root .lg\:-mr-10{
    margin-right: -2.5rem;
  }

  :root .lg\:-mb-10{
    margin-bottom: -2.5rem;
  }

  :root .lg\:-ml-10{
    margin-left: -2.5rem;
  }

  :root .lg\:-mt-12{
    margin-top: -3rem;
  }

  :root .lg\:-mr-12{
    margin-right: -3rem;
  }

  :root .lg\:-mb-12{
    margin-bottom: -3rem;
  }

  :root .lg\:-ml-12{
    margin-left: -3rem;
  }

  :root .lg\:-mt-14{
    margin-top: -3.5rem;
  }

  :root .lg\:-mr-14{
    margin-right: -3.5rem;
  }

  :root .lg\:-mb-14{
    margin-bottom: -3.5rem;
  }

  :root .lg\:-ml-14{
    margin-left: -3.5rem;
  }

  :root .lg\:-mt-16{
    margin-top: -4rem;
  }

  :root .lg\:-mr-16{
    margin-right: -4rem;
  }

  :root .lg\:-mb-16{
    margin-bottom: -4rem;
  }

  :root .lg\:-ml-16{
    margin-left: -4rem;
  }

  :root .lg\:-mt-20{
    margin-top: -5rem;
  }

  :root .lg\:-mr-20{
    margin-right: -5rem;
  }

  :root .lg\:-mb-20{
    margin-bottom: -5rem;
  }

  :root .lg\:-ml-20{
    margin-left: -5rem;
  }

  :root .lg\:-mt-24{
    margin-top: -6rem;
  }

  :root .lg\:-mr-24{
    margin-right: -6rem;
  }

  :root .lg\:-mb-24{
    margin-bottom: -6rem;
  }

  :root .lg\:-ml-24{
    margin-left: -6rem;
  }

  :root .lg\:-mt-32{
    margin-top: -8rem;
  }

  :root .lg\:-mr-32{
    margin-right: -8rem;
  }

  :root .lg\:-mb-32{
    margin-bottom: -8rem;
  }

  :root .lg\:-ml-32{
    margin-left: -8rem;
  }

  :root .lg\:-mt-40{
    margin-top: -10rem;
  }

  :root .lg\:-mr-40{
    margin-right: -10rem;
  }

  :root .lg\:-mb-40{
    margin-bottom: -10rem;
  }

  :root .lg\:-ml-40{
    margin-left: -10rem;
  }

  :root .lg\:-mt-48{
    margin-top: -12rem;
  }

  :root .lg\:-mr-48{
    margin-right: -12rem;
  }

  :root .lg\:-mb-48{
    margin-bottom: -12rem;
  }

  :root .lg\:-ml-48{
    margin-left: -12rem;
  }

  :root .lg\:-mt-56{
    margin-top: -14rem;
  }

  :root .lg\:-mr-56{
    margin-right: -14rem;
  }

  :root .lg\:-mb-56{
    margin-bottom: -14rem;
  }

  :root .lg\:-ml-56{
    margin-left: -14rem;
  }

  :root .lg\:-mt-64{
    margin-top: -16rem;
  }

  :root .lg\:-mr-64{
    margin-right: -16rem;
  }

  :root .lg\:-mb-64{
    margin-bottom: -16rem;
  }

  :root .lg\:-ml-64{
    margin-left: -16rem;
  }

  :root .lg\:-mt-px{
    margin-top: -1px;
  }

  :root .lg\:-mr-px{
    margin-right: -1px;
  }

  :root .lg\:-mb-px{
    margin-bottom: -1px;
  }

  :root .lg\:-ml-px{
    margin-left: -1px;
  }

  :root .lg\:-mt-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
  }

  :root .lg\:-mr-gutter{
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root .lg\:-mb-gutter{
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root .lg\:-ml-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .lg\:ltr\:m-0{
    margin: 0;
  }

  :root [dir=ltr] .lg\:ltr\:m-1{
    margin: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-2{
    margin: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-3{
    margin: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-4{
    margin: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-5{
    margin: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-6{
    margin: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-8{
    margin: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-9{
    margin: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-10{
    margin: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-12{
    margin: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-14{
    margin: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-16{
    margin: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-20{
    margin: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-24{
    margin: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-32{
    margin: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-40{
    margin: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-48{
    margin: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-56{
    margin: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-64{
    margin: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:m-auto{
    margin: auto;
  }

  :root [dir=ltr] .lg\:ltr\:m-px{
    margin: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:m-gutter{
    margin: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:-m-1{
    margin: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-2{
    margin: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-3{
    margin: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-4{
    margin: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-5{
    margin: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-6{
    margin: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-8{
    margin: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-9{
    margin: -2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-10{
    margin: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-12{
    margin: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-14{
    margin: -3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-16{
    margin: -4rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-20{
    margin: -5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-24{
    margin: -6rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-32{
    margin: -8rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-40{
    margin: -10rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-48{
    margin: -12rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-56{
    margin: -14rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-64{
    margin: -16rem;
  }

  :root [dir=ltr] .lg\:ltr\:-m-px{
    margin: -1px;
  }

  :root [dir=ltr] .lg\:ltr\:-m-gutter{
    margin: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .lg\:ltr\:my-0{
    margin-top: 0;
    margin-bottom: 0;
  }

  :root [dir=ltr] .lg\:ltr\:mx-0{
    margin-left: 0;
    margin-right: 0;
  }

  :root [dir=ltr] .lg\:ltr\:my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-4{
    margin-left: 1rem;
    margin-right: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-5{
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-8{
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-8{
    margin-left: 2rem;
    margin-right: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-9{
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-9{
    margin-left: 2.25rem;
    margin-right: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-10{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-10{
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-12{
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-12{
    margin-left: 3rem;
    margin-right: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-14{
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-14{
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-16{
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-16{
    margin-left: 4rem;
    margin-right: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-20{
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-20{
    margin-left: 5rem;
    margin-right: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-24{
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-24{
    margin-left: 6rem;
    margin-right: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-32{
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-32{
    margin-left: 8rem;
    margin-right: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-40{
    margin-top: 10rem;
    margin-bottom: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-40{
    margin-left: 10rem;
    margin-right: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-48{
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-48{
    margin-left: 12rem;
    margin-right: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-56{
    margin-top: 14rem;
    margin-bottom: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-56{
    margin-left: 14rem;
    margin-right: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-64{
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:mx-64{
    margin-left: 16rem;
    margin-right: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }

  :root [dir=ltr] .lg\:ltr\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

  :root [dir=ltr] .lg\:ltr\:my-px{
    margin-top: 1px;
    margin-bottom: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:mx-px{
    margin-left: 1px;
    margin-right: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:my-gutter{
    margin-top: var(--padding-gutter);
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:mx-gutter{
    margin-left: var(--padding-gutter);
    margin-right: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:-my-1{
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-2{
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-3{
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-3{
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-4{
    margin-top: -1rem;
    margin-bottom: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-4{
    margin-left: -1rem;
    margin-right: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-5{
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-6{
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-6{
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-8{
    margin-top: -2rem;
    margin-bottom: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-8{
    margin-left: -2rem;
    margin-right: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-9{
    margin-top: -2.25rem;
    margin-bottom: -2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-9{
    margin-left: -2.25rem;
    margin-right: -2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-10{
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-10{
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-12{
    margin-top: -3rem;
    margin-bottom: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-12{
    margin-left: -3rem;
    margin-right: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-14{
    margin-top: -3.5rem;
    margin-bottom: -3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-14{
    margin-left: -3.5rem;
    margin-right: -3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-16{
    margin-top: -4rem;
    margin-bottom: -4rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-16{
    margin-left: -4rem;
    margin-right: -4rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-20{
    margin-top: -5rem;
    margin-bottom: -5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-20{
    margin-left: -5rem;
    margin-right: -5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-24{
    margin-top: -6rem;
    margin-bottom: -6rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-24{
    margin-left: -6rem;
    margin-right: -6rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-32{
    margin-top: -8rem;
    margin-bottom: -8rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-32{
    margin-left: -8rem;
    margin-right: -8rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-40{
    margin-top: -10rem;
    margin-bottom: -10rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-40{
    margin-left: -10rem;
    margin-right: -10rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-48{
    margin-top: -12rem;
    margin-bottom: -12rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-48{
    margin-left: -12rem;
    margin-right: -12rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-56{
    margin-top: -14rem;
    margin-bottom: -14rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-56{
    margin-left: -14rem;
    margin-right: -14rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-64{
    margin-top: -16rem;
    margin-bottom: -16rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-64{
    margin-left: -16rem;
    margin-right: -16rem;
  }

  :root [dir=ltr] .lg\:ltr\:-my-px{
    margin-top: -1px;
    margin-bottom: -1px;
  }

  :root [dir=ltr] .lg\:ltr\:-mx-px{
    margin-left: -1px;
    margin-right: -1px;
  }

  :root [dir=ltr] .lg\:ltr\:-my-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .lg\:ltr\:-mx-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .lg\:ltr\:mt-0{
    margin-top: 0;
  }

  :root [dir=ltr] .lg\:ltr\:mr-0{
    margin-right: 0;
  }

  :root [dir=ltr] .lg\:ltr\:mb-0{
    margin-bottom: 0;
  }

  :root [dir=ltr] .lg\:ltr\:ml-0{
    margin-left: 0;
  }

  :root [dir=ltr] .lg\:ltr\:mt-1{
    margin-top: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-1{
    margin-right: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-1{
    margin-bottom: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-1{
    margin-left: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-2{
    margin-top: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-2{
    margin-right: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-2{
    margin-bottom: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-2{
    margin-left: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-3{
    margin-top: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-3{
    margin-right: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-3{
    margin-bottom: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-3{
    margin-left: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-4{
    margin-top: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-4{
    margin-right: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-4{
    margin-bottom: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-4{
    margin-left: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-5{
    margin-top: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-5{
    margin-right: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-5{
    margin-bottom: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-5{
    margin-left: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-6{
    margin-top: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-6{
    margin-right: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-6{
    margin-bottom: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-6{
    margin-left: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-8{
    margin-top: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-8{
    margin-right: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-8{
    margin-bottom: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-8{
    margin-left: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-9{
    margin-top: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-9{
    margin-right: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-9{
    margin-bottom: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-9{
    margin-left: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-10{
    margin-top: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-10{
    margin-right: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-10{
    margin-bottom: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-10{
    margin-left: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-12{
    margin-top: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-12{
    margin-right: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-12{
    margin-bottom: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-12{
    margin-left: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-14{
    margin-top: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-14{
    margin-right: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-14{
    margin-bottom: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-14{
    margin-left: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-16{
    margin-top: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-16{
    margin-right: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-16{
    margin-bottom: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-16{
    margin-left: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-20{
    margin-top: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-20{
    margin-right: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-20{
    margin-bottom: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-20{
    margin-left: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-24{
    margin-top: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-24{
    margin-right: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-24{
    margin-bottom: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-24{
    margin-left: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-32{
    margin-top: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-32{
    margin-right: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-32{
    margin-bottom: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-32{
    margin-left: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-40{
    margin-top: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-40{
    margin-right: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-40{
    margin-bottom: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-40{
    margin-left: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-48{
    margin-top: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-48{
    margin-right: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-48{
    margin-bottom: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-48{
    margin-left: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-56{
    margin-top: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-56{
    margin-right: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-56{
    margin-bottom: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-56{
    margin-left: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-64{
    margin-top: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:mr-64{
    margin-right: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:mb-64{
    margin-bottom: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:ml-64{
    margin-left: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:mt-auto{
    margin-top: auto;
  }

  :root [dir=ltr] .lg\:ltr\:mr-auto{
    margin-right: auto;
  }

  :root [dir=ltr] .lg\:ltr\:mb-auto{
    margin-bottom: auto;
  }

  :root [dir=ltr] .lg\:ltr\:ml-auto{
    margin-left: auto;
  }

  :root [dir=ltr] .lg\:ltr\:mt-px{
    margin-top: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:mr-px{
    margin-right: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:mb-px{
    margin-bottom: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:ml-px{
    margin-left: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:mt-gutter{
    margin-top: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:mr-gutter{
    margin-right: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:mb-gutter{
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:ml-gutter{
    margin-left: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:-mt-1{
    margin-top: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-1{
    margin-right: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-1{
    margin-bottom: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-1{
    margin-left: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-2{
    margin-top: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-2{
    margin-right: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-2{
    margin-bottom: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-2{
    margin-left: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-3{
    margin-top: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-3{
    margin-right: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-3{
    margin-bottom: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-3{
    margin-left: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-4{
    margin-top: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-4{
    margin-right: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-4{
    margin-bottom: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-4{
    margin-left: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-5{
    margin-top: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-5{
    margin-right: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-5{
    margin-bottom: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-5{
    margin-left: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-6{
    margin-top: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-6{
    margin-right: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-6{
    margin-bottom: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-6{
    margin-left: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-8{
    margin-top: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-8{
    margin-right: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-8{
    margin-bottom: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-8{
    margin-left: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-9{
    margin-top: -2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-9{
    margin-right: -2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-9{
    margin-bottom: -2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-9{
    margin-left: -2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-10{
    margin-top: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-10{
    margin-right: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-10{
    margin-bottom: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-10{
    margin-left: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-12{
    margin-top: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-12{
    margin-right: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-12{
    margin-bottom: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-12{
    margin-left: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-14{
    margin-top: -3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-14{
    margin-right: -3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-14{
    margin-bottom: -3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-14{
    margin-left: -3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-16{
    margin-top: -4rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-16{
    margin-right: -4rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-16{
    margin-bottom: -4rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-16{
    margin-left: -4rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-20{
    margin-top: -5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-20{
    margin-right: -5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-20{
    margin-bottom: -5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-20{
    margin-left: -5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-24{
    margin-top: -6rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-24{
    margin-right: -6rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-24{
    margin-bottom: -6rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-24{
    margin-left: -6rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-32{
    margin-top: -8rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-32{
    margin-right: -8rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-32{
    margin-bottom: -8rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-32{
    margin-left: -8rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-40{
    margin-top: -10rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-40{
    margin-right: -10rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-40{
    margin-bottom: -10rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-40{
    margin-left: -10rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-48{
    margin-top: -12rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-48{
    margin-right: -12rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-48{
    margin-bottom: -12rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-48{
    margin-left: -12rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-56{
    margin-top: -14rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-56{
    margin-right: -14rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-56{
    margin-bottom: -14rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-56{
    margin-left: -14rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-64{
    margin-top: -16rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-64{
    margin-right: -16rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-64{
    margin-bottom: -16rem;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-64{
    margin-left: -16rem;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-px{
    margin-top: -1px;
  }

  :root [dir=ltr] .lg\:ltr\:-mr-px{
    margin-right: -1px;
  }

  :root [dir=ltr] .lg\:ltr\:-mb-px{
    margin-bottom: -1px;
  }

  :root [dir=ltr] .lg\:ltr\:-ml-px{
    margin-left: -1px;
  }

  :root [dir=ltr] .lg\:ltr\:-mt-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .lg\:ltr\:-mr-gutter{
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .lg\:ltr\:-mb-gutter{
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=ltr] .lg\:ltr\:-ml-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .lg\:rtl\:m-0{
    margin: 0;
  }

  :root [dir=rtl] .lg\:rtl\:m-1{
    margin: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-2{
    margin: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-3{
    margin: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-4{
    margin: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-5{
    margin: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-6{
    margin: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-8{
    margin: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-9{
    margin: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-10{
    margin: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-12{
    margin: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-14{
    margin: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-16{
    margin: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-20{
    margin: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-24{
    margin: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-32{
    margin: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-40{
    margin: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-48{
    margin: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-56{
    margin: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-64{
    margin: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:m-auto{
    margin: auto;
  }

  :root [dir=rtl] .lg\:rtl\:m-px{
    margin: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:m-gutter{
    margin: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:-m-1{
    margin: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-2{
    margin: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-3{
    margin: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-4{
    margin: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-5{
    margin: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-6{
    margin: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-8{
    margin: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-9{
    margin: -2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-10{
    margin: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-12{
    margin: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-14{
    margin: -3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-16{
    margin: -4rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-20{
    margin: -5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-24{
    margin: -6rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-32{
    margin: -8rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-40{
    margin: -10rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-48{
    margin: -12rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-56{
    margin: -14rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-64{
    margin: -16rem;
  }

  :root [dir=rtl] .lg\:rtl\:-m-px{
    margin: -1px;
  }

  :root [dir=rtl] .lg\:rtl\:-m-gutter{
    margin: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .lg\:rtl\:my-0{
    margin-top: 0;
    margin-bottom: 0;
  }

  :root [dir=rtl] .lg\:rtl\:mx-0{
    margin-left: 0;
    margin-right: 0;
  }

  :root [dir=rtl] .lg\:rtl\:my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-4{
    margin-left: 1rem;
    margin-right: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-5{
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-8{
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-8{
    margin-left: 2rem;
    margin-right: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-9{
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-9{
    margin-left: 2.25rem;
    margin-right: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-10{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-10{
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-12{
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-12{
    margin-left: 3rem;
    margin-right: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-14{
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-14{
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-16{
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-16{
    margin-left: 4rem;
    margin-right: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-20{
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-20{
    margin-left: 5rem;
    margin-right: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-24{
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-24{
    margin-left: 6rem;
    margin-right: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-32{
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-32{
    margin-left: 8rem;
    margin-right: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-40{
    margin-top: 10rem;
    margin-bottom: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-40{
    margin-left: 10rem;
    margin-right: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-48{
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-48{
    margin-left: 12rem;
    margin-right: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-56{
    margin-top: 14rem;
    margin-bottom: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-56{
    margin-left: 14rem;
    margin-right: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-64{
    margin-top: 16rem;
    margin-bottom: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:mx-64{
    margin-left: 16rem;
    margin-right: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }

  :root [dir=rtl] .lg\:rtl\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

  :root [dir=rtl] .lg\:rtl\:my-px{
    margin-top: 1px;
    margin-bottom: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:mx-px{
    margin-left: 1px;
    margin-right: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:my-gutter{
    margin-top: var(--padding-gutter);
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:mx-gutter{
    margin-left: var(--padding-gutter);
    margin-right: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:-my-1{
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-2{
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-3{
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-3{
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-4{
    margin-top: -1rem;
    margin-bottom: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-4{
    margin-left: -1rem;
    margin-right: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-5{
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-6{
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-6{
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-8{
    margin-top: -2rem;
    margin-bottom: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-8{
    margin-left: -2rem;
    margin-right: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-9{
    margin-top: -2.25rem;
    margin-bottom: -2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-9{
    margin-left: -2.25rem;
    margin-right: -2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-10{
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-10{
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-12{
    margin-top: -3rem;
    margin-bottom: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-12{
    margin-left: -3rem;
    margin-right: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-14{
    margin-top: -3.5rem;
    margin-bottom: -3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-14{
    margin-left: -3.5rem;
    margin-right: -3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-16{
    margin-top: -4rem;
    margin-bottom: -4rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-16{
    margin-left: -4rem;
    margin-right: -4rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-20{
    margin-top: -5rem;
    margin-bottom: -5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-20{
    margin-left: -5rem;
    margin-right: -5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-24{
    margin-top: -6rem;
    margin-bottom: -6rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-24{
    margin-left: -6rem;
    margin-right: -6rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-32{
    margin-top: -8rem;
    margin-bottom: -8rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-32{
    margin-left: -8rem;
    margin-right: -8rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-40{
    margin-top: -10rem;
    margin-bottom: -10rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-40{
    margin-left: -10rem;
    margin-right: -10rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-48{
    margin-top: -12rem;
    margin-bottom: -12rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-48{
    margin-left: -12rem;
    margin-right: -12rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-56{
    margin-top: -14rem;
    margin-bottom: -14rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-56{
    margin-left: -14rem;
    margin-right: -14rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-64{
    margin-top: -16rem;
    margin-bottom: -16rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-64{
    margin-left: -16rem;
    margin-right: -16rem;
  }

  :root [dir=rtl] .lg\:rtl\:-my-px{
    margin-top: -1px;
    margin-bottom: -1px;
  }

  :root [dir=rtl] .lg\:rtl\:-mx-px{
    margin-left: -1px;
    margin-right: -1px;
  }

  :root [dir=rtl] .lg\:rtl\:-my-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .lg\:rtl\:-mx-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .lg\:rtl\:mt-0{
    margin-top: 0;
  }

  :root [dir=rtl] .lg\:rtl\:mr-0{
    margin-right: 0;
  }

  :root [dir=rtl] .lg\:rtl\:mb-0{
    margin-bottom: 0;
  }

  :root [dir=rtl] .lg\:rtl\:ml-0{
    margin-left: 0;
  }

  :root [dir=rtl] .lg\:rtl\:mt-1{
    margin-top: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-1{
    margin-right: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-1{
    margin-bottom: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-1{
    margin-left: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-2{
    margin-top: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-2{
    margin-right: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-2{
    margin-bottom: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-2{
    margin-left: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-3{
    margin-top: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-3{
    margin-right: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-3{
    margin-bottom: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-3{
    margin-left: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-4{
    margin-top: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-4{
    margin-right: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-4{
    margin-bottom: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-4{
    margin-left: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-5{
    margin-top: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-5{
    margin-right: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-5{
    margin-bottom: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-5{
    margin-left: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-6{
    margin-top: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-6{
    margin-right: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-6{
    margin-bottom: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-6{
    margin-left: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-8{
    margin-top: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-8{
    margin-right: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-8{
    margin-bottom: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-8{
    margin-left: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-9{
    margin-top: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-9{
    margin-right: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-9{
    margin-bottom: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-9{
    margin-left: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-10{
    margin-top: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-10{
    margin-right: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-10{
    margin-bottom: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-10{
    margin-left: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-12{
    margin-top: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-12{
    margin-right: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-12{
    margin-bottom: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-12{
    margin-left: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-14{
    margin-top: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-14{
    margin-right: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-14{
    margin-bottom: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-14{
    margin-left: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-16{
    margin-top: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-16{
    margin-right: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-16{
    margin-bottom: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-16{
    margin-left: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-20{
    margin-top: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-20{
    margin-right: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-20{
    margin-bottom: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-20{
    margin-left: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-24{
    margin-top: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-24{
    margin-right: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-24{
    margin-bottom: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-24{
    margin-left: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-32{
    margin-top: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-32{
    margin-right: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-32{
    margin-bottom: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-32{
    margin-left: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-40{
    margin-top: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-40{
    margin-right: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-40{
    margin-bottom: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-40{
    margin-left: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-48{
    margin-top: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-48{
    margin-right: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-48{
    margin-bottom: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-48{
    margin-left: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-56{
    margin-top: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-56{
    margin-right: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-56{
    margin-bottom: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-56{
    margin-left: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-64{
    margin-top: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:mr-64{
    margin-right: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:mb-64{
    margin-bottom: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:ml-64{
    margin-left: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:mt-auto{
    margin-top: auto;
  }

  :root [dir=rtl] .lg\:rtl\:mr-auto{
    margin-right: auto;
  }

  :root [dir=rtl] .lg\:rtl\:mb-auto{
    margin-bottom: auto;
  }

  :root [dir=rtl] .lg\:rtl\:ml-auto{
    margin-left: auto;
  }

  :root [dir=rtl] .lg\:rtl\:mt-px{
    margin-top: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:mr-px{
    margin-right: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:mb-px{
    margin-bottom: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:ml-px{
    margin-left: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:mt-gutter{
    margin-top: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:mr-gutter{
    margin-right: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:mb-gutter{
    margin-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:ml-gutter{
    margin-left: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:-mt-1{
    margin-top: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-1{
    margin-right: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-1{
    margin-bottom: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-1{
    margin-left: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-2{
    margin-top: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-2{
    margin-right: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-2{
    margin-bottom: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-2{
    margin-left: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-3{
    margin-top: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-3{
    margin-right: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-3{
    margin-bottom: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-3{
    margin-left: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-4{
    margin-top: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-4{
    margin-right: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-4{
    margin-bottom: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-4{
    margin-left: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-5{
    margin-top: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-5{
    margin-right: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-5{
    margin-bottom: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-5{
    margin-left: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-6{
    margin-top: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-6{
    margin-right: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-6{
    margin-bottom: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-6{
    margin-left: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-8{
    margin-top: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-8{
    margin-right: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-8{
    margin-bottom: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-8{
    margin-left: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-9{
    margin-top: -2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-9{
    margin-right: -2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-9{
    margin-bottom: -2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-9{
    margin-left: -2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-10{
    margin-top: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-10{
    margin-right: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-10{
    margin-bottom: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-10{
    margin-left: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-12{
    margin-top: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-12{
    margin-right: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-12{
    margin-bottom: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-12{
    margin-left: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-14{
    margin-top: -3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-14{
    margin-right: -3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-14{
    margin-bottom: -3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-14{
    margin-left: -3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-16{
    margin-top: -4rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-16{
    margin-right: -4rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-16{
    margin-bottom: -4rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-16{
    margin-left: -4rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-20{
    margin-top: -5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-20{
    margin-right: -5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-20{
    margin-bottom: -5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-20{
    margin-left: -5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-24{
    margin-top: -6rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-24{
    margin-right: -6rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-24{
    margin-bottom: -6rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-24{
    margin-left: -6rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-32{
    margin-top: -8rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-32{
    margin-right: -8rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-32{
    margin-bottom: -8rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-32{
    margin-left: -8rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-40{
    margin-top: -10rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-40{
    margin-right: -10rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-40{
    margin-bottom: -10rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-40{
    margin-left: -10rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-48{
    margin-top: -12rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-48{
    margin-right: -12rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-48{
    margin-bottom: -12rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-48{
    margin-left: -12rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-56{
    margin-top: -14rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-56{
    margin-right: -14rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-56{
    margin-bottom: -14rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-56{
    margin-left: -14rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-64{
    margin-top: -16rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-64{
    margin-right: -16rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-64{
    margin-bottom: -16rem;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-64{
    margin-left: -16rem;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-px{
    margin-top: -1px;
  }

  :root [dir=rtl] .lg\:rtl\:-mr-px{
    margin-right: -1px;
  }

  :root [dir=rtl] .lg\:rtl\:-mb-px{
    margin-bottom: -1px;
  }

  :root [dir=rtl] .lg\:rtl\:-ml-px{
    margin-left: -1px;
  }

  :root [dir=rtl] .lg\:rtl\:-mt-gutter{
    margin-top: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .lg\:rtl\:-mr-gutter{
    margin-right: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .lg\:rtl\:-mb-gutter{
    margin-bottom: calc(var(--padding-gutter) * -1);
  }

  :root [dir=rtl] .lg\:rtl\:-ml-gutter{
    margin-left: calc(var(--padding-gutter) * -1);
  }

  :root .lg\:max-h-full{
    max-height: 100%;
  }

  :root .lg\:max-h-screen{
    max-height: 100vh;
  }

  :root .lg\:max-w-unset{
    max-width: unset;
  }

  :root .lg\:max-w-xxxs{
    max-width: 16rem;
  }

  :root .lg\:max-w-xxs{
    max-width: 18rem;
  }

  :root .lg\:max-w-xs{
    max-width: 20rem;
  }

  :root .lg\:max-w-sm{
    max-width: 24rem;
  }

  :root .lg\:max-w-md{
    max-width: 28rem;
  }

  :root .lg\:max-w-lg{
    max-width: 32rem;
  }

  :root .lg\:max-w-xl{
    max-width: 36rem;
  }

  :root .lg\:max-w-2xl{
    max-width: 42rem;
  }

  :root .lg\:max-w-3xl{
    max-width: 48rem;
  }

  :root .lg\:max-w-4xl{
    max-width: 56rem;
  }

  :root .lg\:max-w-5xl{
    max-width: 64rem;
  }

  :root .lg\:max-w-6xl{
    max-width: 72rem;
  }

  :root .lg\:max-w-full{
    max-width: 100%;
  }

  :root .lg\:min-h-0{
    min-height: 0;
  }

  :root .lg\:min-h-full{
    min-height: 100%;
  }

  :root .lg\:min-h-screen{
    min-height: 100vh;
  }

  :root .lg\:min-w-0{
    min-width: 0;
  }

  :root .lg\:min-w-1{
    min-width: 0.25rem;
  }

  :root .lg\:min-w-2{
    min-width: 0.5rem;
  }

  :root .lg\:min-w-3{
    min-width: 0.75rem;
  }

  :root .lg\:min-w-4{
    min-width: 1rem;
  }

  :root .lg\:min-w-5{
    min-width: 1.25rem;
  }

  :root .lg\:min-w-6{
    min-width: 1.5rem;
  }

  :root .lg\:min-w-8{
    min-width: 2rem;
  }

  :root .lg\:min-w-9{
    min-width: 2.25rem;
  }

  :root .lg\:min-w-10{
    min-width: 2.5rem;
  }

  :root .lg\:min-w-12{
    min-width: 3rem;
  }

  :root .lg\:min-w-14{
    min-width: 3.5rem;
  }

  :root .lg\:min-w-16{
    min-width: 4rem;
  }

  :root .lg\:min-w-20{
    min-width: 5rem;
  }

  :root .lg\:min-w-24{
    min-width: 6rem;
  }

  :root .lg\:min-w-32{
    min-width: 8rem;
  }

  :root .lg\:min-w-40{
    min-width: 10rem;
  }

  :root .lg\:min-w-48{
    min-width: 12rem;
  }

  :root .lg\:min-w-56{
    min-width: 14rem;
  }

  :root .lg\:min-w-64{
    min-width: 16rem;
  }

  :root .lg\:min-w-full{
    min-width: 100%;
  }

  :root .lg\:min-w-px{
    min-width: 1px;
  }

  :root .lg\:min-w-gutter{
    min-width: var(--padding-gutter);
  }

  :root .lg\:object-contain{
    -o-object-fit: contain;
       object-fit: contain;
  }

  :root .lg\:object-cover{
    -o-object-fit: cover;
       object-fit: cover;
  }

  :root .lg\:object-fill{
    -o-object-fit: fill;
       object-fit: fill;
  }

  :root .lg\:object-none{
    -o-object-fit: none;
       object-fit: none;
  }

  :root .lg\:object-scale-down{
    -o-object-fit: scale-down;
       object-fit: scale-down;
  }

  :root .lg\:object-bottom{
    -o-object-position: bottom;
       object-position: bottom;
  }

  :root .lg\:object-center{
    -o-object-position: center;
       object-position: center;
  }

  :root .lg\:object-left{
    -o-object-position: left;
       object-position: left;
  }

  :root .lg\:object-left-bottom{
    -o-object-position: left bottom;
       object-position: left bottom;
  }

  :root .lg\:object-left-top{
    -o-object-position: left top;
       object-position: left top;
  }

  :root .lg\:object-right{
    -o-object-position: right;
       object-position: right;
  }

  :root .lg\:object-right-bottom{
    -o-object-position: right bottom;
       object-position: right bottom;
  }

  :root .lg\:object-right-top{
    -o-object-position: right top;
       object-position: right top;
  }

  :root .lg\:object-top{
    -o-object-position: top;
       object-position: top;
  }

  :root .lg\:opacity-0{
    opacity: 0;
  }

  :root .lg\:opacity-25{
    opacity: 0.25;
  }

  :root .lg\:opacity-50{
    opacity: 0.5;
  }

  :root .lg\:opacity-75{
    opacity: 0.75;
  }

  :root .lg\:opacity-100{
    opacity: 1;
  }

  :root .lg\:hover\:opacity-0:hover{
    opacity: 0;
  }

  :root .lg\:hover\:opacity-25:hover{
    opacity: 0.25;
  }

  :root .lg\:hover\:opacity-50:hover{
    opacity: 0.5;
  }

  :root .lg\:hover\:opacity-75:hover{
    opacity: 0.75;
  }

  :root .lg\:hover\:opacity-100:hover{
    opacity: 1;
  }

  :root .lg\:focus\:opacity-0:focus{
    opacity: 0;
  }

  :root .lg\:focus\:opacity-25:focus{
    opacity: 0.25;
  }

  :root .lg\:focus\:opacity-50:focus{
    opacity: 0.5;
  }

  :root .lg\:focus\:opacity-75:focus{
    opacity: 0.75;
  }

  :root .lg\:focus\:opacity-100:focus{
    opacity: 1;
  }

  :root .lg\:outline-none{
    outline: 2px solid transparent;
    outline-offset: 2px;
  }

  :root .lg\:outline-white{
    outline: 2px dotted white;
    outline-offset: 2px;
  }

  :root .lg\:outline-black{
    outline: 2px dotted black;
    outline-offset: 2px;
  }

  :root .lg\:focus\:outline-none:focus{
    outline: 2px solid transparent;
    outline-offset: 2px;
  }

  :root .lg\:focus\:outline-white:focus{
    outline: 2px dotted white;
    outline-offset: 2px;
  }

  :root .lg\:focus\:outline-black:focus{
    outline: 2px dotted black;
    outline-offset: 2px;
  }

  :root .lg\:overflow-auto{
    overflow: auto;
  }

  :root .lg\:overflow-hidden{
    overflow: hidden;
  }

  :root .lg\:overflow-visible{
    overflow: visible;
  }

  :root .lg\:overflow-scroll{
    overflow: scroll;
  }

  :root .lg\:overflow-x-auto{
    overflow-x: auto;
  }

  :root .lg\:overflow-y-auto{
    overflow-y: auto;
  }

  :root .lg\:overflow-x-hidden{
    overflow-x: hidden;
  }

  :root .lg\:overflow-y-hidden{
    overflow-y: hidden;
  }

  :root .lg\:overflow-x-visible{
    overflow-x: visible;
  }

  :root .lg\:overflow-y-visible{
    overflow-y: visible;
  }

  :root .lg\:overflow-x-scroll{
    overflow-x: scroll;
  }

  :root .lg\:overflow-y-scroll{
    overflow-y: scroll;
  }

  :root .lg\:overscroll-auto{
    overscroll-behavior: auto;
  }

  :root .lg\:overscroll-contain{
    overscroll-behavior: contain;
  }

  :root .lg\:overscroll-none{
    overscroll-behavior: none;
  }

  :root .lg\:overscroll-y-auto{
    overscroll-behavior-y: auto;
  }

  :root .lg\:overscroll-y-contain{
    overscroll-behavior-y: contain;
  }

  :root .lg\:overscroll-y-none{
    overscroll-behavior-y: none;
  }

  :root .lg\:overscroll-x-auto{
    overscroll-behavior-x: auto;
  }

  :root .lg\:overscroll-x-contain{
    overscroll-behavior-x: contain;
  }

  :root .lg\:overscroll-x-none{
    overscroll-behavior-x: none;
  }

  :root .lg\:p-0{
    padding: 0;
  }

  :root .lg\:p-1{
    padding: 0.25rem;
  }

  :root .lg\:p-2{
    padding: 0.5rem;
  }

  :root .lg\:p-3{
    padding: 0.75rem;
  }

  :root .lg\:p-4{
    padding: 1rem;
  }

  :root .lg\:p-5{
    padding: 1.25rem;
  }

  :root .lg\:p-6{
    padding: 1.5rem;
  }

  :root .lg\:p-8{
    padding: 2rem;
  }

  :root .lg\:p-9{
    padding: 2.25rem;
  }

  :root .lg\:p-10{
    padding: 2.5rem;
  }

  :root .lg\:p-12{
    padding: 3rem;
  }

  :root .lg\:p-14{
    padding: 3.5rem;
  }

  :root .lg\:p-16{
    padding: 4rem;
  }

  :root .lg\:p-20{
    padding: 5rem;
  }

  :root .lg\:p-24{
    padding: 6rem;
  }

  :root .lg\:p-32{
    padding: 8rem;
  }

  :root .lg\:p-40{
    padding: 10rem;
  }

  :root .lg\:p-48{
    padding: 12rem;
  }

  :root .lg\:p-56{
    padding: 14rem;
  }

  :root .lg\:p-64{
    padding: 16rem;
  }

  :root .lg\:p-px{
    padding: 1px;
  }

  :root .lg\:p-gutter{
    padding: var(--padding-gutter);
  }

  :root .lg\:py-0{
    padding-top: 0;
    padding-bottom: 0;
  }

  :root .lg\:px-0{
    padding-left: 0;
    padding-right: 0;
  }

  :root .lg\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  :root .lg\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  :root .lg\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  :root .lg\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  :root .lg\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  :root .lg\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  :root .lg\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  :root .lg\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  :root .lg\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  :root .lg\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  :root .lg\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  :root .lg\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  :root .lg\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  :root .lg\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  :root .lg\:py-9{
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  :root .lg\:px-9{
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  :root .lg\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  :root .lg\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  :root .lg\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  :root .lg\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  :root .lg\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  :root .lg\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  :root .lg\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  :root .lg\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  :root .lg\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  :root .lg\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  :root .lg\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  :root .lg\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  :root .lg\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  :root .lg\:px-32{
    padding-left: 8rem;
    padding-right: 8rem;
  }

  :root .lg\:py-40{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  :root .lg\:px-40{
    padding-left: 10rem;
    padding-right: 10rem;
  }

  :root .lg\:py-48{
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  :root .lg\:px-48{
    padding-left: 12rem;
    padding-right: 12rem;
  }

  :root .lg\:py-56{
    padding-top: 14rem;
    padding-bottom: 14rem;
  }

  :root .lg\:px-56{
    padding-left: 14rem;
    padding-right: 14rem;
  }

  :root .lg\:py-64{
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  :root .lg\:px-64{
    padding-left: 16rem;
    padding-right: 16rem;
  }

  :root .lg\:py-px{
    padding-top: 1px;
    padding-bottom: 1px;
  }

  :root .lg\:px-px{
    padding-left: 1px;
    padding-right: 1px;
  }

  :root .lg\:py-gutter{
    padding-top: var(--padding-gutter);
    padding-bottom: var(--padding-gutter);
  }

  :root .lg\:px-gutter{
    padding-left: var(--padding-gutter);
    padding-right: var(--padding-gutter);
  }

  :root .lg\:pt-0{
    padding-top: 0;
  }

  :root .lg\:pr-0{
    padding-right: 0;
  }

  :root .lg\:pb-0{
    padding-bottom: 0;
  }

  :root .lg\:pl-0{
    padding-left: 0;
  }

  :root .lg\:pt-1{
    padding-top: 0.25rem;
  }

  :root .lg\:pr-1{
    padding-right: 0.25rem;
  }

  :root .lg\:pb-1{
    padding-bottom: 0.25rem;
  }

  :root .lg\:pl-1{
    padding-left: 0.25rem;
  }

  :root .lg\:pt-2{
    padding-top: 0.5rem;
  }

  :root .lg\:pr-2{
    padding-right: 0.5rem;
  }

  :root .lg\:pb-2{
    padding-bottom: 0.5rem;
  }

  :root .lg\:pl-2{
    padding-left: 0.5rem;
  }

  :root .lg\:pt-3{
    padding-top: 0.75rem;
  }

  :root .lg\:pr-3{
    padding-right: 0.75rem;
  }

  :root .lg\:pb-3{
    padding-bottom: 0.75rem;
  }

  :root .lg\:pl-3{
    padding-left: 0.75rem;
  }

  :root .lg\:pt-4{
    padding-top: 1rem;
  }

  :root .lg\:pr-4{
    padding-right: 1rem;
  }

  :root .lg\:pb-4{
    padding-bottom: 1rem;
  }

  :root .lg\:pl-4{
    padding-left: 1rem;
  }

  :root .lg\:pt-5{
    padding-top: 1.25rem;
  }

  :root .lg\:pr-5{
    padding-right: 1.25rem;
  }

  :root .lg\:pb-5{
    padding-bottom: 1.25rem;
  }

  :root .lg\:pl-5{
    padding-left: 1.25rem;
  }

  :root .lg\:pt-6{
    padding-top: 1.5rem;
  }

  :root .lg\:pr-6{
    padding-right: 1.5rem;
  }

  :root .lg\:pb-6{
    padding-bottom: 1.5rem;
  }

  :root .lg\:pl-6{
    padding-left: 1.5rem;
  }

  :root .lg\:pt-8{
    padding-top: 2rem;
  }

  :root .lg\:pr-8{
    padding-right: 2rem;
  }

  :root .lg\:pb-8{
    padding-bottom: 2rem;
  }

  :root .lg\:pl-8{
    padding-left: 2rem;
  }

  :root .lg\:pt-9{
    padding-top: 2.25rem;
  }

  :root .lg\:pr-9{
    padding-right: 2.25rem;
  }

  :root .lg\:pb-9{
    padding-bottom: 2.25rem;
  }

  :root .lg\:pl-9{
    padding-left: 2.25rem;
  }

  :root .lg\:pt-10{
    padding-top: 2.5rem;
  }

  :root .lg\:pr-10{
    padding-right: 2.5rem;
  }

  :root .lg\:pb-10{
    padding-bottom: 2.5rem;
  }

  :root .lg\:pl-10{
    padding-left: 2.5rem;
  }

  :root .lg\:pt-12{
    padding-top: 3rem;
  }

  :root .lg\:pr-12{
    padding-right: 3rem;
  }

  :root .lg\:pb-12{
    padding-bottom: 3rem;
  }

  :root .lg\:pl-12{
    padding-left: 3rem;
  }

  :root .lg\:pt-14{
    padding-top: 3.5rem;
  }

  :root .lg\:pr-14{
    padding-right: 3.5rem;
  }

  :root .lg\:pb-14{
    padding-bottom: 3.5rem;
  }

  :root .lg\:pl-14{
    padding-left: 3.5rem;
  }

  :root .lg\:pt-16{
    padding-top: 4rem;
  }

  :root .lg\:pr-16{
    padding-right: 4rem;
  }

  :root .lg\:pb-16{
    padding-bottom: 4rem;
  }

  :root .lg\:pl-16{
    padding-left: 4rem;
  }

  :root .lg\:pt-20{
    padding-top: 5rem;
  }

  :root .lg\:pr-20{
    padding-right: 5rem;
  }

  :root .lg\:pb-20{
    padding-bottom: 5rem;
  }

  :root .lg\:pl-20{
    padding-left: 5rem;
  }

  :root .lg\:pt-24{
    padding-top: 6rem;
  }

  :root .lg\:pr-24{
    padding-right: 6rem;
  }

  :root .lg\:pb-24{
    padding-bottom: 6rem;
  }

  :root .lg\:pl-24{
    padding-left: 6rem;
  }

  :root .lg\:pt-32{
    padding-top: 8rem;
  }

  :root .lg\:pr-32{
    padding-right: 8rem;
  }

  :root .lg\:pb-32{
    padding-bottom: 8rem;
  }

  :root .lg\:pl-32{
    padding-left: 8rem;
  }

  :root .lg\:pt-40{
    padding-top: 10rem;
  }

  :root .lg\:pr-40{
    padding-right: 10rem;
  }

  :root .lg\:pb-40{
    padding-bottom: 10rem;
  }

  :root .lg\:pl-40{
    padding-left: 10rem;
  }

  :root .lg\:pt-48{
    padding-top: 12rem;
  }

  :root .lg\:pr-48{
    padding-right: 12rem;
  }

  :root .lg\:pb-48{
    padding-bottom: 12rem;
  }

  :root .lg\:pl-48{
    padding-left: 12rem;
  }

  :root .lg\:pt-56{
    padding-top: 14rem;
  }

  :root .lg\:pr-56{
    padding-right: 14rem;
  }

  :root .lg\:pb-56{
    padding-bottom: 14rem;
  }

  :root .lg\:pl-56{
    padding-left: 14rem;
  }

  :root .lg\:pt-64{
    padding-top: 16rem;
  }

  :root .lg\:pr-64{
    padding-right: 16rem;
  }

  :root .lg\:pb-64{
    padding-bottom: 16rem;
  }

  :root .lg\:pl-64{
    padding-left: 16rem;
  }

  :root .lg\:pt-px{
    padding-top: 1px;
  }

  :root .lg\:pr-px{
    padding-right: 1px;
  }

  :root .lg\:pb-px{
    padding-bottom: 1px;
  }

  :root .lg\:pl-px{
    padding-left: 1px;
  }

  :root .lg\:pt-gutter{
    padding-top: var(--padding-gutter);
  }

  :root .lg\:pr-gutter{
    padding-right: var(--padding-gutter);
  }

  :root .lg\:pb-gutter{
    padding-bottom: var(--padding-gutter);
  }

  :root .lg\:pl-gutter{
    padding-left: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:p-0{
    padding: 0;
  }

  :root [dir=ltr] .lg\:ltr\:p-1{
    padding: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-2{
    padding: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-3{
    padding: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-4{
    padding: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-5{
    padding: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-6{
    padding: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-8{
    padding: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-9{
    padding: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-10{
    padding: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-12{
    padding: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-14{
    padding: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-16{
    padding: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-20{
    padding: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-24{
    padding: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-32{
    padding: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-40{
    padding: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-48{
    padding: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-56{
    padding: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-64{
    padding: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:p-px{
    padding: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:p-gutter{
    padding: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:py-0{
    padding-top: 0;
    padding-bottom: 0;
  }

  :root [dir=ltr] .lg\:ltr\:px-0{
    padding-left: 0;
    padding-right: 0;
  }

  :root [dir=ltr] .lg\:ltr\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-9{
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-9{
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-32{
    padding-left: 8rem;
    padding-right: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-40{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-40{
    padding-left: 10rem;
    padding-right: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-48{
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-48{
    padding-left: 12rem;
    padding-right: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-56{
    padding-top: 14rem;
    padding-bottom: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-56{
    padding-left: 14rem;
    padding-right: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-64{
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:px-64{
    padding-left: 16rem;
    padding-right: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:py-px{
    padding-top: 1px;
    padding-bottom: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:px-px{
    padding-left: 1px;
    padding-right: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:py-gutter{
    padding-top: var(--padding-gutter);
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:px-gutter{
    padding-left: var(--padding-gutter);
    padding-right: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:pt-0{
    padding-top: 0;
  }

  :root [dir=ltr] .lg\:ltr\:pr-0{
    padding-right: 0;
  }

  :root [dir=ltr] .lg\:ltr\:pb-0{
    padding-bottom: 0;
  }

  :root [dir=ltr] .lg\:ltr\:pl-0{
    padding-left: 0;
  }

  :root [dir=ltr] .lg\:ltr\:pt-1{
    padding-top: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-1{
    padding-right: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-1{
    padding-bottom: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-1{
    padding-left: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-2{
    padding-top: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-2{
    padding-right: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-2{
    padding-bottom: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-2{
    padding-left: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-3{
    padding-top: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-3{
    padding-right: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-3{
    padding-bottom: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-3{
    padding-left: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-4{
    padding-top: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-4{
    padding-right: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-4{
    padding-bottom: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-4{
    padding-left: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-5{
    padding-top: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-5{
    padding-right: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-5{
    padding-bottom: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-5{
    padding-left: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-6{
    padding-top: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-6{
    padding-right: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-6{
    padding-bottom: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-6{
    padding-left: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-8{
    padding-top: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-8{
    padding-right: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-8{
    padding-bottom: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-8{
    padding-left: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-9{
    padding-top: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-9{
    padding-right: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-9{
    padding-bottom: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-9{
    padding-left: 2.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-10{
    padding-top: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-10{
    padding-right: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-10{
    padding-bottom: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-10{
    padding-left: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-12{
    padding-top: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-12{
    padding-right: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-12{
    padding-bottom: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-12{
    padding-left: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-14{
    padding-top: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-14{
    padding-right: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-14{
    padding-bottom: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-14{
    padding-left: 3.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-16{
    padding-top: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-16{
    padding-right: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-16{
    padding-bottom: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-16{
    padding-left: 4rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-20{
    padding-top: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-20{
    padding-right: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-20{
    padding-bottom: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-20{
    padding-left: 5rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-24{
    padding-top: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-24{
    padding-right: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-24{
    padding-bottom: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-24{
    padding-left: 6rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-32{
    padding-top: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-32{
    padding-right: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-32{
    padding-bottom: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-32{
    padding-left: 8rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-40{
    padding-top: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-40{
    padding-right: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-40{
    padding-bottom: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-40{
    padding-left: 10rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-48{
    padding-top: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-48{
    padding-right: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-48{
    padding-bottom: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-48{
    padding-left: 12rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-56{
    padding-top: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-56{
    padding-right: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-56{
    padding-bottom: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-56{
    padding-left: 14rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-64{
    padding-top: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:pr-64{
    padding-right: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:pb-64{
    padding-bottom: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:pl-64{
    padding-left: 16rem;
  }

  :root [dir=ltr] .lg\:ltr\:pt-px{
    padding-top: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:pr-px{
    padding-right: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:pb-px{
    padding-bottom: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:pl-px{
    padding-left: 1px;
  }

  :root [dir=ltr] .lg\:ltr\:pt-gutter{
    padding-top: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:pr-gutter{
    padding-right: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:pb-gutter{
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=ltr] .lg\:ltr\:pl-gutter{
    padding-left: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:p-0{
    padding: 0;
  }

  :root [dir=rtl] .lg\:rtl\:p-1{
    padding: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-2{
    padding: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-3{
    padding: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-4{
    padding: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-5{
    padding: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-6{
    padding: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-8{
    padding: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-9{
    padding: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-10{
    padding: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-12{
    padding: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-14{
    padding: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-16{
    padding: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-20{
    padding: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-24{
    padding: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-32{
    padding: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-40{
    padding: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-48{
    padding: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-56{
    padding: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-64{
    padding: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:p-px{
    padding: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:p-gutter{
    padding: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:py-0{
    padding-top: 0;
    padding-bottom: 0;
  }

  :root [dir=rtl] .lg\:rtl\:px-0{
    padding-left: 0;
    padding-right: 0;
  }

  :root [dir=rtl] .lg\:rtl\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-9{
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-9{
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-32{
    padding-left: 8rem;
    padding-right: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-40{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-40{
    padding-left: 10rem;
    padding-right: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-48{
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-48{
    padding-left: 12rem;
    padding-right: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-56{
    padding-top: 14rem;
    padding-bottom: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-56{
    padding-left: 14rem;
    padding-right: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-64{
    padding-top: 16rem;
    padding-bottom: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:px-64{
    padding-left: 16rem;
    padding-right: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:py-px{
    padding-top: 1px;
    padding-bottom: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:px-px{
    padding-left: 1px;
    padding-right: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:py-gutter{
    padding-top: var(--padding-gutter);
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:px-gutter{
    padding-left: var(--padding-gutter);
    padding-right: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:pt-0{
    padding-top: 0;
  }

  :root [dir=rtl] .lg\:rtl\:pr-0{
    padding-right: 0;
  }

  :root [dir=rtl] .lg\:rtl\:pb-0{
    padding-bottom: 0;
  }

  :root [dir=rtl] .lg\:rtl\:pl-0{
    padding-left: 0;
  }

  :root [dir=rtl] .lg\:rtl\:pt-1{
    padding-top: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-1{
    padding-right: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-1{
    padding-bottom: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-1{
    padding-left: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-2{
    padding-top: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-2{
    padding-right: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-2{
    padding-bottom: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-2{
    padding-left: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-3{
    padding-top: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-3{
    padding-right: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-3{
    padding-bottom: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-3{
    padding-left: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-4{
    padding-top: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-4{
    padding-right: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-4{
    padding-bottom: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-4{
    padding-left: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-5{
    padding-top: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-5{
    padding-right: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-5{
    padding-bottom: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-5{
    padding-left: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-6{
    padding-top: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-6{
    padding-right: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-6{
    padding-bottom: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-6{
    padding-left: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-8{
    padding-top: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-8{
    padding-right: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-8{
    padding-bottom: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-8{
    padding-left: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-9{
    padding-top: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-9{
    padding-right: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-9{
    padding-bottom: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-9{
    padding-left: 2.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-10{
    padding-top: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-10{
    padding-right: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-10{
    padding-bottom: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-10{
    padding-left: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-12{
    padding-top: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-12{
    padding-right: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-12{
    padding-bottom: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-12{
    padding-left: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-14{
    padding-top: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-14{
    padding-right: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-14{
    padding-bottom: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-14{
    padding-left: 3.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-16{
    padding-top: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-16{
    padding-right: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-16{
    padding-bottom: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-16{
    padding-left: 4rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-20{
    padding-top: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-20{
    padding-right: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-20{
    padding-bottom: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-20{
    padding-left: 5rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-24{
    padding-top: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-24{
    padding-right: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-24{
    padding-bottom: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-24{
    padding-left: 6rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-32{
    padding-top: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-32{
    padding-right: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-32{
    padding-bottom: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-32{
    padding-left: 8rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-40{
    padding-top: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-40{
    padding-right: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-40{
    padding-bottom: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-40{
    padding-left: 10rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-48{
    padding-top: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-48{
    padding-right: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-48{
    padding-bottom: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-48{
    padding-left: 12rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-56{
    padding-top: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-56{
    padding-right: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-56{
    padding-bottom: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-56{
    padding-left: 14rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-64{
    padding-top: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:pr-64{
    padding-right: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:pb-64{
    padding-bottom: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:pl-64{
    padding-left: 16rem;
  }

  :root [dir=rtl] .lg\:rtl\:pt-px{
    padding-top: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:pr-px{
    padding-right: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:pb-px{
    padding-bottom: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:pl-px{
    padding-left: 1px;
  }

  :root [dir=rtl] .lg\:rtl\:pt-gutter{
    padding-top: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:pr-gutter{
    padding-right: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:pb-gutter{
    padding-bottom: var(--padding-gutter);
  }

  :root [dir=rtl] .lg\:rtl\:pl-gutter{
    padding-left: var(--padding-gutter);
  }

  :root .lg\:placeholder-current::-moz-placeholder{
    color: currentColor;
  }

  :root .lg\:placeholder-current::placeholder{
    color: currentColor;
  }

  :root .lg\:placeholder-transparent::-moz-placeholder{
    color: transparent;
  }

  :root .lg\:placeholder-transparent::placeholder{
    color: transparent;
  }

  :root .lg\:placeholder-black::-moz-placeholder{
    color: var(--text-color);
  }

  :root .lg\:placeholder-black::placeholder{
    color: var(--text-color);
  }

  :root .lg\:placeholder-white::-moz-placeholder{
    color: var(--text-color-light);
  }

  :root .lg\:placeholder-white::placeholder{
    color: var(--text-color-light);
  }

  :root .lg\:placeholder-contrast-black::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-contrast-black::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-contrast-white::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-contrast-white::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-gray-light::-moz-placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:placeholder-gray-light::placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:placeholder-gray::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-gray::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-red-light::-moz-placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:placeholder-red-light::placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:placeholder-red::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-red::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-orange-light::-moz-placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:placeholder-orange-light::placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:placeholder-orange::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-orange::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-deep-orange-light::-moz-placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:placeholder-deep-orange-light::placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:placeholder-deep-orange::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-deep-orange::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-amber-light::-moz-placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:placeholder-amber-light::placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:placeholder-amber::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-amber::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-green-light::-moz-placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:placeholder-green-light::placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:placeholder-green::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-green::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-teal-light::-moz-placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:placeholder-teal-light::placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:placeholder-teal::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-teal::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-cyan-light::-moz-placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:placeholder-cyan-light::placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:placeholder-cyan::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-cyan::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-purple-light::-moz-placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:placeholder-purple-light::placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:placeholder-purple::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-purple::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-deep-purple-light::-moz-placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:placeholder-deep-purple-light::placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:placeholder-deep-purple::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-deep-purple::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-pink-light::-moz-placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:placeholder-pink-light::placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:placeholder-pink::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-pink::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .lg\:placeholder-primary-light::-moz-placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .lg\:placeholder-primary-light::placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .lg\:placeholder-primary::-moz-placeholder{
    color: rgb(var(--color-primary));
  }

  :root .lg\:placeholder-primary::placeholder{
    color: rgb(var(--color-primary));
  }

  :root .lg\:placeholder-accent-light::-moz-placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .lg\:placeholder-accent-light::placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .lg\:placeholder-accent::-moz-placeholder{
    color: rgb(var(--color-accent));
  }

  :root .lg\:placeholder-accent::placeholder{
    color: rgb(var(--color-accent));
  }

  :root .lg\:placeholder-warn-light::-moz-placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .lg\:placeholder-warn-light::placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .lg\:placeholder-warn::-moz-placeholder{
    color: rgb(var(--color-warn));
  }

  :root .lg\:placeholder-warn::placeholder{
    color: rgb(var(--color-warn));
  }

  :root .lg\:focus\:placeholder-current:focus::-moz-placeholder{
    color: currentColor;
  }

  :root .lg\:focus\:placeholder-current:focus::placeholder{
    color: currentColor;
  }

  :root .lg\:focus\:placeholder-transparent:focus::-moz-placeholder{
    color: transparent;
  }

  :root .lg\:focus\:placeholder-transparent:focus::placeholder{
    color: transparent;
  }

  :root .lg\:focus\:placeholder-black:focus::-moz-placeholder{
    color: var(--text-color);
  }

  :root .lg\:focus\:placeholder-black:focus::placeholder{
    color: var(--text-color);
  }

  :root .lg\:focus\:placeholder-white:focus::-moz-placeholder{
    color: var(--text-color-light);
  }

  :root .lg\:focus\:placeholder-white:focus::placeholder{
    color: var(--text-color-light);
  }

  :root .lg\:focus\:placeholder-contrast-black:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-contrast-black:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-contrast-white:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-contrast-white:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-gray-light:focus::-moz-placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:focus\:placeholder-gray-light:focus::placeholder{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:focus\:placeholder-gray:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-gray:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-red-light:focus::-moz-placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:focus\:placeholder-red-light:focus::placeholder{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:focus\:placeholder-red:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-red:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-orange-light:focus::-moz-placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:focus\:placeholder-orange-light:focus::placeholder{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:focus\:placeholder-orange:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-orange:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-deep-orange-light:focus::-moz-placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:focus\:placeholder-deep-orange-light:focus::placeholder{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:focus\:placeholder-deep-orange:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-deep-orange:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-amber-light:focus::-moz-placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:focus\:placeholder-amber-light:focus::placeholder{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:focus\:placeholder-amber:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-amber:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-green-light:focus::-moz-placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:focus\:placeholder-green-light:focus::placeholder{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:focus\:placeholder-green:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-green:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-teal-light:focus::-moz-placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:focus\:placeholder-teal-light:focus::placeholder{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:focus\:placeholder-teal:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-teal:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-cyan-light:focus::-moz-placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:focus\:placeholder-cyan-light:focus::placeholder{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:focus\:placeholder-cyan:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-cyan:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-purple-light:focus::-moz-placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:focus\:placeholder-purple-light:focus::placeholder{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:focus\:placeholder-purple:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-purple:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-deep-purple-light:focus::-moz-placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:focus\:placeholder-deep-purple-light:focus::placeholder{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:focus\:placeholder-deep-purple:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-deep-purple:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-pink-light:focus::-moz-placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:focus\:placeholder-pink-light:focus::placeholder{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:focus\:placeholder-pink:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-pink:focus::placeholder{
    --tw-placeholder-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-placeholder-opacity));
  }

  :root .lg\:focus\:placeholder-primary-light:focus::-moz-placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .lg\:focus\:placeholder-primary-light:focus::placeholder{
    color: rgba(var(--color-primary), .1);
  }

  :root .lg\:focus\:placeholder-primary:focus::-moz-placeholder{
    color: rgb(var(--color-primary));
  }

  :root .lg\:focus\:placeholder-primary:focus::placeholder{
    color: rgb(var(--color-primary));
  }

  :root .lg\:focus\:placeholder-accent-light:focus::-moz-placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .lg\:focus\:placeholder-accent-light:focus::placeholder{
    color: rgba(var(--color-accent), .1);
  }

  :root .lg\:focus\:placeholder-accent:focus::-moz-placeholder{
    color: rgb(var(--color-accent));
  }

  :root .lg\:focus\:placeholder-accent:focus::placeholder{
    color: rgb(var(--color-accent));
  }

  :root .lg\:focus\:placeholder-warn-light:focus::-moz-placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .lg\:focus\:placeholder-warn-light:focus::placeholder{
    color: rgba(var(--color-warn), .1);
  }

  :root .lg\:focus\:placeholder-warn:focus::-moz-placeholder{
    color: rgb(var(--color-warn));
  }

  :root .lg\:focus\:placeholder-warn:focus::placeholder{
    color: rgb(var(--color-warn));
  }

  :root .lg\:placeholder-opacity-0::-moz-placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .lg\:placeholder-opacity-0::placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .lg\:placeholder-opacity-25::-moz-placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .lg\:placeholder-opacity-25::placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .lg\:placeholder-opacity-50::-moz-placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .lg\:placeholder-opacity-50::placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .lg\:placeholder-opacity-75::-moz-placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .lg\:placeholder-opacity-75::placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .lg\:placeholder-opacity-100::-moz-placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .lg\:placeholder-opacity-100::placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .lg\:focus\:placeholder-opacity-0:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .lg\:focus\:placeholder-opacity-0:focus::placeholder{
    --tw-placeholder-opacity: 0;
  }

  :root .lg\:focus\:placeholder-opacity-25:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .lg\:focus\:placeholder-opacity-25:focus::placeholder{
    --tw-placeholder-opacity: 0.25;
  }

  :root .lg\:focus\:placeholder-opacity-50:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .lg\:focus\:placeholder-opacity-50:focus::placeholder{
    --tw-placeholder-opacity: 0.5;
  }

  :root .lg\:focus\:placeholder-opacity-75:focus::-moz-placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .lg\:focus\:placeholder-opacity-75:focus::placeholder{
    --tw-placeholder-opacity: 0.75;
  }

  :root .lg\:focus\:placeholder-opacity-100:focus::-moz-placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .lg\:focus\:placeholder-opacity-100:focus::placeholder{
    --tw-placeholder-opacity: 1;
  }

  :root .lg\:pointer-events-none{
    pointer-events: none;
  }

  :root .lg\:pointer-events-auto{
    pointer-events: auto;
  }

  :root .lg\:static{
    position: static;
  }

  :root .lg\:fixed{
    position: fixed;
  }

  :root .lg\:absolute{
    position: absolute;
  }

  :root .lg\:relative{
    position: relative;
  }

  :root .lg\:sticky{
    position: sticky;
  }

  :root .lg\:inset-0{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  :root .lg\:inset-1{
    top: 0.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
  }

  :root .lg\:inset-2{
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }

  :root .lg\:inset-3{
    top: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
  }

  :root .lg\:inset-4{
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
  }

  :root .lg\:inset-5{
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }

  :root .lg\:inset-6{
    top: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
  }

  :root .lg\:inset-8{
    top: 2rem;
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }

  :root .lg\:inset-10{
    top: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;
    left: 2.5rem;
  }

  :root .lg\:inset-12{
    top: 3rem;
    right: 3rem;
    bottom: 3rem;
    left: 3rem;
  }

  :root .lg\:-inset-1{
    top: -0.25rem;
    right: -0.25rem;
    bottom: -0.25rem;
    left: -0.25rem;
  }

  :root .lg\:-inset-2{
    top: -0.5rem;
    right: -0.5rem;
    bottom: -0.5rem;
    left: -0.5rem;
  }

  :root .lg\:-inset-3{
    top: -0.75rem;
    right: -0.75rem;
    bottom: -0.75rem;
    left: -0.75rem;
  }

  :root .lg\:-inset-4{
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem;
  }

  :root .lg\:-inset-5{
    top: -1.25rem;
    right: -1.25rem;
    bottom: -1.25rem;
    left: -1.25rem;
  }

  :root .lg\:-inset-6{
    top: -1.5rem;
    right: -1.5rem;
    bottom: -1.5rem;
    left: -1.5rem;
  }

  :root .lg\:-inset-8{
    top: -2rem;
    right: -2rem;
    bottom: -2rem;
    left: -2rem;
  }

  :root .lg\:-inset-10{
    top: -2.5rem;
    right: -2.5rem;
    bottom: -2.5rem;
    left: -2.5rem;
  }

  :root .lg\:-inset-12{
    top: -3rem;
    right: -3rem;
    bottom: -3rem;
    left: -3rem;
  }

  :root .lg\:inset-auto{
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }

  :root .lg\:inset-y-0{
    top: 0;
    bottom: 0;
  }

  :root .lg\:inset-x-0{
    right: 0;
    left: 0;
  }

  :root .lg\:inset-y-1{
    top: 0.25rem;
    bottom: 0.25rem;
  }

  :root .lg\:inset-x-1{
    right: 0.25rem;
    left: 0.25rem;
  }

  :root .lg\:inset-y-2{
    top: 0.5rem;
    bottom: 0.5rem;
  }

  :root .lg\:inset-x-2{
    right: 0.5rem;
    left: 0.5rem;
  }

  :root .lg\:inset-y-3{
    top: 0.75rem;
    bottom: 0.75rem;
  }

  :root .lg\:inset-x-3{
    right: 0.75rem;
    left: 0.75rem;
  }

  :root .lg\:inset-y-4{
    top: 1rem;
    bottom: 1rem;
  }

  :root .lg\:inset-x-4{
    right: 1rem;
    left: 1rem;
  }

  :root .lg\:inset-y-5{
    top: 1.25rem;
    bottom: 1.25rem;
  }

  :root .lg\:inset-x-5{
    right: 1.25rem;
    left: 1.25rem;
  }

  :root .lg\:inset-y-6{
    top: 1.5rem;
    bottom: 1.5rem;
  }

  :root .lg\:inset-x-6{
    right: 1.5rem;
    left: 1.5rem;
  }

  :root .lg\:inset-y-8{
    top: 2rem;
    bottom: 2rem;
  }

  :root .lg\:inset-x-8{
    right: 2rem;
    left: 2rem;
  }

  :root .lg\:inset-y-10{
    top: 2.5rem;
    bottom: 2.5rem;
  }

  :root .lg\:inset-x-10{
    right: 2.5rem;
    left: 2.5rem;
  }

  :root .lg\:inset-y-12{
    top: 3rem;
    bottom: 3rem;
  }

  :root .lg\:inset-x-12{
    right: 3rem;
    left: 3rem;
  }

  :root .lg\:-inset-y-1{
    top: -0.25rem;
    bottom: -0.25rem;
  }

  :root .lg\:-inset-x-1{
    right: -0.25rem;
    left: -0.25rem;
  }

  :root .lg\:-inset-y-2{
    top: -0.5rem;
    bottom: -0.5rem;
  }

  :root .lg\:-inset-x-2{
    right: -0.5rem;
    left: -0.5rem;
  }

  :root .lg\:-inset-y-3{
    top: -0.75rem;
    bottom: -0.75rem;
  }

  :root .lg\:-inset-x-3{
    right: -0.75rem;
    left: -0.75rem;
  }

  :root .lg\:-inset-y-4{
    top: -1rem;
    bottom: -1rem;
  }

  :root .lg\:-inset-x-4{
    right: -1rem;
    left: -1rem;
  }

  :root .lg\:-inset-y-5{
    top: -1.25rem;
    bottom: -1.25rem;
  }

  :root .lg\:-inset-x-5{
    right: -1.25rem;
    left: -1.25rem;
  }

  :root .lg\:-inset-y-6{
    top: -1.5rem;
    bottom: -1.5rem;
  }

  :root .lg\:-inset-x-6{
    right: -1.5rem;
    left: -1.5rem;
  }

  :root .lg\:-inset-y-8{
    top: -2rem;
    bottom: -2rem;
  }

  :root .lg\:-inset-x-8{
    right: -2rem;
    left: -2rem;
  }

  :root .lg\:-inset-y-10{
    top: -2.5rem;
    bottom: -2.5rem;
  }

  :root .lg\:-inset-x-10{
    right: -2.5rem;
    left: -2.5rem;
  }

  :root .lg\:-inset-y-12{
    top: -3rem;
    bottom: -3rem;
  }

  :root .lg\:-inset-x-12{
    right: -3rem;
    left: -3rem;
  }

  :root .lg\:inset-y-auto{
    top: auto;
    bottom: auto;
  }

  :root .lg\:inset-x-auto{
    right: auto;
    left: auto;
  }

  :root .lg\:top-0{
    top: 0;
  }

  :root .lg\:right-0{
    right: 0;
  }

  :root .lg\:bottom-0{
    bottom: 0;
  }

  :root .lg\:left-0{
    left: 0;
  }

  :root .lg\:top-1{
    top: 0.25rem;
  }

  :root .lg\:right-1{
    right: 0.25rem;
  }

  :root .lg\:bottom-1{
    bottom: 0.25rem;
  }

  :root .lg\:left-1{
    left: 0.25rem;
  }

  :root .lg\:top-2{
    top: 0.5rem;
  }

  :root .lg\:right-2{
    right: 0.5rem;
  }

  :root .lg\:bottom-2{
    bottom: 0.5rem;
  }

  :root .lg\:left-2{
    left: 0.5rem;
  }

  :root .lg\:top-3{
    top: 0.75rem;
  }

  :root .lg\:right-3{
    right: 0.75rem;
  }

  :root .lg\:bottom-3{
    bottom: 0.75rem;
  }

  :root .lg\:left-3{
    left: 0.75rem;
  }

  :root .lg\:top-4{
    top: 1rem;
  }

  :root .lg\:right-4{
    right: 1rem;
  }

  :root .lg\:bottom-4{
    bottom: 1rem;
  }

  :root .lg\:left-4{
    left: 1rem;
  }

  :root .lg\:top-5{
    top: 1.25rem;
  }

  :root .lg\:right-5{
    right: 1.25rem;
  }

  :root .lg\:bottom-5{
    bottom: 1.25rem;
  }

  :root .lg\:left-5{
    left: 1.25rem;
  }

  :root .lg\:top-6{
    top: 1.5rem;
  }

  :root .lg\:right-6{
    right: 1.5rem;
  }

  :root .lg\:bottom-6{
    bottom: 1.5rem;
  }

  :root .lg\:left-6{
    left: 1.5rem;
  }

  :root .lg\:top-8{
    top: 2rem;
  }

  :root .lg\:right-8{
    right: 2rem;
  }

  :root .lg\:bottom-8{
    bottom: 2rem;
  }

  :root .lg\:left-8{
    left: 2rem;
  }

  :root .lg\:top-10{
    top: 2.5rem;
  }

  :root .lg\:right-10{
    right: 2.5rem;
  }

  :root .lg\:bottom-10{
    bottom: 2.5rem;
  }

  :root .lg\:left-10{
    left: 2.5rem;
  }

  :root .lg\:top-12{
    top: 3rem;
  }

  :root .lg\:right-12{
    right: 3rem;
  }

  :root .lg\:bottom-12{
    bottom: 3rem;
  }

  :root .lg\:left-12{
    left: 3rem;
  }

  :root .lg\:-top-1{
    top: -0.25rem;
  }

  :root .lg\:-right-1{
    right: -0.25rem;
  }

  :root .lg\:-bottom-1{
    bottom: -0.25rem;
  }

  :root .lg\:-left-1{
    left: -0.25rem;
  }

  :root .lg\:-top-2{
    top: -0.5rem;
  }

  :root .lg\:-right-2{
    right: -0.5rem;
  }

  :root .lg\:-bottom-2{
    bottom: -0.5rem;
  }

  :root .lg\:-left-2{
    left: -0.5rem;
  }

  :root .lg\:-top-3{
    top: -0.75rem;
  }

  :root .lg\:-right-3{
    right: -0.75rem;
  }

  :root .lg\:-bottom-3{
    bottom: -0.75rem;
  }

  :root .lg\:-left-3{
    left: -0.75rem;
  }

  :root .lg\:-top-4{
    top: -1rem;
  }

  :root .lg\:-right-4{
    right: -1rem;
  }

  :root .lg\:-bottom-4{
    bottom: -1rem;
  }

  :root .lg\:-left-4{
    left: -1rem;
  }

  :root .lg\:-top-5{
    top: -1.25rem;
  }

  :root .lg\:-right-5{
    right: -1.25rem;
  }

  :root .lg\:-bottom-5{
    bottom: -1.25rem;
  }

  :root .lg\:-left-5{
    left: -1.25rem;
  }

  :root .lg\:-top-6{
    top: -1.5rem;
  }

  :root .lg\:-right-6{
    right: -1.5rem;
  }

  :root .lg\:-bottom-6{
    bottom: -1.5rem;
  }

  :root .lg\:-left-6{
    left: -1.5rem;
  }

  :root .lg\:-top-8{
    top: -2rem;
  }

  :root .lg\:-right-8{
    right: -2rem;
  }

  :root .lg\:-bottom-8{
    bottom: -2rem;
  }

  :root .lg\:-left-8{
    left: -2rem;
  }

  :root .lg\:-top-10{
    top: -2.5rem;
  }

  :root .lg\:-right-10{
    right: -2.5rem;
  }

  :root .lg\:-bottom-10{
    bottom: -2.5rem;
  }

  :root .lg\:-left-10{
    left: -2.5rem;
  }

  :root .lg\:-top-12{
    top: -3rem;
  }

  :root .lg\:-right-12{
    right: -3rem;
  }

  :root .lg\:-bottom-12{
    bottom: -3rem;
  }

  :root .lg\:-left-12{
    left: -3rem;
  }

  :root .lg\:top-auto{
    top: auto;
  }

  :root .lg\:right-auto{
    right: auto;
  }

  :root .lg\:bottom-auto{
    bottom: auto;
  }

  :root .lg\:left-auto{
    left: auto;
  }

  :root [dir=ltr] .lg\:ltr\:inset-0{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  :root [dir=ltr] .lg\:ltr\:inset-1{
    top: 0.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-2{
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-3{
    top: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-4{
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-5{
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-6{
    top: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-8{
    top: 2rem;
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-10{
    top: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-12{
    top: 3rem;
    right: 3rem;
    bottom: 3rem;
    left: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-1{
    top: -0.25rem;
    right: -0.25rem;
    bottom: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-2{
    top: -0.5rem;
    right: -0.5rem;
    bottom: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-3{
    top: -0.75rem;
    right: -0.75rem;
    bottom: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-4{
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-5{
    top: -1.25rem;
    right: -1.25rem;
    bottom: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-6{
    top: -1.5rem;
    right: -1.5rem;
    bottom: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-8{
    top: -2rem;
    right: -2rem;
    bottom: -2rem;
    left: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-10{
    top: -2.5rem;
    right: -2.5rem;
    bottom: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-12{
    top: -3rem;
    right: -3rem;
    bottom: -3rem;
    left: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-auto{
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }

  :root [dir=ltr] .lg\:ltr\:inset-y-0{
    top: 0;
    bottom: 0;
  }

  :root [dir=ltr] .lg\:ltr\:inset-x-0{
    right: 0;
    left: 0;
  }

  :root [dir=ltr] .lg\:ltr\:inset-y-1{
    top: 0.25rem;
    bottom: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-x-1{
    right: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-y-2{
    top: 0.5rem;
    bottom: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-x-2{
    right: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-y-3{
    top: 0.75rem;
    bottom: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-x-3{
    right: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-y-4{
    top: 1rem;
    bottom: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-x-4{
    right: 1rem;
    left: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-y-5{
    top: 1.25rem;
    bottom: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-x-5{
    right: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-y-6{
    top: 1.5rem;
    bottom: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-x-6{
    right: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-y-8{
    top: 2rem;
    bottom: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-x-8{
    right: 2rem;
    left: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-y-10{
    top: 2.5rem;
    bottom: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-x-10{
    right: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-y-12{
    top: 3rem;
    bottom: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-x-12{
    right: 3rem;
    left: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-y-1{
    top: -0.25rem;
    bottom: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-x-1{
    right: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-y-2{
    top: -0.5rem;
    bottom: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-x-2{
    right: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-y-3{
    top: -0.75rem;
    bottom: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-x-3{
    right: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-y-4{
    top: -1rem;
    bottom: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-x-4{
    right: -1rem;
    left: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-y-5{
    top: -1.25rem;
    bottom: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-x-5{
    right: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-y-6{
    top: -1.5rem;
    bottom: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-x-6{
    right: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-y-8{
    top: -2rem;
    bottom: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-x-8{
    right: -2rem;
    left: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-y-10{
    top: -2.5rem;
    bottom: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-x-10{
    right: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-y-12{
    top: -3rem;
    bottom: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-inset-x-12{
    right: -3rem;
    left: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:inset-y-auto{
    top: auto;
    bottom: auto;
  }

  :root [dir=ltr] .lg\:ltr\:inset-x-auto{
    right: auto;
    left: auto;
  }

  :root [dir=ltr] .lg\:ltr\:top-0{
    top: 0;
  }

  :root [dir=ltr] .lg\:ltr\:right-0{
    right: 0;
  }

  :root [dir=ltr] .lg\:ltr\:bottom-0{
    bottom: 0;
  }

  :root [dir=ltr] .lg\:ltr\:left-0{
    left: 0;
  }

  :root [dir=ltr] .lg\:ltr\:top-1{
    top: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:right-1{
    right: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:bottom-1{
    bottom: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:left-1{
    left: 0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:top-2{
    top: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:right-2{
    right: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:bottom-2{
    bottom: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:left-2{
    left: 0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:top-3{
    top: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:right-3{
    right: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:bottom-3{
    bottom: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:left-3{
    left: 0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:top-4{
    top: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:right-4{
    right: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:bottom-4{
    bottom: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:left-4{
    left: 1rem;
  }

  :root [dir=ltr] .lg\:ltr\:top-5{
    top: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:right-5{
    right: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:bottom-5{
    bottom: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:left-5{
    left: 1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:top-6{
    top: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:right-6{
    right: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:bottom-6{
    bottom: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:left-6{
    left: 1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:top-8{
    top: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:right-8{
    right: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:bottom-8{
    bottom: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:left-8{
    left: 2rem;
  }

  :root [dir=ltr] .lg\:ltr\:top-10{
    top: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:right-10{
    right: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:bottom-10{
    bottom: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:left-10{
    left: 2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:top-12{
    top: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:right-12{
    right: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:bottom-12{
    bottom: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:left-12{
    left: 3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-top-1{
    top: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-right-1{
    right: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-bottom-1{
    bottom: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-left-1{
    left: -0.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-top-2{
    top: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-right-2{
    right: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-bottom-2{
    bottom: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-left-2{
    left: -0.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-top-3{
    top: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-right-3{
    right: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-bottom-3{
    bottom: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-left-3{
    left: -0.75rem;
  }

  :root [dir=ltr] .lg\:ltr\:-top-4{
    top: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-right-4{
    right: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-bottom-4{
    bottom: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-left-4{
    left: -1rem;
  }

  :root [dir=ltr] .lg\:ltr\:-top-5{
    top: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-right-5{
    right: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-bottom-5{
    bottom: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-left-5{
    left: -1.25rem;
  }

  :root [dir=ltr] .lg\:ltr\:-top-6{
    top: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-right-6{
    right: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-bottom-6{
    bottom: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-left-6{
    left: -1.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-top-8{
    top: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-right-8{
    right: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-bottom-8{
    bottom: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-left-8{
    left: -2rem;
  }

  :root [dir=ltr] .lg\:ltr\:-top-10{
    top: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-right-10{
    right: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-bottom-10{
    bottom: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-left-10{
    left: -2.5rem;
  }

  :root [dir=ltr] .lg\:ltr\:-top-12{
    top: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-right-12{
    right: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-bottom-12{
    bottom: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:-left-12{
    left: -3rem;
  }

  :root [dir=ltr] .lg\:ltr\:top-auto{
    top: auto;
  }

  :root [dir=ltr] .lg\:ltr\:right-auto{
    right: auto;
  }

  :root [dir=ltr] .lg\:ltr\:bottom-auto{
    bottom: auto;
  }

  :root [dir=ltr] .lg\:ltr\:left-auto{
    left: auto;
  }

  :root [dir=rtl] .lg\:rtl\:inset-0{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  :root [dir=rtl] .lg\:rtl\:inset-1{
    top: 0.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-2{
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-3{
    top: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-4{
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-5{
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-6{
    top: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-8{
    top: 2rem;
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-10{
    top: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-12{
    top: 3rem;
    right: 3rem;
    bottom: 3rem;
    left: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-1{
    top: -0.25rem;
    right: -0.25rem;
    bottom: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-2{
    top: -0.5rem;
    right: -0.5rem;
    bottom: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-3{
    top: -0.75rem;
    right: -0.75rem;
    bottom: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-4{
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-5{
    top: -1.25rem;
    right: -1.25rem;
    bottom: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-6{
    top: -1.5rem;
    right: -1.5rem;
    bottom: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-8{
    top: -2rem;
    right: -2rem;
    bottom: -2rem;
    left: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-10{
    top: -2.5rem;
    right: -2.5rem;
    bottom: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-12{
    top: -3rem;
    right: -3rem;
    bottom: -3rem;
    left: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-auto{
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }

  :root [dir=rtl] .lg\:rtl\:inset-y-0{
    top: 0;
    bottom: 0;
  }

  :root [dir=rtl] .lg\:rtl\:inset-x-0{
    right: 0;
    left: 0;
  }

  :root [dir=rtl] .lg\:rtl\:inset-y-1{
    top: 0.25rem;
    bottom: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-x-1{
    right: 0.25rem;
    left: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-y-2{
    top: 0.5rem;
    bottom: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-x-2{
    right: 0.5rem;
    left: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-y-3{
    top: 0.75rem;
    bottom: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-x-3{
    right: 0.75rem;
    left: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-y-4{
    top: 1rem;
    bottom: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-x-4{
    right: 1rem;
    left: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-y-5{
    top: 1.25rem;
    bottom: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-x-5{
    right: 1.25rem;
    left: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-y-6{
    top: 1.5rem;
    bottom: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-x-6{
    right: 1.5rem;
    left: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-y-8{
    top: 2rem;
    bottom: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-x-8{
    right: 2rem;
    left: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-y-10{
    top: 2.5rem;
    bottom: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-x-10{
    right: 2.5rem;
    left: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-y-12{
    top: 3rem;
    bottom: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-x-12{
    right: 3rem;
    left: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-y-1{
    top: -0.25rem;
    bottom: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-x-1{
    right: -0.25rem;
    left: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-y-2{
    top: -0.5rem;
    bottom: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-x-2{
    right: -0.5rem;
    left: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-y-3{
    top: -0.75rem;
    bottom: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-x-3{
    right: -0.75rem;
    left: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-y-4{
    top: -1rem;
    bottom: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-x-4{
    right: -1rem;
    left: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-y-5{
    top: -1.25rem;
    bottom: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-x-5{
    right: -1.25rem;
    left: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-y-6{
    top: -1.5rem;
    bottom: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-x-6{
    right: -1.5rem;
    left: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-y-8{
    top: -2rem;
    bottom: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-x-8{
    right: -2rem;
    left: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-y-10{
    top: -2.5rem;
    bottom: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-x-10{
    right: -2.5rem;
    left: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-y-12{
    top: -3rem;
    bottom: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-inset-x-12{
    right: -3rem;
    left: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:inset-y-auto{
    top: auto;
    bottom: auto;
  }

  :root [dir=rtl] .lg\:rtl\:inset-x-auto{
    right: auto;
    left: auto;
  }

  :root [dir=rtl] .lg\:rtl\:top-0{
    top: 0;
  }

  :root [dir=rtl] .lg\:rtl\:right-0{
    right: 0;
  }

  :root [dir=rtl] .lg\:rtl\:bottom-0{
    bottom: 0;
  }

  :root [dir=rtl] .lg\:rtl\:left-0{
    left: 0;
  }

  :root [dir=rtl] .lg\:rtl\:top-1{
    top: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:right-1{
    right: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:bottom-1{
    bottom: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:left-1{
    left: 0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:top-2{
    top: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:right-2{
    right: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:bottom-2{
    bottom: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:left-2{
    left: 0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:top-3{
    top: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:right-3{
    right: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:bottom-3{
    bottom: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:left-3{
    left: 0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:top-4{
    top: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:right-4{
    right: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:bottom-4{
    bottom: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:left-4{
    left: 1rem;
  }

  :root [dir=rtl] .lg\:rtl\:top-5{
    top: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:right-5{
    right: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:bottom-5{
    bottom: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:left-5{
    left: 1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:top-6{
    top: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:right-6{
    right: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:bottom-6{
    bottom: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:left-6{
    left: 1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:top-8{
    top: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:right-8{
    right: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:bottom-8{
    bottom: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:left-8{
    left: 2rem;
  }

  :root [dir=rtl] .lg\:rtl\:top-10{
    top: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:right-10{
    right: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:bottom-10{
    bottom: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:left-10{
    left: 2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:top-12{
    top: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:right-12{
    right: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:bottom-12{
    bottom: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:left-12{
    left: 3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-top-1{
    top: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-right-1{
    right: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-bottom-1{
    bottom: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-left-1{
    left: -0.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-top-2{
    top: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-right-2{
    right: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-bottom-2{
    bottom: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-left-2{
    left: -0.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-top-3{
    top: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-right-3{
    right: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-bottom-3{
    bottom: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-left-3{
    left: -0.75rem;
  }

  :root [dir=rtl] .lg\:rtl\:-top-4{
    top: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-right-4{
    right: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-bottom-4{
    bottom: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-left-4{
    left: -1rem;
  }

  :root [dir=rtl] .lg\:rtl\:-top-5{
    top: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-right-5{
    right: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-bottom-5{
    bottom: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-left-5{
    left: -1.25rem;
  }

  :root [dir=rtl] .lg\:rtl\:-top-6{
    top: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-right-6{
    right: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-bottom-6{
    bottom: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-left-6{
    left: -1.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-top-8{
    top: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-right-8{
    right: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-bottom-8{
    bottom: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-left-8{
    left: -2rem;
  }

  :root [dir=rtl] .lg\:rtl\:-top-10{
    top: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-right-10{
    right: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-bottom-10{
    bottom: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-left-10{
    left: -2.5rem;
  }

  :root [dir=rtl] .lg\:rtl\:-top-12{
    top: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-right-12{
    right: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-bottom-12{
    bottom: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:-left-12{
    left: -3rem;
  }

  :root [dir=rtl] .lg\:rtl\:top-auto{
    top: auto;
  }

  :root [dir=rtl] .lg\:rtl\:right-auto{
    right: auto;
  }

  :root [dir=rtl] .lg\:rtl\:bottom-auto{
    bottom: auto;
  }

  :root [dir=rtl] .lg\:rtl\:left-auto{
    left: auto;
  }

  :root .lg\:resize-none{
    resize: none;
  }

  :root .lg\:resize-y{
    resize: vertical;
  }

  :root .lg\:resize-x{
    resize: horizontal;
  }

  :root .lg\:resize{
    resize: both;
  }

  :root .lg\:shadow-1{
    --tw-shadow: var(--elevation-z1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-2{
    --tw-shadow: var(--elevation-z2);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-3{
    --tw-shadow: var(--elevation-z3);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-4{
    --tw-shadow: var(--elevation-z4);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-5{
    --tw-shadow: var(--elevation-z5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-6{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-7{
    --tw-shadow: var(--elevation-z7);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-9{
    --tw-shadow: var(--elevation-z9);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-10{
    --tw-shadow: var(--elevation-z10);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-11{
    --tw-shadow: var(--elevation-z11);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-12{
    --tw-shadow: var(--elevation-z12);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-13{
    --tw-shadow: var(--elevation-z13);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-14{
    --tw-shadow: var(--elevation-z14);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-15{
    --tw-shadow: var(--elevation-z15);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-16{
    --tw-shadow: var(--elevation-z16);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-17{
    --tw-shadow: var(--elevation-z17);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-18{
    --tw-shadow: var(--elevation-z18);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-19{
    --tw-shadow: var(--elevation-z19);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-20{
    --tw-shadow: var(--elevation-z20);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-md{
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-lg{
    --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-xl{
    --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-2xl{
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-inner{
    --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-outline{
    --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-none{
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:shadow-b{
    --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-1:hover{
    --tw-shadow: var(--elevation-z1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-2:hover{
    --tw-shadow: var(--elevation-z2);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-3:hover{
    --tw-shadow: var(--elevation-z3);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-4:hover{
    --tw-shadow: var(--elevation-z4);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-5:hover{
    --tw-shadow: var(--elevation-z5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-6:hover{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-7:hover{
    --tw-shadow: var(--elevation-z7);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-9:hover{
    --tw-shadow: var(--elevation-z9);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-10:hover{
    --tw-shadow: var(--elevation-z10);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-11:hover{
    --tw-shadow: var(--elevation-z11);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-12:hover{
    --tw-shadow: var(--elevation-z12);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-13:hover{
    --tw-shadow: var(--elevation-z13);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-14:hover{
    --tw-shadow: var(--elevation-z14);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-15:hover{
    --tw-shadow: var(--elevation-z15);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-16:hover{
    --tw-shadow: var(--elevation-z16);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-17:hover{
    --tw-shadow: var(--elevation-z17);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-18:hover{
    --tw-shadow: var(--elevation-z18);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-19:hover{
    --tw-shadow: var(--elevation-z19);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-20:hover{
    --tw-shadow: var(--elevation-z20);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow:hover{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-md:hover{
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-lg:hover{
    --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-xl:hover{
    --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-2xl:hover{
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-inner:hover{
    --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-outline:hover{
    --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-none:hover{
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:hover\:shadow-b:hover{
    --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-1:focus{
    --tw-shadow: var(--elevation-z1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-2:focus{
    --tw-shadow: var(--elevation-z2);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-3:focus{
    --tw-shadow: var(--elevation-z3);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-4:focus{
    --tw-shadow: var(--elevation-z4);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-5:focus{
    --tw-shadow: var(--elevation-z5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-6:focus{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-7:focus{
    --tw-shadow: var(--elevation-z7);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-9:focus{
    --tw-shadow: var(--elevation-z9);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-10:focus{
    --tw-shadow: var(--elevation-z10);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-11:focus{
    --tw-shadow: var(--elevation-z11);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-12:focus{
    --tw-shadow: var(--elevation-z12);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-13:focus{
    --tw-shadow: var(--elevation-z13);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-14:focus{
    --tw-shadow: var(--elevation-z14);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-15:focus{
    --tw-shadow: var(--elevation-z15);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-16:focus{
    --tw-shadow: var(--elevation-z16);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-17:focus{
    --tw-shadow: var(--elevation-z17);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-18:focus{
    --tw-shadow: var(--elevation-z18);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-19:focus{
    --tw-shadow: var(--elevation-z19);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-20:focus{
    --tw-shadow: var(--elevation-z20);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow:focus{
    --tw-shadow: var(--elevation-z6);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-md:focus{
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-lg:focus{
    --tw-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06),0px 12px 17px 2px rgba(82, 63, 104, 0.042),0px 5px 22px 4px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-xl:focus{
    --tw-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06),0px 16px 24px 2px rgba(82, 63, 104, 0.042),0px 6px 30px 5px rgba(82, 63, 104, 0.036);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-2xl:focus{
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-inner:focus{
    --tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-outline:focus{
    --tw-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-none:focus{
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:focus\:shadow-b:focus{
    --tw-shadow: 0 10px 30px 0 rgba(82,63,104,.06);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  :root .lg\:ring-0{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:ring-1{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:ring-2{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:ring-4{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:ring-8{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:ring{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:ring-inset{
    --tw-ring-inset: inset;
  }

  :root .lg\:focus-within\:ring-0:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:focus-within\:ring-1:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:focus-within\:ring-2:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:focus-within\:ring-4:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:focus-within\:ring-8:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:focus-within\:ring:focus-within{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:focus-within\:ring-inset:focus-within{
    --tw-ring-inset: inset;
  }

  :root .lg\:focus\:ring-0:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:focus\:ring-1:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:focus\:ring-2:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:focus\:ring-4:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:focus\:ring-8:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:focus\:ring:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  :root .lg\:focus\:ring-inset:focus{
    --tw-ring-inset: inset;
  }

  :root .lg\:ring-offset-current{
    --tw-ring-offset-color: currentColor;
  }

  :root .lg\:ring-offset-transparent{
    --tw-ring-offset-color: transparent;
  }

  :root .lg\:ring-offset-black{
    --tw-ring-offset-color: var(--text-color);
  }

  :root .lg\:ring-offset-white{
    --tw-ring-offset-color: var(--text-color-light);
  }

  :root .lg\:ring-offset-contrast-black{
    --tw-ring-offset-color: black;
  }

  :root .lg\:ring-offset-contrast-white{
    --tw-ring-offset-color: white;
  }

  :root .lg\:ring-offset-gray-light{
    --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:ring-offset-gray{
    --tw-ring-offset-color: rgb(158, 158, 158);
  }

  :root .lg\:ring-offset-red-light{
    --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:ring-offset-red{
    --tw-ring-offset-color: rgb(244, 67, 54);
  }

  :root .lg\:ring-offset-orange-light{
    --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:ring-offset-orange{
    --tw-ring-offset-color: rgb(255, 152, 0);
  }

  :root .lg\:ring-offset-deep-orange-light{
    --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:ring-offset-deep-orange{
    --tw-ring-offset-color: rgb(255, 87, 34);
  }

  :root .lg\:ring-offset-amber-light{
    --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:ring-offset-amber{
    --tw-ring-offset-color: rgb(255, 193, 7);
  }

  :root .lg\:ring-offset-green-light{
    --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:ring-offset-green{
    --tw-ring-offset-color: rgb(76, 175, 80);
  }

  :root .lg\:ring-offset-teal-light{
    --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:ring-offset-teal{
    --tw-ring-offset-color: rgb(0, 150, 136);
  }

  :root .lg\:ring-offset-cyan-light{
    --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:ring-offset-cyan{
    --tw-ring-offset-color: rgb(0, 188, 212);
  }

  :root .lg\:ring-offset-purple-light{
    --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:ring-offset-purple{
    --tw-ring-offset-color: rgb(156, 39, 176);
  }

  :root .lg\:ring-offset-deep-purple-light{
    --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:ring-offset-deep-purple{
    --tw-ring-offset-color: rgb(103, 58, 183);
  }

  :root .lg\:ring-offset-pink-light{
    --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:ring-offset-pink{
    --tw-ring-offset-color: rgb(233, 30, 99);
  }

  :root .lg\:ring-offset-primary-light{
    --tw-ring-offset-color: rgba(var(--color-primary), .1);
  }

  :root .lg\:ring-offset-primary{
    --tw-ring-offset-color: rgb(var(--color-primary));
  }

  :root .lg\:ring-offset-accent-light{
    --tw-ring-offset-color: rgba(var(--color-accent), .1);
  }

  :root .lg\:ring-offset-accent{
    --tw-ring-offset-color: rgb(var(--color-accent));
  }

  :root .lg\:ring-offset-warn-light{
    --tw-ring-offset-color: rgba(var(--color-warn), .1);
  }

  :root .lg\:ring-offset-warn{
    --tw-ring-offset-color: rgb(var(--color-warn));
  }

  :root .lg\:focus-within\:ring-offset-current:focus-within{
    --tw-ring-offset-color: currentColor;
  }

  :root .lg\:focus-within\:ring-offset-transparent:focus-within{
    --tw-ring-offset-color: transparent;
  }

  :root .lg\:focus-within\:ring-offset-black:focus-within{
    --tw-ring-offset-color: var(--text-color);
  }

  :root .lg\:focus-within\:ring-offset-white:focus-within{
    --tw-ring-offset-color: var(--text-color-light);
  }

  :root .lg\:focus-within\:ring-offset-contrast-black:focus-within{
    --tw-ring-offset-color: black;
  }

  :root .lg\:focus-within\:ring-offset-contrast-white:focus-within{
    --tw-ring-offset-color: white;
  }

  :root .lg\:focus-within\:ring-offset-gray-light:focus-within{
    --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:focus-within\:ring-offset-gray:focus-within{
    --tw-ring-offset-color: rgb(158, 158, 158);
  }

  :root .lg\:focus-within\:ring-offset-red-light:focus-within{
    --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:focus-within\:ring-offset-red:focus-within{
    --tw-ring-offset-color: rgb(244, 67, 54);
  }

  :root .lg\:focus-within\:ring-offset-orange-light:focus-within{
    --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:focus-within\:ring-offset-orange:focus-within{
    --tw-ring-offset-color: rgb(255, 152, 0);
  }

  :root .lg\:focus-within\:ring-offset-deep-orange-light:focus-within{
    --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:focus-within\:ring-offset-deep-orange:focus-within{
    --tw-ring-offset-color: rgb(255, 87, 34);
  }

  :root .lg\:focus-within\:ring-offset-amber-light:focus-within{
    --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:focus-within\:ring-offset-amber:focus-within{
    --tw-ring-offset-color: rgb(255, 193, 7);
  }

  :root .lg\:focus-within\:ring-offset-green-light:focus-within{
    --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:focus-within\:ring-offset-green:focus-within{
    --tw-ring-offset-color: rgb(76, 175, 80);
  }

  :root .lg\:focus-within\:ring-offset-teal-light:focus-within{
    --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:focus-within\:ring-offset-teal:focus-within{
    --tw-ring-offset-color: rgb(0, 150, 136);
  }

  :root .lg\:focus-within\:ring-offset-cyan-light:focus-within{
    --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:focus-within\:ring-offset-cyan:focus-within{
    --tw-ring-offset-color: rgb(0, 188, 212);
  }

  :root .lg\:focus-within\:ring-offset-purple-light:focus-within{
    --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:focus-within\:ring-offset-purple:focus-within{
    --tw-ring-offset-color: rgb(156, 39, 176);
  }

  :root .lg\:focus-within\:ring-offset-deep-purple-light:focus-within{
    --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:focus-within\:ring-offset-deep-purple:focus-within{
    --tw-ring-offset-color: rgb(103, 58, 183);
  }

  :root .lg\:focus-within\:ring-offset-pink-light:focus-within{
    --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:focus-within\:ring-offset-pink:focus-within{
    --tw-ring-offset-color: rgb(233, 30, 99);
  }

  :root .lg\:focus-within\:ring-offset-primary-light:focus-within{
    --tw-ring-offset-color: rgba(var(--color-primary), .1);
  }

  :root .lg\:focus-within\:ring-offset-primary:focus-within{
    --tw-ring-offset-color: rgb(var(--color-primary));
  }

  :root .lg\:focus-within\:ring-offset-accent-light:focus-within{
    --tw-ring-offset-color: rgba(var(--color-accent), .1);
  }

  :root .lg\:focus-within\:ring-offset-accent:focus-within{
    --tw-ring-offset-color: rgb(var(--color-accent));
  }

  :root .lg\:focus-within\:ring-offset-warn-light:focus-within{
    --tw-ring-offset-color: rgba(var(--color-warn), .1);
  }

  :root .lg\:focus-within\:ring-offset-warn:focus-within{
    --tw-ring-offset-color: rgb(var(--color-warn));
  }

  :root .lg\:focus\:ring-offset-current:focus{
    --tw-ring-offset-color: currentColor;
  }

  :root .lg\:focus\:ring-offset-transparent:focus{
    --tw-ring-offset-color: transparent;
  }

  :root .lg\:focus\:ring-offset-black:focus{
    --tw-ring-offset-color: var(--text-color);
  }

  :root .lg\:focus\:ring-offset-white:focus{
    --tw-ring-offset-color: var(--text-color-light);
  }

  :root .lg\:focus\:ring-offset-contrast-black:focus{
    --tw-ring-offset-color: black;
  }

  :root .lg\:focus\:ring-offset-contrast-white:focus{
    --tw-ring-offset-color: white;
  }

  :root .lg\:focus\:ring-offset-gray-light:focus{
    --tw-ring-offset-color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:focus\:ring-offset-gray:focus{
    --tw-ring-offset-color: rgb(158, 158, 158);
  }

  :root .lg\:focus\:ring-offset-red-light:focus{
    --tw-ring-offset-color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:focus\:ring-offset-red:focus{
    --tw-ring-offset-color: rgb(244, 67, 54);
  }

  :root .lg\:focus\:ring-offset-orange-light:focus{
    --tw-ring-offset-color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:focus\:ring-offset-orange:focus{
    --tw-ring-offset-color: rgb(255, 152, 0);
  }

  :root .lg\:focus\:ring-offset-deep-orange-light:focus{
    --tw-ring-offset-color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:focus\:ring-offset-deep-orange:focus{
    --tw-ring-offset-color: rgb(255, 87, 34);
  }

  :root .lg\:focus\:ring-offset-amber-light:focus{
    --tw-ring-offset-color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:focus\:ring-offset-amber:focus{
    --tw-ring-offset-color: rgb(255, 193, 7);
  }

  :root .lg\:focus\:ring-offset-green-light:focus{
    --tw-ring-offset-color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:focus\:ring-offset-green:focus{
    --tw-ring-offset-color: rgb(76, 175, 80);
  }

  :root .lg\:focus\:ring-offset-teal-light:focus{
    --tw-ring-offset-color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:focus\:ring-offset-teal:focus{
    --tw-ring-offset-color: rgb(0, 150, 136);
  }

  :root .lg\:focus\:ring-offset-cyan-light:focus{
    --tw-ring-offset-color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:focus\:ring-offset-cyan:focus{
    --tw-ring-offset-color: rgb(0, 188, 212);
  }

  :root .lg\:focus\:ring-offset-purple-light:focus{
    --tw-ring-offset-color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:focus\:ring-offset-purple:focus{
    --tw-ring-offset-color: rgb(156, 39, 176);
  }

  :root .lg\:focus\:ring-offset-deep-purple-light:focus{
    --tw-ring-offset-color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:focus\:ring-offset-deep-purple:focus{
    --tw-ring-offset-color: rgb(103, 58, 183);
  }

  :root .lg\:focus\:ring-offset-pink-light:focus{
    --tw-ring-offset-color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:focus\:ring-offset-pink:focus{
    --tw-ring-offset-color: rgb(233, 30, 99);
  }

  :root .lg\:focus\:ring-offset-primary-light:focus{
    --tw-ring-offset-color: rgba(var(--color-primary), .1);
  }

  :root .lg\:focus\:ring-offset-primary:focus{
    --tw-ring-offset-color: rgb(var(--color-primary));
  }

  :root .lg\:focus\:ring-offset-accent-light:focus{
    --tw-ring-offset-color: rgba(var(--color-accent), .1);
  }

  :root .lg\:focus\:ring-offset-accent:focus{
    --tw-ring-offset-color: rgb(var(--color-accent));
  }

  :root .lg\:focus\:ring-offset-warn-light:focus{
    --tw-ring-offset-color: rgba(var(--color-warn), .1);
  }

  :root .lg\:focus\:ring-offset-warn:focus{
    --tw-ring-offset-color: rgb(var(--color-warn));
  }

  :root .lg\:ring-offset-0{
    --tw-ring-offset-width: 0px;
  }

  :root .lg\:ring-offset-1{
    --tw-ring-offset-width: 1px;
  }

  :root .lg\:ring-offset-2{
    --tw-ring-offset-width: 2px;
  }

  :root .lg\:ring-offset-4{
    --tw-ring-offset-width: 4px;
  }

  :root .lg\:ring-offset-8{
    --tw-ring-offset-width: 8px;
  }

  :root .lg\:focus-within\:ring-offset-0:focus-within{
    --tw-ring-offset-width: 0px;
  }

  :root .lg\:focus-within\:ring-offset-1:focus-within{
    --tw-ring-offset-width: 1px;
  }

  :root .lg\:focus-within\:ring-offset-2:focus-within{
    --tw-ring-offset-width: 2px;
  }

  :root .lg\:focus-within\:ring-offset-4:focus-within{
    --tw-ring-offset-width: 4px;
  }

  :root .lg\:focus-within\:ring-offset-8:focus-within{
    --tw-ring-offset-width: 8px;
  }

  :root .lg\:focus\:ring-offset-0:focus{
    --tw-ring-offset-width: 0px;
  }

  :root .lg\:focus\:ring-offset-1:focus{
    --tw-ring-offset-width: 1px;
  }

  :root .lg\:focus\:ring-offset-2:focus{
    --tw-ring-offset-width: 2px;
  }

  :root .lg\:focus\:ring-offset-4:focus{
    --tw-ring-offset-width: 4px;
  }

  :root .lg\:focus\:ring-offset-8:focus{
    --tw-ring-offset-width: 8px;
  }

  :root .lg\:ring-current{
    --tw-ring-color: currentColor;
  }

  :root .lg\:ring-transparent{
    --tw-ring-color: transparent;
  }

  :root .lg\:ring-black{
    --tw-ring-color: var(--text-color);
  }

  :root .lg\:ring-white{
    --tw-ring-color: var(--text-color-light);
  }

  :root .lg\:ring-contrast-black{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
  }

  :root .lg\:ring-contrast-white{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
  }

  :root .lg\:ring-gray-light{
    --tw-ring-color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:ring-gray{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
  }

  :root .lg\:ring-red-light{
    --tw-ring-color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:ring-red{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
  }

  :root .lg\:ring-orange-light{
    --tw-ring-color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:ring-orange{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
  }

  :root .lg\:ring-deep-orange-light{
    --tw-ring-color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:ring-deep-orange{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
  }

  :root .lg\:ring-amber-light{
    --tw-ring-color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:ring-amber{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
  }

  :root .lg\:ring-green-light{
    --tw-ring-color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:ring-green{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
  }

  :root .lg\:ring-teal-light{
    --tw-ring-color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:ring-teal{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
  }

  :root .lg\:ring-cyan-light{
    --tw-ring-color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:ring-cyan{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
  }

  :root .lg\:ring-purple-light{
    --tw-ring-color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:ring-purple{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
  }

  :root .lg\:ring-deep-purple-light{
    --tw-ring-color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:ring-deep-purple{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
  }

  :root .lg\:ring-pink-light{
    --tw-ring-color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:ring-pink{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
  }

  :root .lg\:ring-primary-light{
    --tw-ring-color: rgba(var(--color-primary), .1);
  }

  :root .lg\:ring-primary{
    --tw-ring-color: rgb(var(--color-primary));
  }

  :root .lg\:ring-accent-light{
    --tw-ring-color: rgba(var(--color-accent), .1);
  }

  :root .lg\:ring-accent{
    --tw-ring-color: rgb(var(--color-accent));
  }

  :root .lg\:ring-warn-light{
    --tw-ring-color: rgba(var(--color-warn), .1);
  }

  :root .lg\:ring-warn{
    --tw-ring-color: rgb(var(--color-warn));
  }

  :root .lg\:focus-within\:ring-current:focus-within{
    --tw-ring-color: currentColor;
  }

  :root .lg\:focus-within\:ring-transparent:focus-within{
    --tw-ring-color: transparent;
  }

  :root .lg\:focus-within\:ring-black:focus-within{
    --tw-ring-color: var(--text-color);
  }

  :root .lg\:focus-within\:ring-white:focus-within{
    --tw-ring-color: var(--text-color-light);
  }

  :root .lg\:focus-within\:ring-contrast-black:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
  }

  :root .lg\:focus-within\:ring-contrast-white:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
  }

  :root .lg\:focus-within\:ring-gray-light:focus-within{
    --tw-ring-color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:focus-within\:ring-gray:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
  }

  :root .lg\:focus-within\:ring-red-light:focus-within{
    --tw-ring-color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:focus-within\:ring-red:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
  }

  :root .lg\:focus-within\:ring-orange-light:focus-within{
    --tw-ring-color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:focus-within\:ring-orange:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
  }

  :root .lg\:focus-within\:ring-deep-orange-light:focus-within{
    --tw-ring-color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:focus-within\:ring-deep-orange:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
  }

  :root .lg\:focus-within\:ring-amber-light:focus-within{
    --tw-ring-color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:focus-within\:ring-amber:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
  }

  :root .lg\:focus-within\:ring-green-light:focus-within{
    --tw-ring-color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:focus-within\:ring-green:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
  }

  :root .lg\:focus-within\:ring-teal-light:focus-within{
    --tw-ring-color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:focus-within\:ring-teal:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
  }

  :root .lg\:focus-within\:ring-cyan-light:focus-within{
    --tw-ring-color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:focus-within\:ring-cyan:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
  }

  :root .lg\:focus-within\:ring-purple-light:focus-within{
    --tw-ring-color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:focus-within\:ring-purple:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
  }

  :root .lg\:focus-within\:ring-deep-purple-light:focus-within{
    --tw-ring-color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:focus-within\:ring-deep-purple:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
  }

  :root .lg\:focus-within\:ring-pink-light:focus-within{
    --tw-ring-color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:focus-within\:ring-pink:focus-within{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
  }

  :root .lg\:focus-within\:ring-primary-light:focus-within{
    --tw-ring-color: rgba(var(--color-primary), .1);
  }

  :root .lg\:focus-within\:ring-primary:focus-within{
    --tw-ring-color: rgb(var(--color-primary));
  }

  :root .lg\:focus-within\:ring-accent-light:focus-within{
    --tw-ring-color: rgba(var(--color-accent), .1);
  }

  :root .lg\:focus-within\:ring-accent:focus-within{
    --tw-ring-color: rgb(var(--color-accent));
  }

  :root .lg\:focus-within\:ring-warn-light:focus-within{
    --tw-ring-color: rgba(var(--color-warn), .1);
  }

  :root .lg\:focus-within\:ring-warn:focus-within{
    --tw-ring-color: rgb(var(--color-warn));
  }

  :root .lg\:focus\:ring-current:focus{
    --tw-ring-color: currentColor;
  }

  :root .lg\:focus\:ring-transparent:focus{
    --tw-ring-color: transparent;
  }

  :root .lg\:focus\:ring-black:focus{
    --tw-ring-color: var(--text-color);
  }

  :root .lg\:focus\:ring-white:focus{
    --tw-ring-color: var(--text-color-light);
  }

  :root .lg\:focus\:ring-contrast-black:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 0, 0, var(--tw-ring-opacity));
  }

  :root .lg\:focus\:ring-contrast-white:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
  }

  :root .lg\:focus\:ring-gray-light:focus{
    --tw-ring-color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:focus\:ring-gray:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(158, 158, 158, var(--tw-ring-opacity));
  }

  :root .lg\:focus\:ring-red-light:focus{
    --tw-ring-color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:focus\:ring-red:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(244, 67, 54, var(--tw-ring-opacity));
  }

  :root .lg\:focus\:ring-orange-light:focus{
    --tw-ring-color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:focus\:ring-orange:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 152, 0, var(--tw-ring-opacity));
  }

  :root .lg\:focus\:ring-deep-orange-light:focus{
    --tw-ring-color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:focus\:ring-deep-orange:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 87, 34, var(--tw-ring-opacity));
  }

  :root .lg\:focus\:ring-amber-light:focus{
    --tw-ring-color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:focus\:ring-amber:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(255, 193, 7, var(--tw-ring-opacity));
  }

  :root .lg\:focus\:ring-green-light:focus{
    --tw-ring-color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:focus\:ring-green:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(76, 175, 80, var(--tw-ring-opacity));
  }

  :root .lg\:focus\:ring-teal-light:focus{
    --tw-ring-color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:focus\:ring-teal:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 150, 136, var(--tw-ring-opacity));
  }

  :root .lg\:focus\:ring-cyan-light:focus{
    --tw-ring-color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:focus\:ring-cyan:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(0, 188, 212, var(--tw-ring-opacity));
  }

  :root .lg\:focus\:ring-purple-light:focus{
    --tw-ring-color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:focus\:ring-purple:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(156, 39, 176, var(--tw-ring-opacity));
  }

  :root .lg\:focus\:ring-deep-purple-light:focus{
    --tw-ring-color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:focus\:ring-deep-purple:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(103, 58, 183, var(--tw-ring-opacity));
  }

  :root .lg\:focus\:ring-pink-light:focus{
    --tw-ring-color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:focus\:ring-pink:focus{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(233, 30, 99, var(--tw-ring-opacity));
  }

  :root .lg\:focus\:ring-primary-light:focus{
    --tw-ring-color: rgba(var(--color-primary), .1);
  }

  :root .lg\:focus\:ring-primary:focus{
    --tw-ring-color: rgb(var(--color-primary));
  }

  :root .lg\:focus\:ring-accent-light:focus{
    --tw-ring-color: rgba(var(--color-accent), .1);
  }

  :root .lg\:focus\:ring-accent:focus{
    --tw-ring-color: rgb(var(--color-accent));
  }

  :root .lg\:focus\:ring-warn-light:focus{
    --tw-ring-color: rgba(var(--color-warn), .1);
  }

  :root .lg\:focus\:ring-warn:focus{
    --tw-ring-color: rgb(var(--color-warn));
  }

  :root .lg\:ring-opacity-0{
    --tw-ring-opacity: 0;
  }

  :root .lg\:ring-opacity-25{
    --tw-ring-opacity: 0.25;
  }

  :root .lg\:ring-opacity-50{
    --tw-ring-opacity: 0.5;
  }

  :root .lg\:ring-opacity-75{
    --tw-ring-opacity: 0.75;
  }

  :root .lg\:ring-opacity-100{
    --tw-ring-opacity: 1;
  }

  :root .lg\:focus-within\:ring-opacity-0:focus-within{
    --tw-ring-opacity: 0;
  }

  :root .lg\:focus-within\:ring-opacity-25:focus-within{
    --tw-ring-opacity: 0.25;
  }

  :root .lg\:focus-within\:ring-opacity-50:focus-within{
    --tw-ring-opacity: 0.5;
  }

  :root .lg\:focus-within\:ring-opacity-75:focus-within{
    --tw-ring-opacity: 0.75;
  }

  :root .lg\:focus-within\:ring-opacity-100:focus-within{
    --tw-ring-opacity: 1;
  }

  :root .lg\:focus\:ring-opacity-0:focus{
    --tw-ring-opacity: 0;
  }

  :root .lg\:focus\:ring-opacity-25:focus{
    --tw-ring-opacity: 0.25;
  }

  :root .lg\:focus\:ring-opacity-50:focus{
    --tw-ring-opacity: 0.5;
  }

  :root .lg\:focus\:ring-opacity-75:focus{
    --tw-ring-opacity: 0.75;
  }

  :root .lg\:focus\:ring-opacity-100:focus{
    --tw-ring-opacity: 1;
  }

  :root .lg\:fill-current{
    fill: currentColor;
  }

  :root .lg\:stroke-current{
    stroke: currentColor;
  }

  :root .lg\:stroke-0{
    stroke-width: 0;
  }

  :root .lg\:stroke-1{
    stroke-width: 1;
  }

  :root .lg\:stroke-2{
    stroke-width: 2;
  }

  :root .lg\:table-auto{
    table-layout: auto;
  }

  :root .lg\:table-fixed{
    table-layout: fixed;
  }

  :root .lg\:text-left{
    text-align: left;
  }

  :root .lg\:text-center{
    text-align: center;
  }

  :root .lg\:text-right{
    text-align: right;
  }

  :root .lg\:text-justify{
    text-align: justify;
  }

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

  :root .lg\:text-hint{
    color: var(--text-hint);
  }

  :root .lg\:text-current{
    color: currentColor;
  }

  :root .lg\:text-transparent{
    color: transparent;
  }

  :root .lg\:text-black{
    color: var(--text-color);
  }

  :root .lg\:text-white{
    color: var(--text-color-light);
  }

  :root .lg\:text-contrast-black{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .lg\:text-contrast-white{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:text-gray-light{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:text-gray{
    --tw-text-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-text-opacity));
  }

  :root .lg\:text-red-light{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:text-red{
    --tw-text-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-text-opacity));
  }

  :root .lg\:text-orange-light{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:text-orange{
    --tw-text-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-text-opacity));
  }

  :root .lg\:text-deep-orange-light{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:text-deep-orange{
    --tw-text-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-text-opacity));
  }

  :root .lg\:text-amber-light{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:text-amber{
    --tw-text-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-text-opacity));
  }

  :root .lg\:text-green-light{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:text-green{
    --tw-text-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-text-opacity));
  }

  :root .lg\:text-teal-light{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:text-teal{
    --tw-text-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-text-opacity));
  }

  :root .lg\:text-cyan-light{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:text-cyan{
    --tw-text-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-text-opacity));
  }

  :root .lg\:text-purple-light{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:text-purple{
    --tw-text-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-text-opacity));
  }

  :root .lg\:text-deep-purple-light{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:text-deep-purple{
    --tw-text-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-text-opacity));
  }

  :root .lg\:text-pink-light{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:text-pink{
    --tw-text-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-text-opacity));
  }

  :root .lg\:text-primary-light{
    color: rgba(var(--color-primary), .1);
  }

  :root .lg\:text-primary{
    color: rgb(var(--color-primary));
  }

  :root .lg\:text-accent-light{
    color: rgba(var(--color-accent), .1);
  }

  :root .lg\:text-accent{
    color: rgb(var(--color-accent));
  }

  :root .lg\:text-warn-light{
    color: rgba(var(--color-warn), .1);
  }

  :root .lg\:text-warn{
    color: rgb(var(--color-warn));
  }

  :root .lg\:text-primary-contrast{
    color: rgb(var(--color-primary-contrast));
  }

  :root .lg\:text-accent-contrast{
    color: rgb(var(--color-accent-contrast));
  }

  :root .lg\:text-warn-contrast{
    color: rgb(var(--color-warn-contrast));
  }

  :root .lg\:text-red-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:text-green-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:text-amber-contrast{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .lg\:text-orange-contrast{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .lg\:text-deep-orange-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:text-purple-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:text-deep-purple-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:text-cyan-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:text-teal-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:text-gray-contrast{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:text-light-green-contrast{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-secondary:hover{
    color: var(--text-secondary);
  }

  :root .lg\:hover\:text-hint:hover{
    color: var(--text-hint);
  }

  :root .lg\:hover\:text-current:hover{
    color: currentColor;
  }

  :root .lg\:hover\:text-transparent:hover{
    color: transparent;
  }

  :root .lg\:hover\:text-black:hover{
    color: var(--text-color);
  }

  :root .lg\:hover\:text-white:hover{
    color: var(--text-color-light);
  }

  :root .lg\:hover\:text-contrast-black:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-contrast-white:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-gray-light:hover{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:hover\:text-gray:hover{
    --tw-text-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-red-light:hover{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:hover\:text-red:hover{
    --tw-text-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-orange-light:hover{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:hover\:text-orange:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-deep-orange-light:hover{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:hover\:text-deep-orange:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-amber-light:hover{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:hover\:text-amber:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-green-light:hover{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:hover\:text-green:hover{
    --tw-text-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-teal-light:hover{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:hover\:text-teal:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-cyan-light:hover{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:hover\:text-cyan:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-purple-light:hover{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:hover\:text-purple:hover{
    --tw-text-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-deep-purple-light:hover{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:hover\:text-deep-purple:hover{
    --tw-text-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-pink-light:hover{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:hover\:text-pink:hover{
    --tw-text-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-primary-light:hover{
    color: rgba(var(--color-primary), .1);
  }

  :root .lg\:hover\:text-primary:hover{
    color: rgb(var(--color-primary));
  }

  :root .lg\:hover\:text-accent-light:hover{
    color: rgba(var(--color-accent), .1);
  }

  :root .lg\:hover\:text-accent:hover{
    color: rgb(var(--color-accent));
  }

  :root .lg\:hover\:text-warn-light:hover{
    color: rgba(var(--color-warn), .1);
  }

  :root .lg\:hover\:text-warn:hover{
    color: rgb(var(--color-warn));
  }

  :root .lg\:hover\:text-primary-contrast:hover{
    color: rgb(var(--color-primary-contrast));
  }

  :root .lg\:hover\:text-accent-contrast:hover{
    color: rgb(var(--color-accent-contrast));
  }

  :root .lg\:hover\:text-warn-contrast:hover{
    color: rgb(var(--color-warn-contrast));
  }

  :root .lg\:hover\:text-red-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-green-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-amber-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-orange-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-deep-orange-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-purple-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-deep-purple-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-cyan-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-teal-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-gray-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:hover\:text-light-green-contrast:hover{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-secondary:focus{
    color: var(--text-secondary);
  }

  :root .lg\:focus\:text-hint:focus{
    color: var(--text-hint);
  }

  :root .lg\:focus\:text-current:focus{
    color: currentColor;
  }

  :root .lg\:focus\:text-transparent:focus{
    color: transparent;
  }

  :root .lg\:focus\:text-black:focus{
    color: var(--text-color);
  }

  :root .lg\:focus\:text-white:focus{
    color: var(--text-color-light);
  }

  :root .lg\:focus\:text-contrast-black:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-contrast-white:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-gray-light:focus{
    color: rgba(158, 158, 158, 0.1);
  }

  :root .lg\:focus\:text-gray:focus{
    --tw-text-opacity: 1;
    color: rgba(158, 158, 158, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-red-light:focus{
    color: rgba(244, 67, 54, 0.1);
  }

  :root .lg\:focus\:text-red:focus{
    --tw-text-opacity: 1;
    color: rgba(244, 67, 54, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-orange-light:focus{
    color: rgba(255, 152, 0, 0.1);
  }

  :root .lg\:focus\:text-orange:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 152, 0, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-deep-orange-light:focus{
    color: rgba(255, 87, 34, 0.1);
  }

  :root .lg\:focus\:text-deep-orange:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 87, 34, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-amber-light:focus{
    color: rgba(255, 193, 7, 0.1);
  }

  :root .lg\:focus\:text-amber:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 193, 7, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-green-light:focus{
    color: rgba(76, 175, 80, 0.1);
  }

  :root .lg\:focus\:text-green:focus{
    --tw-text-opacity: 1;
    color: rgba(76, 175, 80, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-teal-light:focus{
    color: rgba(0, 150, 136, 0.1);
  }

  :root .lg\:focus\:text-teal:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 150, 136, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-cyan-light:focus{
    color: rgba(0, 188, 212, 0.1);
  }

  :root .lg\:focus\:text-cyan:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 188, 212, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-purple-light:focus{
    color: rgba(156, 39, 176, 0.1);
  }

  :root .lg\:focus\:text-purple:focus{
    --tw-text-opacity: 1;
    color: rgba(156, 39, 176, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-deep-purple-light:focus{
    color: rgba(103, 58, 183, 0.1);
  }

  :root .lg\:focus\:text-deep-purple:focus{
    --tw-text-opacity: 1;
    color: rgba(103, 58, 183, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-pink-light:focus{
    color: rgba(233, 30, 99, 0.1);
  }

  :root .lg\:focus\:text-pink:focus{
    --tw-text-opacity: 1;
    color: rgba(233, 30, 99, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-primary-light:focus{
    color: rgba(var(--color-primary), .1);
  }

  :root .lg\:focus\:text-primary:focus{
    color: rgb(var(--color-primary));
  }

  :root .lg\:focus\:text-accent-light:focus{
    color: rgba(var(--color-accent), .1);
  }

  :root .lg\:focus\:text-accent:focus{
    color: rgb(var(--color-accent));
  }

  :root .lg\:focus\:text-warn-light:focus{
    color: rgba(var(--color-warn), .1);
  }

  :root .lg\:focus\:text-warn:focus{
    color: rgb(var(--color-warn));
  }

  :root .lg\:focus\:text-primary-contrast:focus{
    color: rgb(var(--color-primary-contrast));
  }

  :root .lg\:focus\:text-accent-contrast:focus{
    color: rgb(var(--color-accent-contrast));
  }

  :root .lg\:focus\:text-warn-contrast:focus{
    color: rgb(var(--color-warn-contrast));
  }

  :root .lg\:focus\:text-red-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-green-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-amber-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-orange-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-deep-orange-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-purple-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-deep-purple-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-cyan-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-teal-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-gray-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, var(--tw-text-opacity));
  }

  :root .lg\:focus\:text-light-green-contrast:focus{
    --tw-text-opacity: 1;
    color: rgba(0, 0, 0, var(--tw-text-opacity));
  }

  :root .lg\:text-opacity-0{
    --tw-text-opacity: 0;
  }

  :root .lg\:text-opacity-25{
    --tw-text-opacity: 0.25;
  }

  :root .lg\:text-opacity-50{
    --tw-text-opacity: 0.5;
  }

  :root .lg\:text-opacity-75{
    --tw-text-opacity: 0.75;
  }

  :root .lg\:text-opacity-100{
    --tw-text-opacity: 1;
  }

  :root .group:hover .lg\:group-hover\:text-opacity-0{
    --tw-text-opacity: 0;
  }

  :root .group:hover .lg\:group-hover\:text-opacity-25{
    --tw-text-opacity: 0.25;
  }

  :root .group:hover .lg\:group-hover\:text-opacity-50{
    --tw-text-opacity: 0.5;
  }

  :root .group:hover .lg\:group-hover\:text-opacity-75{
    --tw-text-opacity: 0.75;
  }

  :root .group:hover .lg\:group-hover\:text-opacity-100{
    --tw-text-opacity: 1;
  }

  :root .lg\:focus-within\:text-opacity-0:focus-within{
    --tw-text-opacity: 0;
  }

  :root .lg\:focus-within\:text-opacity-25:focus-within{
    --tw-text-opacity: 0.25;
  }

  :root .lg\:focus-within\:text-opacity-50:focus-within{
    --tw-text-opacity: 0.5;
  }

  :root .lg\:focus-within\:text-opacity-75:focus-within{
    --tw-text-opacity: 0.75;
  }

  :root .lg\:focus-within\:text-opacity-100:focus-within{
    --tw-text-opacity: 1;
  }

  :root .lg\:hover\:text-opacity-0:hover{
    --tw-text-opacity: 0;
  }

  :root .lg\:hover\:text-opacity-25:hover{
    --tw-text-opacity: 0.25;
  }

  :root .lg\:hover\:text-opacity-50:hover{
    --tw-text-opacity: 0.5;
  }

  :root .lg\:hover\:text-opacity-75:hover{
    --tw-text-opacity: 0.75;
  }

  :root .lg\:hover\:text-opacity-100:hover{
    --tw-text-opacity: 1;
  }

  :root .lg\:focus\:text-opacity-0:focus{
    --tw-text-opacity: 0;
  }

  :root .lg\:focus\:text-opacity-25:focus{
    --tw-text-opacity: 0.25;
  }

  :root .lg\:focus\:text-opacity-50:focus{
    --tw-text-opacity: 0.5;
  }

  :root .lg\:focus\:text-opacity-75:focus{
    --tw-text-opacity: 0.75;
  }

  :root .lg\:focus\:text-opacity-100:focus{
    --tw-text-opacity: 1;
  }

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

  :root .lg\:overflow-ellipsis{
    text-overflow: ellipsis;
  }

  :root .lg\:overflow-clip{
    text-overflow: clip;
  }

  :root .lg\:italic{
    font-style: italic;
  }

  :root .lg\:not-italic{
    font-style: normal;
  }

  :root .lg\:uppercase{
    text-transform: uppercase;
  }

  :root .lg\:lowercase{
    text-transform: lowercase;
  }

  :root .lg\:capitalize{
    text-transform: capitalize;
  }

  :root .lg\:normal-case{
    text-transform: none;
  }

  :root .lg\:underline{
    text-decoration: underline;
  }

  :root .lg\:line-through{
    text-decoration: line-through;
  }

  :root .lg\:no-underline{
    text-decoration: none;
  }

  :root .lg\:hover\:underline:hover{
    text-decoration: underline;
  }

  :root .lg\:hover\:line-through:hover{
    text-decoration: line-through;
  }

  :root .lg\:hover\:no-underline:hover{
    text-decoration: none;
  }

  :root .lg\:focus\:underline:focus{
    text-decoration: underline;
  }

  :root .lg\:focus\:line-through:focus{
    text-decoration: line-through;
  }

  :root .lg\:focus\:no-underline:focus{
    text-decoration: none;
  }

  :root .lg\:antialiased{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  :root .lg\:subpixel-antialiased{
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
  }

  :root .lg\:ordinal, :root .lg\:slashed-zero, :root .lg\:lining-nums, :root .lg\:oldstyle-nums, :root .lg\:proportional-nums, :root .lg\:tabular-nums, :root .lg\:diagonal-fractions, :root .lg\:stacked-fractions{
    --tw-ordinal: var(--tw-empty,/*!*/ /*!*/);
    --tw-slashed-zero: var(--tw-empty,/*!*/ /*!*/);
    --tw-numeric-figure: var(--tw-empty,/*!*/ /*!*/);
    --tw-numeric-spacing: var(--tw-empty,/*!*/ /*!*/);
    --tw-numeric-fraction: var(--tw-empty,/*!*/ /*!*/);
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  }

  :root .lg\:normal-nums{
    font-variant-numeric: normal;
  }

  :root .lg\:ordinal{
    --tw-ordinal: ordinal;
  }

  :root .lg\:slashed-zero{
    --tw-slashed-zero: slashed-zero;
  }

  :root .lg\:lining-nums{
    --tw-numeric-figure: lining-nums;
  }

  :root .lg\:oldstyle-nums{
    --tw-numeric-figure: oldstyle-nums;
  }

  :root .lg\:proportional-nums{
    --tw-numeric-spacing: proportional-nums;
  }

  :root .lg\:tabular-nums{
    --tw-numeric-spacing: tabular-nums;
  }

  :root .lg\:diagonal-fractions{
    --tw-numeric-fraction: diagonal-fractions;
  }

  :root .lg\:stacked-fractions{
    --tw-numeric-fraction: stacked-fractions;
  }

  :root .lg\:tracking-tighter{
    letter-spacing: -0.05em;
  }

  :root .lg\:tracking-tight{
    letter-spacing: -0.025em;
  }

  :root .lg\:tracking-normal{
    letter-spacing: 0;
  }

  :root .lg\:tracking-wide{
    letter-spacing: 0.025em;
  }

  :root .lg\:tracking-wider{
    letter-spacing: 0.05em;
  }

  :root .lg\:tracking-widest{
    letter-spacing: 0.1em;
  }

  :root .lg\:select-none{
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }

  :root .lg\:select-text{
    -webkit-user-select: text;
       -moz-user-select: text;
            user-select: text;
  }

  :root .lg\:select-all{
    -webkit-user-select: all;
       -moz-user-select: all;
            user-select: all;
  }

  :root .lg\:select-auto{
    -webkit-user-select: auto;
       -moz-user-select: auto;
            user-select: auto;
  }

  :root .lg\:align-baseline{
    vertical-align: baseline;
  }

  :root .lg\:align-top{
    vertical-align: top;
  }

  :root .lg\:align-middle{
    vertical-align: middle;
  }

  :root .lg\:align-bottom{
    vertical-align: bottom;
  }

  :root .lg\:align-text-top{
    vertical-align: text-top;
  }

  :root .lg\:align-text-bottom{
    vertical-align: text-bottom;
  }

  :root .lg\:visible{
    visibility: visible;
  }

  :root .lg\:invisible{
    visibility: hidden;
  }

  :root .lg\:whitespace-normal{
    white-space: normal;
  }

  :root .lg\:whitespace-nowrap{
    white-space: nowrap;
  }

  :root .lg\:whitespace-pre{
    white-space: pre;
  }

  :root .lg\:whitespace-pre-line{
    white-space: pre-line;
  }

  :root .lg\:whitespace-pre-wrap{
    white-space: pre-wrap;
  }

  :root .lg\:break-normal{
    overflow-wrap: normal;
    word-break: normal;
  }

  :root .lg\:break-words{
    overflow-wrap: break-word;
  }

  :root .lg\:break-all{
    word-break: break-all;
  }

  :root .lg\:w-0{
    width: 0;
  }

  :root .lg\:w-1{
    width: 0.25rem;
  }

  :root .lg\:w-2{
    width: 0.5rem;
  }

  :root .lg\:w-3{
    width: 0.75rem;
  }

  :root .lg\:w-4{
    width: 1rem;
  }

  :root .lg\:w-5{
    width: 1.25rem;
  }

  :root .lg\:w-6{
    width: 1.5rem;
  }

  :root .lg\:w-8{
    width: 2rem;
  }

  :root .lg\:w-9{
    width: 2.25rem;
  }

  :root .lg\:w-10{
    width: 2.5rem;
  }

  :root .lg\:w-12{
    width: 3rem;
  }

  :root .lg\:w-14{
    width: 3.5rem;
  }

  :root .lg\:w-16{
    width: 4rem;
  }

  :root .lg\:w-20{
    width: 5rem;
  }

  :root .lg\:w-24{
    width: 6rem;
  }

  :root .lg\:w-32{
    width: 8rem;
  }

  :root .lg\:w-40{
    width: 10rem;
  }

  :root .lg\:w-48{
    width: 12rem;
  }

  :root .lg\:w-56{
    width: 14rem;
  }

  :root .lg\:w-64{
    width: 16rem;
  }

  :root .lg\:w-auto{
    width: auto;
  }

  :root .lg\:w-px{
    width: 1px;
  }

  :root .lg\:w-gutter{
    width: var(--padding-gutter);
  }

  :root .lg\:w-1\/2{
    width: 50%;
  }

  :root .lg\:w-1\/3{
    width: 33.333333%;
  }

  :root .lg\:w-2\/3{
    width: 66.666667%;
  }

  :root .lg\:w-1\/4{
    width: 25%;
  }

  :root .lg\:w-2\/4{
    width: 50%;
  }

  :root .lg\:w-3\/4{
    width: 75%;
  }

  :root .lg\:w-1\/5{
    width: 20%;
  }

  :root .lg\:w-2\/5{
    width: 40%;
  }

  :root .lg\:w-3\/5{
    width: 60%;
  }

  :root .lg\:w-4\/5{
    width: 80%;
  }

  :root .lg\:w-1\/6{
    width: 16.666667%;
  }

  :root .lg\:w-2\/6{
    width: 33.333333%;
  }

  :root .lg\:w-3\/6{
    width: 50%;
  }

  :root .lg\:w-4\/6{
    width: 66.666667%;
  }

  :root .lg\:w-5\/6{
    width: 83.333333%;
  }

  :root .lg\:w-1\/12{
    width: 8.333333%;
  }

  :root .lg\:w-2\/12{
    width: 16.666667%;
  }

  :root .lg\:w-3\/12{
    width: 25%;
  }

  :root .lg\:w-4\/12{
    width: 33.333333%;
  }

  :root .lg\:w-5\/12{
    width: 41.666667%;
  }

  :root .lg\:w-6\/12{
    width: 50%;
  }

  :root .lg\:w-7\/12{
    width: 58.333333%;
  }

  :root .lg\:w-8\/12{
    width: 66.666667%;
  }

  :root .lg\:w-9\/12{
    width: 75%;
  }

  :root .lg\:w-10\/12{
    width: 83.333333%;
  }

  :root .lg\:w-11\/12{
    width: 91.666667%;
  }

  :root .lg\:w-full{
    width: 100%;
  }

  :root .lg\:w-screen{
    width: 100vw;
  }

  :root .lg\:z-0{
    z-index: 0;
  }

  :root .lg\:z-10{
    z-index: 10;
  }

  :root .lg\:z-20{
    z-index: 20;
  }

  :root .lg\:z-30{
    z-index: 30;
  }

  :root .lg\:z-40{
    z-index: 40;
  }

  :root .lg\:z-50{
    z-index: 50;
  }

  :root .lg\:z-auto{
    z-index: auto;
  }

  :root .lg\:gap-0{
    gap: 0;
  }

  :root .lg\:gap-1{
    gap: 0.25rem;
  }

  :root .lg\:gap-2{
    gap: 0.5rem;
  }

  :root .lg\:gap-3{
    gap: 0.75rem;
  }

  :root .lg\:gap-4{
    gap: 1rem;
  }

  :root .lg\:gap-5{
    gap: 1.25rem;
  }

  :root .lg\:gap-6{
    gap: 1.5rem;
  }

  :root .lg\:gap-8{
    gap: 2rem;
  }

  :root .lg\:gap-9{
    gap: 2.25rem;
  }

  :root .lg\:gap-10{
    gap: 2.5rem;
  }

  :root .lg\:gap-12{
    gap: 3rem;
  }

  :root .lg\:gap-14{
    gap: 3.5rem;
  }

  :root .lg\:gap-16{
    gap: 4rem;
  }

  :root .lg\:gap-20{
    gap: 5rem;
  }

  :root .lg\:gap-24{
    gap: 6rem;
  }

  :root .lg\:gap-32{
    gap: 8rem;
  }

  :root .lg\:gap-40{
    gap: 10rem;
  }

  :root .lg\:gap-48{
    gap: 12rem;
  }

  :root .lg\:gap-56{
    gap: 14rem;
  }

  :root .lg\:gap-64{
    gap: 16rem;
  }

  :root .lg\:gap-px{
    gap: 1px;
  }

  :root .lg\:gap-gutter{
    gap: var(--padding-gutter);
  }

  :root .lg\:gap-x-0{
    -moz-column-gap: 0;
         column-gap: 0;
  }

  :root .lg\:gap-x-1{
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }

  :root .lg\:gap-x-2{
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }

  :root .lg\:gap-x-3{
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
  }

  :root .lg\:gap-x-4{
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }

  :root .lg\:gap-x-5{
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
  }

  :root .lg\:gap-x-6{
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }

  :root .lg\:gap-x-8{
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }

  :root .lg\:gap-x-9{
    -moz-column-gap: 2.25rem;
         column-gap: 2.25rem;
  }

  :root .lg\:gap-x-10{
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }

  :root .lg\:gap-x-12{
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }

  :root .lg\:gap-x-14{
    -moz-column-gap: 3.5rem;
         column-gap: 3.5rem;
  }

  :root .lg\:gap-x-16{
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }

  :root .lg\:gap-x-20{
    -moz-column-gap: 5rem;
         column-gap: 5rem;
  }

  :root .lg\:gap-x-24{
    -moz-column-gap: 6rem;
         column-gap: 6rem;
  }

  :root .lg\:gap-x-32{
    -moz-column-gap: 8rem;
         column-gap: 8rem;
  }

  :root .lg\:gap-x-40{
    -moz-column-gap: 10rem;
         column-gap: 10rem;
  }

  :root .lg\:gap-x-48{
    -moz-column-gap: 12rem;
         column-gap: 12rem;
  }

  :root .lg\:gap-x-56{
    -moz-column-gap: 14rem;
         column-gap: 14rem;
  }

  :root .lg\:gap-x-64{
    -moz-column-gap: 16rem;
         column-gap: 16rem;
  }

  :root .lg\:gap-x-px{
    -moz-column-gap: 1px;
         column-gap: 1px;
  }

  :root .lg\:gap-x-gutter{
    -moz-column-gap: var(--padding-gutter);
         column-gap: var(--padding-gutter);
  }

  :root .lg\:gap-y-0{
    row-gap: 0;
  }

  :root .lg\:gap-y-1{
    row-gap: 0.25rem;
  }

  :root .lg\:gap-y-2{
    row-gap: 0.5rem;
  }

  :root .lg\:gap-y-3{
    row-gap: 0.75rem;
  }

  :root .lg\:gap-y-4{
    row-gap: 1rem;
  }

  :root .lg\:gap-y-5{
    row-gap: 1.25rem;
  }

  :root .lg\:gap-y-6{
    row-gap: 1.5rem;
  }

  :root .lg\:gap-y-8{
    row-gap: 2rem;
  }

  :root .lg\:gap-y-9{
    row-gap: 2.25rem;
  }

  :root .lg\:gap-y-10{
    row-gap: 2.5rem;
  }

  :root .lg\:gap-y-12{
    row-gap: 3rem;
  }

  :root .lg\:gap-y-14{
    row-gap: 3.5rem;
  }

  :root .lg\:gap-y-16{
    row-gap: 4rem;
  }

  :root .lg\:gap-y-20{
    row-gap: 5rem;
  }

  :root .lg\:gap-y-24{
    row-gap: 6rem;
  }

  :root .lg\:gap-y-32{
    row-gap: 8rem;
  }

  :root .lg\:gap-y-40{
    row-gap: 10rem;
  }

  :root .lg\:gap-y-48{
    row-gap: 12rem;
  }

  :root .lg\:gap-y-56{
    row-gap: 14rem;
  }

  :root .lg\:gap-y-64{
    row-gap: 16rem;
  }

  :root .lg\:gap-y-px{
    row-gap: 1px;
  }

  :root .lg\:gap-y-gutter{
    row-gap: var(--padding-gutter);
  }

  :root .lg\:grid-flow-row{
    grid-auto-flow: row;
  }

  :root .lg\:grid-flow-col{
    grid-auto-flow: column;
  }

  :root .lg\:grid-flow-row-dense{
    grid-auto-flow: row dense;
  }

  :root .lg\:grid-flow-col-dense{
    grid-auto-flow: column dense;
  }

  :root .lg\:grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  :root .lg\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :root .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  :root .lg\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  :root .lg\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  :root .lg\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  :root .lg\:grid-cols-7{
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  :root .lg\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  :root .lg\:grid-cols-9{
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }

  :root .lg\:grid-cols-10{
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  :root .lg\:grid-cols-11{
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }

  :root .lg\:grid-cols-12{
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  :root .lg\:grid-cols-none{
    grid-template-columns: none;
  }

  :root .lg\:auto-cols-auto{
    grid-auto-columns: auto;
  }

  :root .lg\:auto-cols-min{
    grid-auto-columns: -webkit-min-content;
    grid-auto-columns: min-content;
  }

  :root .lg\:auto-cols-max{
    grid-auto-columns: -webkit-max-content;
    grid-auto-columns: max-content;
  }

  :root .lg\:auto-cols-fr{
    grid-auto-columns: minmax(0, 1fr);
  }

  :root .lg\:col-auto{
    grid-column: auto;
  }

  :root .lg\:col-span-1{
    grid-column: span 1 / span 1;
  }

  :root .lg\:col-span-2{
    grid-column: span 2 / span 2;
  }

  :root .lg\:col-span-3{
    grid-column: span 3 / span 3;
  }

  :root .lg\:col-span-4{
    grid-column: span 4 / span 4;
  }

  :root .lg\:col-span-5{
    grid-column: span 5 / span 5;
  }

  :root .lg\:col-span-6{
    grid-column: span 6 / span 6;
  }

  :root .lg\:col-span-7{
    grid-column: span 7 / span 7;
  }

  :root .lg\:col-span-8{
    grid-column: span 8 / span 8;
  }

  :root .lg\:col-span-9{
    grid-column: span 9 / span 9;
  }

  :root .lg\:col-span-10{
    grid-column: span 10 / span 10;
  }

  :root .lg\:col-span-11{
    grid-column: span 11 / span 11;
  }

  :root .lg\:col-span-12{
    grid-column: span 12 / span 12;
  }

  :root .lg\:col-span-full{
    grid-column: 1 / -1;
  }

  :root .lg\:col-start-1{
    grid-column-start: 1;
  }

  :root .lg\:col-start-2{
    grid-column-start: 2;
  }

  :root .lg\:col-start-3{
    grid-column-start: 3;
  }

  :root .lg\:col-start-4{
    grid-column-start: 4;
  }

  :root .lg\:col-start-5{
    grid-column-start: 5;
  }

  :root .lg\:col-start-6{
    grid-column-start: 6;
  }

  :root .lg\:col-start-7{
    grid-column-start: 7;
  }

  :root .lg\:col-start-8{
    grid-column-start: 8;
  }

  :root .lg\:col-start-9{
    grid-column-start: 9;
  }

  :root .lg\:col-start-10{
    grid-column-start: 10;
  }

  :root .lg\:col-start-11{
    grid-column-start: 11;
  }

  :root .lg\:col-start-12{
    grid-column-start: 12;
  }

  :root .lg\:col-start-13{
    grid-column-start: 13;
  }

  :root .lg\:col-start-auto{
    grid-column-start: auto;
  }

  :root .lg\:col-end-1{
    grid-column-end: 1;
  }

  :root .lg\:col-end-2{
    grid-column-end: 2;
  }

  :root .lg\:col-end-3{
    grid-column-end: 3;
  }

  :root .lg\:col-end-4{
    grid-column-end: 4;
  }

  :root .lg\:col-end-5{
    grid-column-end: 5;
  }

  :root .lg\:col-end-6{
    grid-column-end: 6;
  }

  :root .lg\:col-end-7{
    grid-column-end: 7;
  }

  :root .lg\:col-end-8{
    grid-column-end: 8;
  }

  :root .lg\:col-end-9{
    grid-column-end: 9;
  }

  :root .lg\:col-end-10{
    grid-column-end: 10;
  }

  :root .lg\:col-end-11{
    grid-column-end: 11;
  }

  :root .lg\:col-end-12{
    grid-column-end: 12;
  }

  :root .lg\:col-end-13{
    grid-column-end: 13;
  }

  :root .lg\:col-end-auto{
    grid-column-end: auto;
  }

  :root .lg\:grid-rows-1{
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }

  :root .lg\:grid-rows-2{
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }

  :root .lg\:grid-rows-3{
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }

  :root .lg\:grid-rows-4{
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }

  :root .lg\:grid-rows-5{
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }

  :root .lg\:grid-rows-6{
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }

  :root .lg\:grid-rows-none{
    grid-template-rows: none;
  }

  :root .lg\:auto-rows-auto{
    grid-auto-rows: auto;
  }

  :root .lg\:auto-rows-min{
    grid-auto-rows: -webkit-min-content;
    grid-auto-rows: min-content;
  }

  :root .lg\:auto-rows-max{
    grid-auto-rows: -webkit-max-content;
    grid-auto-rows: max-content;
  }

  :root .lg\:auto-rows-fr{
    grid-auto-rows: minmax(0, 1fr);
  }

  :root .lg\:row-auto{
    grid-row: auto;
  }

  :root .lg\:row-span-1{
    grid-row: span 1 / span 1;
  }

  :root .lg\:row-span-2{
    grid-row: span 2 / span 2;
  }

  :root .lg\:row-span-3{
    grid-row: span 3 / span 3;
  }

  :root .lg\:row-span-4{
    grid-row: span 4 / span 4;
  }

  :root .lg\:row-span-5{
    grid-row: span 5 / span 5;
  }

  :root .lg\:row-span-6{
    grid-row: span 6 / span 6;
  }

  :root .lg\:row-span-full{
    grid-row: 1 / -1;
  }

  :root .lg\:row-start-1{
    grid-row-start: 1;
  }

  :root .lg\:row-start-2{
    grid-row-start: 2;
  }

  :root .lg\:row-start-3{
    grid-row-start: 3;
  }

  :root .lg\:row-start-4{
    grid-row-start: 4;
  }

  :root .lg\:row-start-5{
    grid-row-start: 5;
  }

  :root .lg\:row-start-6{
    grid-row-start: 6;
  }

  :root .lg\:row-start-7{
    grid-row-start: 7;
  }

  :root .lg\:row-start-auto{
    grid-row-start: auto;
  }

  :root .lg\:row-end-1{
    grid-row-end: 1;
  }

  :root .lg\:row-end-2{
    grid-row-end: 2;
  }

  :root .lg\:row-end-3{
    grid-row-end: 3;
  }

  :root .lg\:row-end-4{
    grid-row-end: 4;
  }

  :root .lg\:row-end-5{
    grid-row-end: 5;
  }

  :root .lg\:row-end-6{
    grid-row-end: 6;
  }

  :root .lg\:row-end-7{
    grid-row-end: 7;
  }

  :root .lg\:row-end-auto{
    grid-row-end: auto;
  }

  :root .lg\:transform{
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  :root .lg\:transform-gpu{
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  :root .lg\:transform-none{
    transform: none;
  }

  :root .lg\:origin-center{
    transform-origin: center;
  }

  :root .lg\:origin-top{
    transform-origin: top;
  }

  :root .lg\:origin-top-right{
    transform-origin: top right;
  }

  :root .lg\:origin-right{
    transform-origin: right;
  }

  :root .lg\:origin-bottom-right{
    transform-origin: bottom right;
  }

  :root .lg\:origin-bottom{
    transform-origin: bottom;
  }

  :root .lg\:origin-bottom-left{
    transform-origin: bottom left;
  }

  :root .lg\:origin-left{
    transform-origin: left;
  }

  :root .lg\:origin-top-left{
    transform-origin: top left;
  }

  :root .lg\:scale-0{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
  }

  :root .lg\:scale-50{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
  }

  :root .lg\:scale-75{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
  }

  :root .lg\:scale-90{
    --tw-scale-x: .9;
    --tw-scale-y: .9;
  }

  :root .lg\:scale-95{
    --tw-scale-x: .95;
    --tw-scale-y: .95;
  }

  :root .lg\:scale-100{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
  }

  :root .lg\:scale-105{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  :root .lg\:scale-110{
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
  }

  :root .lg\:scale-125{
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
  }

  :root .lg\:scale-150{
    --tw-scale-x: 1.5;
    --tw-scale-y: 1.5;
  }

  :root .lg\:scale-x-0{
    --tw-scale-x: 0;
  }

  :root .lg\:scale-x-50{
    --tw-scale-x: .5;
  }

  :root .lg\:scale-x-75{
    --tw-scale-x: .75;
  }

  :root .lg\:scale-x-90{
    --tw-scale-x: .9;
  }

  :root .lg\:scale-x-95{
    --tw-scale-x: .95;
  }

  :root .lg\:scale-x-100{
    --tw-scale-x: 1;
  }

  :root .lg\:scale-x-105{
    --tw-scale-x: 1.05;
  }

  :root .lg\:scale-x-110{
    --tw-scale-x: 1.1;
  }

  :root .lg\:scale-x-125{
    --tw-scale-x: 1.25;
  }

  :root .lg\:scale-x-150{
    --tw-scale-x: 1.5;
  }

  :root .lg\:scale-y-0{
    --tw-scale-y: 0;
  }

  :root .lg\:scale-y-50{
    --tw-scale-y: .5;
  }

  :root .lg\:scale-y-75{
    --tw-scale-y: .75;
  }

  :root .lg\:scale-y-90{
    --tw-scale-y: .9;
  }

  :root .lg\:scale-y-95{
    --tw-scale-y: .95;
  }

  :root .lg\:scale-y-100{
    --tw-scale-y: 1;
  }

  :root .lg\:scale-y-105{
    --tw-scale-y: 1.05;
  }

  :root .lg\:scale-y-110{
    --tw-scale-y: 1.1;
  }

  :root .lg\:scale-y-125{
    --tw-scale-y: 1.25;
  }

  :root .lg\:scale-y-150{
    --tw-scale-y: 1.5;
  }

  :root .lg\:hover\:scale-0:hover{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
  }

  :root .lg\:hover\:scale-50:hover{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
  }

  :root .lg\:hover\:scale-75:hover{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
  }

  :root .lg\:hover\:scale-90:hover{
    --tw-scale-x: .9;
    --tw-scale-y: .9;
  }

  :root .lg\:hover\:scale-95:hover{
    --tw-scale-x: .95;
    --tw-scale-y: .95;
  }

  :root .lg\:hover\:scale-100:hover{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
  }

  :root .lg\:hover\:scale-105:hover{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  :root .lg\:hover\:scale-110:hover{
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
  }

  :root .lg\:hover\:scale-125:hover{
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
  }

  :root .lg\:hover\:scale-150:hover{
    --tw-scale-x: 1.5;
    --tw-scale-y: 1.5;
  }

  :root .lg\:hover\:scale-x-0:hover{
    --tw-scale-x: 0;
  }

  :root .lg\:hover\:scale-x-50:hover{
    --tw-scale-x: .5;
  }

  :root .lg\:hover\:scale-x-75:hover{
    --tw-scale-x: .75;
  }

  :root .lg\:hover\:scale-x-90:hover{
    --tw-scale-x: .9;
  }

  :root .lg\:hover\:scale-x-95:hover{
    --tw-scale-x: .95;
  }

  :root .lg\:hover\:scale-x-100:hover{
    --tw-scale-x: 1;
  }

  :root .lg\:hover\:scale-x-105:hover{
    --tw-scale-x: 1.05;
  }

  :root .lg\:hover\:scale-x-110:hover{
    --tw-scale-x: 1.1;
  }

  :root .lg\:hover\:scale-x-125:hover{
    --tw-scale-x: 1.25;
  }

  :root .lg\:hover\:scale-x-150:hover{
    --tw-scale-x: 1.5;
  }

  :root .lg\:hover\:scale-y-0:hover{
    --tw-scale-y: 0;
  }

  :root .lg\:hover\:scale-y-50:hover{
    --tw-scale-y: .5;
  }

  :root .lg\:hover\:scale-y-75:hover{
    --tw-scale-y: .75;
  }

  :root .lg\:hover\:scale-y-90:hover{
    --tw-scale-y: .9;
  }

  :root .lg\:hover\:scale-y-95:hover{
    --tw-scale-y: .95;
  }

  :root .lg\:hover\:scale-y-100:hover{
    --tw-scale-y: 1;
  }

  :root .lg\:hover\:scale-y-105:hover{
    --tw-scale-y: 1.05;
  }

  :root .lg\:hover\:scale-y-110:hover{
    --tw-scale-y: 1.1;
  }

  :root .lg\:hover\:scale-y-125:hover{
    --tw-scale-y: 1.25;
  }

  :root .lg\:hover\:scale-y-150:hover{
    --tw-scale-y: 1.5;
  }

  :root .lg\:focus\:scale-0:focus{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
  }

  :root .lg\:focus\:scale-50:focus{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
  }

  :root .lg\:focus\:scale-75:focus{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
  }

  :root .lg\:focus\:scale-90:focus{
    --tw-scale-x: .9;
    --tw-scale-y: .9;
  }

  :root .lg\:focus\:scale-95:focus{
    --tw-scale-x: .95;
    --tw-scale-y: .95;
  }

  :root .lg\:focus\:scale-100:focus{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
  }

  :root .lg\:focus\:scale-105:focus{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  :root .lg\:focus\:scale-110:focus{
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
  }

  :root .lg\:focus\:scale-125:focus{
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
  }

  :root .lg\:focus\:scale-150:focus{
    --tw-scale-x: 1.5;
    --tw-scale-y: 1.5;
  }

  :root .lg\:focus\:scale-x-0:focus{
    --tw-scale-x: 0;
  }

  :root .lg\:focus\:scale-x-50:focus{
    --tw-scale-x: .5;
  }

  :root .lg\:focus\:scale-x-75:focus{
    --tw-scale-x: .75;
  }

  :root .lg\:focus\:scale-x-90:focus{
    --tw-scale-x: .9;
  }

  :root .lg\:focus\:scale-x-95:focus{
    --tw-scale-x: .95;
  }

  :root .lg\:focus\:scale-x-100:focus{
    --tw-scale-x: 1;
  }

  :root .lg\:focus\:scale-x-105:focus{
    --tw-scale-x: 1.05;
  }

  :root .lg\:focus\:scale-x-110:focus{
    --tw-scale-x: 1.1;
  }

  :root .lg\:focus\:scale-x-125:focus{
    --tw-scale-x: 1.25;
  }

  :root .lg\:focus\:scale-x-150:focus{
    --tw-scale-x: 1.5;
  }

  :root .lg\:focus\:scale-y-0:focus{
    --tw-scale-y: 0;
  }

  :root .lg\:focus\:scale-y-50:focus{
    --tw-scale-y: .5;
  }

  :root .lg\:focus\:scale-y-75:focus{
    --tw-scale-y: .75;
  }

  :root .lg\:focus\:scale-y-90:focus{
    --tw-scale-y: .9;
  }

  :root .lg\:focus\:scale-y-95:focus{
    --tw-scale-y: .95;
  }

  :root .lg\:focus\:scale-y-100:focus{
    --tw-scale-y: 1;
  }

  :root .lg\:focus\:scale-y-105:focus{
    --tw-scale-y: 1.05;
  }

  :root .lg\:focus\:scale-y-110:focus{
    --tw-scale-y: 1.1;
  }

  :root .lg\:focus\:scale-y-125:focus{
    --tw-scale-y: 1.25;
  }

  :root .lg\:focus\:scale-y-150:focus{
    --tw-scale-y: 1.5;
  }

  :root .lg\:rotate-0{
    --tw-rotate: 0deg;
  }

  :root .lg\:rotate-1{
    --tw-rotate: 1deg;
  }

  :root .lg\:rotate-2{
    --tw-rotate: 2deg;
  }

  :root .lg\:rotate-3{
    --tw-rotate: 3deg;
  }

  :root .lg\:rotate-6{
    --tw-rotate: 6deg;
  }

  :root .lg\:rotate-12{
    --tw-rotate: 12deg;
  }

  :root .lg\:rotate-45{
    --tw-rotate: 45deg;
  }

  :root .lg\:rotate-90{
    --tw-rotate: 90deg;
  }

  :root .lg\:rotate-180{
    --tw-rotate: 180deg;
  }

  :root .lg\:-rotate-180{
    --tw-rotate: -180deg;
  }

  :root .lg\:-rotate-90{
    --tw-rotate: -90deg;
  }

  :root .lg\:-rotate-45{
    --tw-rotate: -45deg;
  }

  :root .lg\:-rotate-12{
    --tw-rotate: -12deg;
  }

  :root .lg\:-rotate-6{
    --tw-rotate: -6deg;
  }

  :root .lg\:-rotate-3{
    --tw-rotate: -3deg;
  }

  :root .lg\:-rotate-2{
    --tw-rotate: -2deg;
  }

  :root .lg\:-rotate-1{
    --tw-rotate: -1deg;
  }

  :root .lg\:hover\:rotate-0:hover{
    --tw-rotate: 0deg;
  }

  :root .lg\:hover\:rotate-1:hover{
    --tw-rotate: 1deg;
  }

  :root .lg\:hover\:rotate-2:hover{
    --tw-rotate: 2deg;
  }

  :root .lg\:hover\:rotate-3:hover{
    --tw-rotate: 3deg;
  }

  :root .lg\:hover\:rotate-6:hover{
    --tw-rotate: 6deg;
  }

  :root .lg\:hover\:rotate-12:hover{
    --tw-rotate: 12deg;
  }

  :root .lg\:hover\:rotate-45:hover{
    --tw-rotate: 45deg;
  }

  :root .lg\:hover\:rotate-90:hover{
    --tw-rotate: 90deg;
  }

  :root .lg\:hover\:rotate-180:hover{
    --tw-rotate: 180deg;
  }

  :root .lg\:hover\:-rotate-180:hover{
    --tw-rotate: -180deg;
  }

  :root .lg\:hover\:-rotate-90:hover{
    --tw-rotate: -90deg;
  }

  :root .lg\:hover\:-rotate-45:hover{
    --tw-rotate: -45deg;
  }

  :root .lg\:hover\:-rotate-12:hover{
    --tw-rotate: -12deg;
  }

  :root .lg\:hover\:-rotate-6:hover{
    --tw-rotate: -6deg;
  }

  :root .lg\:hover\:-rotate-3:hover{
    --tw-rotate: -3deg;
  }

  :root .lg\:hover\:-rotate-2:hover{
    --tw-rotate: -2deg;
  }

  :root .lg\:hover\:-rotate-1:hover{
    --tw-rotate: -1deg;
  }

  :root .lg\:focus\:rotate-0:focus{
    --tw-rotate: 0deg;
  }

  :root .lg\:focus\:rotate-1:focus{
    --tw-rotate: 1deg;
  }

  :root .lg\:focus\:rotate-2:focus{
    --tw-rotate: 2deg;
  }

  :root .lg\:focus\:rotate-3:focus{
    --tw-rotate: 3deg;
  }

  :root .lg\:focus\:rotate-6:focus{
    --tw-rotate: 6deg;
  }

  :root .lg\:focus\:rotate-12:focus{
    --tw-rotate: 12deg;
  }

  :root .lg\:focus\:rotate-45:focus{
    --tw-rotate: 45deg;
  }

  :root .lg\:focus\:rotate-90:focus{
    --tw-rotate: 90deg;
  }

  :root .lg\:focus\:rotate-180:focus{
    --tw-rotate: 180deg;
  }

  :root .lg\:focus\:-rotate-180:focus{
    --tw-rotate: -180deg;
  }

  :root .lg\:focus\:-rotate-90:focus{
    --tw-rotate: -90deg;
  }

  :root .lg\:focus\:-rotate-45:focus{
    --tw-rotate: -45deg;
  }

  :root .lg\:focus\:-rotate-12:focus{
    --tw-rotate: -12deg;
  }

  :root .lg\:focus\:-rotate-6:focus{
    --tw-rotate: -6deg;
  }

  :root .lg\:focus\:-rotate-3:focus{
    --tw-rotate: -3deg;
  }

  :root .lg\:focus\:-rotate-2:focus{
    --tw-rotate: -2deg;
  }

  :root .lg\:focus\:-rotate-1:focus{
    --tw-rotate: -1deg;
  }

  :root .lg\:translate-x-0{
    --tw-translate-x: 0;
  }

  :root .lg\:translate-x-1{
    --tw-translate-x: 0.25rem;
  }

  :root .lg\:translate-x-2{
    --tw-translate-x: 0.5rem;
  }

  :root .lg\:translate-x-3{
    --tw-translate-x: 0.75rem;
  }

  :root .lg\:translate-x-4{
    --tw-translate-x: 1rem;
  }

  :root .lg\:translate-x-5{
    --tw-translate-x: 1.25rem;
  }

  :root .lg\:translate-x-6{
    --tw-translate-x: 1.5rem;
  }

  :root .lg\:translate-x-8{
    --tw-translate-x: 2rem;
  }

  :root .lg\:translate-x-9{
    --tw-translate-x: 2.25rem;
  }

  :root .lg\:translate-x-10{
    --tw-translate-x: 2.5rem;
  }

  :root .lg\:translate-x-12{
    --tw-translate-x: 3rem;
  }

  :root .lg\:translate-x-14{
    --tw-translate-x: 3.5rem;
  }

  :root .lg\:translate-x-16{
    --tw-translate-x: 4rem;
  }

  :root .lg\:translate-x-20{
    --tw-translate-x: 5rem;
  }

  :root .lg\:translate-x-24{
    --tw-translate-x: 6rem;
  }

  :root .lg\:translate-x-32{
    --tw-translate-x: 8rem;
  }

  :root .lg\:translate-x-40{
    --tw-translate-x: 10rem;
  }

  :root .lg\:translate-x-48{
    --tw-translate-x: 12rem;
  }

  :root .lg\:translate-x-56{
    --tw-translate-x: 14rem;
  }

  :root .lg\:translate-x-64{
    --tw-translate-x: 16rem;
  }

  :root .lg\:translate-x-px{
    --tw-translate-x: 1px;
  }

  :root .lg\:translate-x-gutter{
    --tw-translate-x: var(--padding-gutter);
  }

  :root .lg\:-translate-x-1{
    --tw-translate-x: -0.25rem;
  }

  :root .lg\:-translate-x-2{
    --tw-translate-x: -0.5rem;
  }

  :root .lg\:-translate-x-3{
    --tw-translate-x: -0.75rem;
  }

  :root .lg\:-translate-x-4{
    --tw-translate-x: -1rem;
  }

  :root .lg\:-translate-x-5{
    --tw-translate-x: -1.25rem;
  }

  :root .lg\:-translate-x-6{
    --tw-translate-x: -1.5rem;
  }

  :root .lg\:-translate-x-8{
    --tw-translate-x: -2rem;
  }

  :root .lg\:-translate-x-9{
    --tw-translate-x: -2.25rem;
  }

  :root .lg\:-translate-x-10{
    --tw-translate-x: -2.5rem;
  }

  :root .lg\:-translate-x-12{
    --tw-translate-x: -3rem;
  }

  :root .lg\:-translate-x-14{
    --tw-translate-x: -3.5rem;
  }

  :root .lg\:-translate-x-16{
    --tw-translate-x: -4rem;
  }

  :root .lg\:-translate-x-20{
    --tw-translate-x: -5rem;
  }

  :root .lg\:-translate-x-24{
    --tw-translate-x: -6rem;
  }

  :root .lg\:-translate-x-32{
    --tw-translate-x: -8rem;
  }

  :root .lg\:-translate-x-40{
    --tw-translate-x: -10rem;
  }

  :root .lg\:-translate-x-48{
    --tw-translate-x: -12rem;
  }

  :root .lg\:-translate-x-56{
    --tw-translate-x: -14rem;
  }

  :root .lg\:-translate-x-64{
    --tw-translate-x: -16rem;
  }

  :root .lg\:-translate-x-px{
    --tw-translate-x: -1px;
  }

  :root .lg\:-translate-x-gutter{
    --tw-translate-x: calc(var(--padding-gutter) * -1);
  }

  :root .lg\:translate-x-1\/2{
    --tw-translate-x: 50%;
  }

  :root .lg\:translate-x-1\/3{
    --tw-translate-x: 33.333333%;
  }

  :root .lg\:translate-x-2\/3{
    --tw-translate-x: 66.666667%;
  }

  :root .lg\:translate-x-1\/4{
    --tw-translate-x: 25%;
  }

  :root .lg\:translate-x-2\/4{
    --tw-translate-x: 50%;
  }

  :root .lg\:translate-x-3\/4{
    --tw-translate-x: 75%;
  }

  :root .lg\:translate-x-full{
    --tw-translate-x: 100%;
  }

  :root .lg\:-translate-x-1\/2{
    --tw-translate-x: -50%;
  }

  :root .lg\:-translate-x-1\/3{
    --tw-translate-x: -33.333333%;
  }

  :root .lg\:-translate-x-2\/3{
    --tw-translate-x: -66.666667%;
  }

  :root .lg\:-translate-x-1\/4{
    --tw-translate-x: -25%;
  }

  :root .lg\:-translate-x-2\/4{
    --tw-translate-x: -50%;
  }

  :root .lg\:-translate-x-3\/4{
    --tw-translate-x: -75%;
  }

  :root .lg\:-translate-x-full{
    --tw-translate-x: -100%;
  }

  :root .lg\:translate-y-0{
    --tw-translate-y: 0;
  }

  :root .lg\:translate-y-1{
    --tw-translate-y: 0.25rem;
  }

  :root .lg\:translate-y-2{
    --tw-translate-y: 0.5rem;
  }

  :root .lg\:translate-y-3{
    --tw-translate-y: 0.75rem;
  }

  :root .lg\:translate-y-4{
    --tw-translate-y: 1rem;
  }

  :root .lg\:translate-y-5{
    --tw-translate-y: 1.25rem;
  }

  :root .lg\:translate-y-6{
    --tw-translate-y: 1.5rem;
  }

  :root .lg\:translate-y-8{
    --tw-translate-y: 2rem;
  }

  :root .lg\:translate-y-9{
    --tw-translate-y: 2.25rem;
  }

  :root .lg\:translate-y-10{
    --tw-translate-y: 2.5rem;
  }

  :root .lg\:translate-y-12{
    --tw-translate-y: 3rem;
  }

  :root .lg\:translate-y-14{
    --tw-translate-y: 3.5rem;
  }

  :root .lg\:translate-y-16{
    --tw-translate-y: 4rem;
  }

  :root .lg\:translate-y-20{
    --tw-translate-y: 5rem;
  }

  :root .lg\:translate-y-24{
    --tw-translate-y: 6rem;
  }

  :root .lg\:translate-y-32{
    --tw-translate-y: 8rem;
  }

  :root .lg\:translate-y-40{
    --tw-translate-y: 10rem;
  }

  :root .lg\:translate-y-48{
    --tw-translate-y: 12rem;
  }

  :root .lg\:translate-y-56{
    --tw-translate-y: 14rem;
  }

  :root .lg\:translate-y-64{
    --tw-translate-y: 16rem;
  }

  :root .lg\:translate-y-px{
    --tw-translate-y: 1px;
  }

  :root .lg\:translate-y-gutter{
    --tw-translate-y: var(--padding-gutter);
  }

  :root .lg\:-translate-y-1{
    --tw-translate-y: -0.25rem;
  }

  :root .lg\:-translate-y-2{
    --tw-translate-y: -0.5rem;
  }

  :root .lg\:-translate-y-3{
    --tw-translate-y: -0.75rem;
  }

  :root .lg\:-translate-y-4{
    --tw-translate-y: -1rem;
  }

  :root .lg\:-translate-y-5{
    --tw-translate-y: -1.25rem;
  }

  :root .lg\:-translate-y-6{
    --tw-translate-y: -1.5rem;
  }

  :root .lg\:-translate-y-8{
    --tw-translate-y: -2rem;
  }

  :root .lg\:-translate-y-9{
    --tw-translate-y: -2.25rem;
  }

  :root .lg\:-translate-y-10{
    --tw-translate-y: -2.5rem;
  }

  :root .lg\:-translate-y-12{
    --tw-translate-y: -3rem;
  }

  :root .lg\:-translate-y-14{
    --tw-translate-y: -3.5rem;
  }

  :root .lg\:-translate-y-16{
    --tw-translate-y: -4rem;
  }

  :root .lg\:-translate-y-20{
    --tw-translate-y: -5rem;
  }

  :root .lg\:-translate-y-24{
    --tw-translate-y: -6rem;
  }

  :root .lg\:-translate-y-32{
    --tw-translate-y: -8rem;
  }

  :root .lg\:-translate-y-40{
    --tw-translate-y: -10rem;
  }

  :root .lg\:-translate-y-48{
    --tw-translate-y: -12rem;
  }

  :root .lg\:-translate-y-56{
    --tw-translate-y: -14rem;
  }

  :root .lg\:-translate-y-64{
    --tw-translate-y: -16rem;
  }

  :root .lg\:-translate-y-px{
    --tw-translate-y: -1px;
  }

  :root .lg\:-translate-y-gutter{
    --tw-translate-y: calc(var(--padding-gutter) * -1);
  }

  :root .lg\:translate-y-1\/2{
    --tw-translate-y: 50%;
  }

  :root .lg\:translate-y-1\/3{
    --tw-translate-y: 33.333333%;
  }

  :root .lg\:translate-y-2\/3{
    --tw-translate-y: 66.666667%;
  }

  :root .lg\:translate-y-1\/4{
    --tw-translate-y: 25%;
  }

  :root .lg\:translate-y-2\/4{
    --tw-translate-y: 50%;
  }

  :root .lg\:translate-y-3\/4{
    --tw-translate-y: 75%;
  }

  :root .lg\:translate-y-full{
    --tw-translate-y: 100%;
  }

  :root .lg\:-translate-y-1\/2{
    --tw-translate-y: -50%;
  }

  :root .lg\:-translate-y-1\/3{
    --tw-translate-y: -33.333333%;
  }

  :root .lg\:-translate-y-2\/3{
    --tw-translate-y: -66.666667%;
  }

  :root .lg\:-translate-y-1\/4{
    --tw-translate-y: -25%;
  }

  :root .lg\:-translate-y-2\/4{
    --tw-translate-y: -50%;
  }

  :root .lg\:-translate-y-3\/4{
    --tw-translate-y: -75%;
  }

  :root .lg\:-translate-y-full{
    --tw-translate-y: -100%;
  }

  :root .lg\:hover\:translate-x-0:hover{
    --tw-translate-x: 0;
  }

  :root .lg\:hover\:translate-x-1:hover{
    --tw-translate-x: 0.25rem;
  }

  :root .lg\:hover\:translate-x-2:hover{
    --tw-translate-x: 0.5rem;
  }

  :root .lg\:hover\:translate-x-3:hover{
    --tw-translate-x: 0.75rem;
  }

  :root .lg\:hover\:translate-x-4:hover{
    --tw-translate-x: 1rem;
  }

  :root .lg\:hover\:translate-x-5:hover{
    --tw-translate-x: 1.25rem;
  }

  :root .lg\:hover\:translate-x-6:hover{
    --tw-translate-x: 1.5rem;
  }

  :root .lg\:hover\:translate-x-8:hover{
    --tw-translate-x: 2rem;
  }

  :root .lg\:hover\:translate-x-9:hover{
    --tw-translate-x: 2.25rem;
  }

  :root .lg\:hover\:translate-x-10:hover{
    --tw-translate-x: 2.5rem;
  }

  :root .lg\:hover\:translate-x-12:hover{
    --tw-translate-x: 3rem;
  }

  :root .lg\:hover\:translate-x-14:hover{
    --tw-translate-x: 3.5rem;
  }

  :root .lg\:hover\:translate-x-16:hover{
    --tw-translate-x: 4rem;
  }

  :root .lg\:hover\:translate-x-20:hover{
    --tw-translate-x: 5rem;
  }

  :root .lg\:hover\:translate-x-24:hover{
    --tw-translate-x: 6rem;
  }

  :root .lg\:hover\:translate-x-32:hover{
    --tw-translate-x: 8rem;
  }

  :root .lg\:hover\:translate-x-40:hover{
    --tw-translate-x: 10rem;
  }

  :root .lg\:hover\:translate-x-48:hover{
    --tw-translate-x: 12rem;
  }

  :root .lg\:hover\:translate-x-56:hover{
    --tw-translate-x: 14rem;
  }

  :root .lg\:hover\:translate-x-64:hover{
    --tw-translate-x: 16rem;
  }

  :root .lg\:hover\:translate-x-px:hover{
    --tw-translate-x: 1px;
  }

  :root .lg\:hover\:translate-x-gutter:hover{
    --tw-translate-x: var(--padding-gutter);
  }

  :root .lg\:hover\:-translate-x-1:hover{
    --tw-translate-x: -0.25rem;
  }

  :root .lg\:hover\:-translate-x-2:hover{
    --tw-translate-x: -0.5rem;
  }

  :root .lg\:hover\:-translate-x-3:hover{
    --tw-translate-x: -0.75rem;
  }

  :root .lg\:hover\:-translate-x-4:hover{
    --tw-translate-x: -1rem;
  }

  :root .lg\:hover\:-translate-x-5:hover{
    --tw-translate-x: -1.25rem;
  }

  :root .lg\:hover\:-translate-x-6:hover{
    --tw-translate-x: -1.5rem;
  }

  :root .lg\:hover\:-translate-x-8:hover{
    --tw-translate-x: -2rem;
  }

  :root .lg\:hover\:-translate-x-9:hover{
    --tw-translate-x: -2.25rem;
  }

  :root .lg\:hover\:-translate-x-10:hover{
    --tw-translate-x: -2.5rem;
  }

  :root .lg\:hover\:-translate-x-12:hover{
    --tw-translate-x: -3rem;
  }

  :root .lg\:hover\:-translate-x-14:hover{
    --tw-translate-x: -3.5rem;
  }

  :root .lg\:hover\:-translate-x-16:hover{
    --tw-translate-x: -4rem;
  }

  :root .lg\:hover\:-translate-x-20:hover{
    --tw-translate-x: -5rem;
  }

  :root .lg\:hover\:-translate-x-24:hover{
    --tw-translate-x: -6rem;
  }

  :root .lg\:hover\:-translate-x-32:hover{
    --tw-translate-x: -8rem;
  }

  :root .lg\:hover\:-translate-x-40:hover{
    --tw-translate-x: -10rem;
  }

  :root .lg\:hover\:-translate-x-48:hover{
    --tw-translate-x: -12rem;
  }

  :root .lg\:hover\:-translate-x-56:hover{
    --tw-translate-x: -14rem;
  }

  :root .lg\:hover\:-translate-x-64:hover{
    --tw-translate-x: -16rem;
  }

  :root .lg\:hover\:-translate-x-px:hover{
    --tw-translate-x: -1px;
  }

  :root .lg\:hover\:-translate-x-gutter:hover{
    --tw-translate-x: calc(var(--padding-gutter) * -1);
  }

  :root .lg\:hover\:translate-x-1\/2:hover{
    --tw-translate-x: 50%;
  }

  :root .lg\:hover\:translate-x-1\/3:hover{
    --tw-translate-x: 33.333333%;
  }

  :root .lg\:hover\:translate-x-2\/3:hover{
    --tw-translate-x: 66.666667%;
  }

  :root .lg\:hover\:translate-x-1\/4:hover{
    --tw-translate-x: 25%;
  }

  :root .lg\:hover\:translate-x-2\/4:hover{
    --tw-translate-x: 50%;
  }

  :root .lg\:hover\:translate-x-3\/4:hover{
    --tw-translate-x: 75%;
  }

  :root .lg\:hover\:translate-x-full:hover{
    --tw-translate-x: 100%;
  }

  :root .lg\:hover\:-translate-x-1\/2:hover{
    --tw-translate-x: -50%;
  }

  :root .lg\:hover\:-translate-x-1\/3:hover{
    --tw-translate-x: -33.333333%;
  }

  :root .lg\:hover\:-translate-x-2\/3:hover{
    --tw-translate-x: -66.666667%;
  }

  :root .lg\:hover\:-translate-x-1\/4:hover{
    --tw-translate-x: -25%;
  }

  :root .lg\:hover\:-translate-x-2\/4:hover{
    --tw-translate-x: -50%;
  }

  :root .lg\:hover\:-translate-x-3\/4:hover{
    --tw-translate-x: -75%;
  }

  :root .lg\:hover\:-translate-x-full:hover{
    --tw-translate-x: -100%;
  }

  :root .lg\:hover\:translate-y-0:hover{
    --tw-translate-y: 0;
  }

  :root .lg\:hover\:translate-y-1:hover{
    --tw-translate-y: 0.25rem;
  }

  :root .lg\:hover\:translate-y-2:hover{
    --tw-translate-y: 0.5rem;
  }

  :root .lg\:hover\:translate-y-3:hover{
    --tw-translate-y: 0.75rem;
  }

  :root .lg\:hover\:translate-y-4:hover{
    --tw-translate-y: 1rem;
  }

  :root .lg\:hover\:translate-y-5:hover{
    --tw-translate-y: 1.25rem;
  }

  :root .lg\:hover\:translate-y-6:hover{
    --tw-translate-y: 1.5rem;
  }

  :root .lg\:hover\:translate-y-8:hover{
    --tw-translate-y: 2rem;
  }

  :root .lg\:hover\:translate-y-9:hover{
    --tw-translate-y: 2.25rem;
  }

  :root .lg\:hover\:translate-y-10:hover{
    --tw-translate-y: 2.5rem;
  }

  :root .lg\:hover\:translate-y-12:hover{
    --tw-translate-y: 3rem;
  }

  :root .lg\:hover\:translate-y-14:hover{
    --tw-translate-y: 3.5rem;
  }

  :root .lg\:hover\:translate-y-16:hover{
    --tw-translate-y: 4rem;
  }

  :root .lg\:hover\:translate-y-20:hover{
    --tw-translate-y: 5rem;
  }

  :root .lg\:hover\:translate-y-24:hover{
    --tw-translate-y: 6rem;
  }

  :root .lg\:hover\:translate-y-32:hover{
    --tw-translate-y: 8rem;
  }

  :root .lg\:hover\:translate-y-40:hover{
    --tw-translate-y: 10rem;
  }

  :root .lg\:hover\:translate-y-48:hover{
    --tw-translate-y: 12rem;
  }

  :root .lg\:hover\:translate-y-56:hover{
    --tw-translate-y: 14rem;
  }

  :root .lg\:hover\:translate-y-64:hover{
    --tw-translate-y: 16rem;
  }

  :root .lg\:hover\:translate-y-px:hover{
    --tw-translate-y: 1px;
  }

  :root .lg\:hover\:translate-y-gutter:hover{
    --tw-translate-y: var(--padding-gutter);
  }

  :root .lg\:hover\:-translate-y-1:hover{
    --tw-translate-y: -0.25rem;
  }

  :root .lg\:hover\:-translate-y-2:hover{
    --tw-translate-y: -0.5rem;
  }

  :root .lg\:hover\:-translate-y-3:hover{
    --tw-translate-y: -0.75rem;
  }

  :root .lg\:hover\:-translate-y-4:hover{
    --tw-translate-y: -1rem;
  }

  :root .lg\:hover\:-translate-y-5:hover{
    --tw-translate-y: -1.25rem;
  }

  :root .lg\:hover\:-translate-y-6:hover{
    --tw-translate-y: -1.5rem;
  }

  :root .lg\:hover\:-translate-y-8:hover{
    --tw-translate-y: -2rem;
  }

  :root .lg\:hover\:-translate-y-9:hover{
    --tw-translate-y: -2.25rem;
  }

  :root .lg\:hover\:-translate-y-10:hover{
    --tw-translate-y: -2.5rem;
  }

  :root .lg\:hover\:-translate-y-12:hover{
    --tw-translate-y: -3rem;
  }

  :root .lg\:hover\:-translate-y-14:hover{
    --tw-translate-y: -3.5rem;
  }

  :root .lg\:hover\:-translate-y-16:hover{
    --tw-translate-y: -4rem;
  }

  :root .lg\:hover\:-translate-y-20:hover{
    --tw-translate-y: -5rem;
  }

  :root .lg\:hover\:-translate-y-24:hover{
    --tw-translate-y: -6rem;
  }

  :root .lg\:hover\:-translate-y-32:hover{
    --tw-translate-y: -8rem;
  }

  :root .lg\:hover\:-translate-y-40:hover{
    --tw-translate-y: -10rem;
  }

  :root .lg\:hover\:-translate-y-48:hover{
    --tw-translate-y: -12rem;
  }

  :root .lg\:hover\:-translate-y-56:hover{
    --tw-translate-y: -14rem;
  }

  :root .lg\:hover\:-translate-y-64:hover{
    --tw-translate-y: -16rem;
  }

  :root .lg\:hover\:-translate-y-px:hover{
    --tw-translate-y: -1px;
  }

  :root .lg\:hover\:-translate-y-gutter:hover{
    --tw-translate-y: calc(var(--padding-gutter) * -1);
  }

  :root .lg\:hover\:translate-y-1\/2:hover{
    --tw-translate-y: 50%;
  }

  :root .lg\:hover\:translate-y-1\/3:hover{
    --tw-translate-y: 33.333333%;
  }

  :root .lg\:hover\:translate-y-2\/3:hover{
    --tw-translate-y: 66.666667%;
  }

  :root .lg\:hover\:translate-y-1\/4:hover{
    --tw-translate-y: 25%;
  }

  :root .lg\:hover\:translate-y-2\/4:hover{
    --tw-translate-y: 50%;
  }

  :root .lg\:hover\:translate-y-3\/4:hover{
    --tw-translate-y: 75%;
  }

  :root .lg\:hover\:translate-y-full:hover{
    --tw-translate-y: 100%;
  }

  :root .lg\:hover\:-translate-y-1\/2:hover{
    --tw-translate-y: -50%;
  }

  :root .lg\:hover\:-translate-y-1\/3:hover{
    --tw-translate-y: -33.333333%;
  }

  :root .lg\:hover\:-translate-y-2\/3:hover{
    --tw-translate-y: -66.666667%;
  }

  :root .lg\:hover\:-translate-y-1\/4:hover{
    --tw-translate-y: -25%;
  }

  :root .lg\:hover\:-translate-y-2\/4:hover{
    --tw-translate-y: -50%;
  }

  :root .lg\:hover\:-translate-y-3\/4:hover{
    --tw-translate-y: -75%;
  }

  :root .lg\:hover\:-translate-y-full:hover{
    --tw-translate-y: -100%;
  }

  :root .lg\:focus\:translate-x-0:focus{
    --tw-translate-x: 0;
  }

  :root .lg\:focus\:translate-x-1:focus{
    --tw-translate-x: 0.25rem;
  }

  :root .lg\:focus\:translate-x-2:focus{
    --tw-translate-x: 0.5rem;
  }

  :root .lg\:focus\:translate-x-3:focus{
    --tw-translate-x: 0.75rem;
  }

  :root .lg\:focus\:translate-x-4:focus{
    --tw-translate-x: 1rem;
  }

  :root .lg\:focus\:translate-x-5:focus{
    --tw-translate-x: 1.25rem;
  }

  :root .lg\:focus\:translate-x-6:focus{
    --tw-translate-x: 1.5rem;
  }

  :root .lg\:focus\:translate-x-8:focus{
    --tw-translate-x: 2rem;
  }

  :root .lg\:focus\:translate-x-9:focus{
    --tw-translate-x: 2.25rem;
  }

  :root .lg\:focus\:translate-x-10:focus{
    --tw-translate-x: 2.5rem;
  }

  :root .lg\:focus\:translate-x-12:focus{
    --tw-translate-x: 3rem;
  }

  :root .lg\:focus\:translate-x-14:focus{
    --tw-translate-x: 3.5rem;
  }

  :root .lg\:focus\:translate-x-16:focus{
    --tw-translate-x: 4rem;
  }

  :root .lg\:focus\:translate-x-20:focus{
    --tw-translate-x: 5rem;
  }

  :root .lg\:focus\:translate-x-24:focus{
    --tw-translate-x: 6rem;
  }

  :root .lg\:focus\:translate-x-32:focus{
    --tw-translate-x: 8rem;
  }

  :root .lg\:focus\:translate-x-40:focus{
    --tw-translate-x: 10rem;
  }

  :root .lg\:focus\:translate-x-48:focus{
    --tw-translate-x: 12rem;
  }

  :root .lg\:focus\:translate-x-56:focus{
    --tw-translate-x: 14rem;
  }

  :root .lg\:focus\:translate-x-64:focus{
    --tw-translate-x: 16rem;
  }

  :root .lg\:focus\:translate-x-px:focus{
    --tw-translate-x: 1px;
  }

  :root .lg\:focus\:translate-x-gutter:focus{
    --tw-translate-x: var(--padding-gutter);
  }

  :root .lg\:focus\:-translate-x-1:focus{
    --tw-translate-x: -0.25rem;
  }

  :root .lg\:focus\:-translate-x-2:focus{
    --tw-translate-x: -0.5rem;
  }

  :root .lg\:focus\:-translate-x-3:focus{
    --tw-translate-x: -0.75rem;
  }

  :root .lg\:focus\:-translate-x-4:focus{
    --tw-translate-x: -1rem;
  }

  :root .lg\:focus\:-translate-x-5:focus{
    --tw-translate-x: -1.25rem;
  }

  :root .lg\:focus\:-translate-x-6:focus{
    --tw-translate-x: -1.5rem;
  }

  :root .lg\:focus\:-translate-x-8:focus{
    --tw-translate-x: -2rem;
  }

  :root .lg\:focus\:-translate-x-9:focus{
    --tw-translate-x: -2.25rem;
  }

  :root .lg\:focus\:-translate-x-10:focus{
    --tw-translate-x: -2.5rem;
  }

  :root .lg\:focus\:-translate-x-12:focus{
    --tw-translate-x: -3rem;
  }

  :root .lg\:focus\:-translate-x-14:focus{
    --tw-translate-x: -3.5rem;
  }

  :root .lg\:focus\:-translate-x-16:focus{
    --tw-translate-x: -4rem;
  }

  :root .lg\:focus\:-translate-x-20:focus{
    --tw-translate-x: -5rem;
  }

  :root .lg\:focus\:-translate-x-24:focus{
    --tw-translate-x: -6rem;
  }

  :root .lg\:focus\:-translate-x-32:focus{
    --tw-translate-x: -8rem;
  }

  :root .lg\:focus\:-translate-x-40:focus{
    --tw-translate-x: -10rem;
  }

  :root .lg\:focus\:-translate-x-48:focus{
    --tw-translate-x: -12rem;
  }

  :root .lg\:focus\:-translate-x-56:focus{
    --tw-translate-x: -14rem;
  }

  :root .lg\:focus\:-translate-x-64:focus{
    --tw-translate-x: -16rem;
  }

  :root .lg\:focus\:-translate-x-px:focus{
    --tw-translate-x: -1px;
  }

  :root .lg\:focus\:-translate-x-gutter:focus{
    --tw-translate-x: calc(var(--padding-gutter) * -1);
  }

  :root .lg\:focus\:translate-x-1\/2:focus{
    --tw-translate-x: 50%;
  }

  :root .lg\:focus\:translate-x-1\/3:focus{
    --tw-translate-x: 33.333333%;
  }

  :root .lg\:focus\:translate-x-2\/3:focus{
    --tw-translate-x: 66.666667%;
  }

  :root .lg\:focus\:translate-x-1\/4:focus{
    --tw-translate-x: 25%;
  }

  :root .lg\:focus\:translate-x-2\/4:focus{
    --tw-translate-x: 50%;
  }

  :root .lg\:focus\:translate-x-3\/4:focus{
    --tw-translate-x: 75%;
  }

  :root .lg\:focus\:translate-x-full:focus{
    --tw-translate-x: 100%;
  }

  :root .lg\:focus\:-translate-x-1\/2:focus{
    --tw-translate-x: -50%;
  }

  :root .lg\:focus\:-translate-x-1\/3:focus{
    --tw-translate-x: -33.333333%;
  }

  :root .lg\:focus\:-translate-x-2\/3:focus{
    --tw-translate-x: -66.666667%;
  }

  :root .lg\:focus\:-translate-x-1\/4:focus{
    --tw-translate-x: -25%;
  }

  :root .lg\:focus\:-translate-x-2\/4:focus{
    --tw-translate-x: -50%;
  }

  :root .lg\:focus\:-translate-x-3\/4:focus{
    --tw-translate-x: -75%;
  }

  :root .lg\:focus\:-translate-x-full:focus{
    --tw-translate-x: -100%;
  }

  :root .lg\:focus\:translate-y-0:focus{
    --tw-translate-y: 0;
  }

  :root .lg\:focus\:translate-y-1:focus{
    --tw-translate-y: 0.25rem;
  }

  :root .lg\:focus\:translate-y-2:focus{
    --tw-translate-y: 0.5rem;
  }

  :root .lg\:focus\:translate-y-3:focus{
    --tw-translate-y: 0.75rem;
  }

  :root .lg\:focus\:translate-y-4:focus{
    --tw-translate-y: 1rem;
  }

  :root .lg\:focus\:translate-y-5:focus{
    --tw-translate-y: 1.25rem;
  }

  :root .lg\:focus\:translate-y-6:focus{
    --tw-translate-y: 1.5rem;
  }

  :root .lg\:focus\:translate-y-8:focus{
    --tw-translate-y: 2rem;
  }

  :root .lg\:focus\:translate-y-9:focus{
    --tw-translate-y: 2.25rem;
  }

  :root .lg\:focus\:translate-y-10:focus{
    --tw-translate-y: 2.5rem;
  }

  :root .lg\:focus\:translate-y-12:focus{
    --tw-translate-y: 3rem;
  }

  :root .lg\:focus\:translate-y-14:focus{
    --tw-translate-y: 3.5rem;
  }

  :root .lg\:focus\:translate-y-16:focus{
    --tw-translate-y: 4rem;
  }

  :root .lg\:focus\:translate-y-20:focus{
    --tw-translate-y: 5rem;
  }

  :root .lg\:focus\:translate-y-24:focus{
    --tw-translate-y: 6rem;
  }

  :root .lg\:focus\:translate-y-32:focus{
    --tw-translate-y: 8rem;
  }

  :root .lg\:focus\:translate-y-40:focus{
    --tw-translate-y: 10rem;
  }

  :root .lg\:focus\:translate-y-48:focus{
    --tw-translate-y: 12rem;
  }

  :root .lg\:focus\:translate-y-56:focus{
    --tw-translate-y: 14rem;
  }

  :root .lg\:focus\:translate-y-64:focus{
    --tw-translate-y: 16rem;
  }

  :root .lg\:focus\:translate-y-px:focus{
    --tw-translate-y: 1px;
  }

  :root .lg\:focus\:translate-y-gutter:focus{
    --tw-translate-y: var(--padding-gutter);
  }

  :root .lg\:focus\:-translate-y-1:focus{
    --tw-translate-y: -0.25rem;
  }

  :root .lg\:focus\:-translate-y-2:focus{
    --tw-translate-y: -0.5rem;
  }

  :root .lg\:focus\:-translate-y-3:focus{
    --tw-translate-y: -0.75rem;
  }

  :root .lg\:focus\:-translate-y-4:focus{
    --tw-translate-y: -1rem;
  }

  :root .lg\:focus\:-translate-y-5:focus{
    --tw-translate-y: -1.25rem;
  }

  :root .lg\:focus\:-translate-y-6:focus{
    --tw-translate-y: -1.5rem;
  }

  :root .lg\:focus\:-translate-y-8:focus{
    --tw-translate-y: -2rem;
  }

  :root .lg\:focus\:-translate-y-9:focus{
    --tw-translate-y: -2.25rem;
  }

  :root .lg\:focus\:-translate-y-10:focus{
    --tw-translate-y: -2.5rem;
  }

  :root .lg\:focus\:-translate-y-12:focus{
    --tw-translate-y: -3rem;
  }

  :root .lg\:focus\:-translate-y-14:focus{
    --tw-translate-y: -3.5rem;
  }

  :root .lg\:focus\:-translate-y-16:focus{
    --tw-translate-y: -4rem;
  }

  :root .lg\:focus\:-translate-y-20:focus{
    --tw-translate-y: -5rem;
  }

  :root .lg\:focus\:-translate-y-24:focus{
    --tw-translate-y: -6rem;
  }

  :root .lg\:focus\:-translate-y-32:focus{
    --tw-translate-y: -8rem;
  }

  :root .lg\:focus\:-translate-y-40:focus{
    --tw-translate-y: -10rem;
  }

  :root .lg\:focus\:-translate-y-48:focus{
    --tw-translate-y: -12rem;
  }

  :root .lg\:focus\:-translate-y-56:focus{
    --tw-translate-y: -14rem;
  }

  :root .lg\:focus\:-translate-y-64:focus{
    --tw-translate-y: -16rem;
  }

  :root .lg\:focus\:-translate-y-px:focus{
    --tw-translate-y: -1px;
  }

  :root .lg\:focus\:-translate-y-gutter:focus{
    --tw-translate-y: calc(var(--padding-gutter) * -1);
  }

  :root .lg\:focus\:translate-y-1\/2:focus{
    --tw-translate-y: 50%;
  }

  :root .lg\:focus\:translate-y-1\/3:focus{
    --tw-translate-y: 33.333333%;
  }

  :root .lg\:focus\:translate-y-2\/3:focus{
    --tw-translate-y: 66.666667%;
  }

  :root .lg\:focus\:translate-y-1\/4:focus{
    --tw-translate-y: 25%;
  }

  :root .lg\:focus\:translate-y-2\/4:focus{
    --tw-translate-y: 50%;
  }

  :root .lg\:focus\:translate-y-3\/4:focus{
    --tw-translate-y: 75%;
  }

  :root .lg\:focus\:translate-y-full:focus{
    --tw-translate-y: 100%;
  }

  :root .lg\:focus\:-translate-y-1\/2:focus{
    --tw-translate-y: -50%;
  }

  :root .lg\:focus\:-translate-y-1\/3:focus{
    --tw-translate-y: -33.333333%;
  }

  :root .lg\:focus\:-translate-y-2\/3:focus{
    --tw-translate-y: -66.666667%;
  }

  :root .lg\:focus\:-translate-y-1\/4:focus{
    --tw-translate-y: -25%;
  }

  :root .lg\:focus\:-translate-y-2\/4:focus{
    --tw-translate-y: -50%;
  }

  :root .lg\:focus\:-translate-y-3\/4:focus{
    --tw-translate-y: -75%;
  }

  :root .lg\:focus\:-translate-y-full:focus{
    --tw-translate-y: -100%;
  }

  :root .lg\:skew-x-0{
    --tw-skew-x: 0deg;
  }

  :root .lg\:skew-x-1{
    --tw-skew-x: 1deg;
  }

  :root .lg\:skew-x-2{
    --tw-skew-x: 2deg;
  }

  :root .lg\:skew-x-3{
    --tw-skew-x: 3deg;
  }

  :root .lg\:skew-x-6{
    --tw-skew-x: 6deg;
  }

  :root .lg\:skew-x-12{
    --tw-skew-x: 12deg;
  }

  :root .lg\:-skew-x-12{
    --tw-skew-x: -12deg;
  }

  :root .lg\:-skew-x-6{
    --tw-skew-x: -6deg;
  }

  :root .lg\:-skew-x-3{
    --tw-skew-x: -3deg;
  }

  :root .lg\:-skew-x-2{
    --tw-skew-x: -2deg;
  }

  :root .lg\:-skew-x-1{
    --tw-skew-x: -1deg;
  }

  :root .lg\:skew-y-0{
    --tw-skew-y: 0deg;
  }

  :root .lg\:skew-y-1{
    --tw-skew-y: 1deg;
  }

  :root .lg\:skew-y-2{
    --tw-skew-y: 2deg;
  }

  :root .lg\:skew-y-3{
    --tw-skew-y: 3deg;
  }

  :root .lg\:skew-y-6{
    --tw-skew-y: 6deg;
  }

  :root .lg\:skew-y-12{
    --tw-skew-y: 12deg;
  }

  :root .lg\:-skew-y-12{
    --tw-skew-y: -12deg;
  }

  :root .lg\:-skew-y-6{
    --tw-skew-y: -6deg;
  }

  :root .lg\:-skew-y-3{
    --tw-skew-y: -3deg;
  }

  :root .lg\:-skew-y-2{
    --tw-skew-y: -2deg;
  }

  :root .lg\:-skew-y-1{
    --tw-skew-y: -1deg;
  }

  :root .lg\:hover\:skew-x-0:hover{
    --tw-skew-x: 0deg;
  }

  :root .lg\:hover\:skew-x-1:hover{
    --tw-skew-x: 1deg;
  }

  :root .lg\:hover\:skew-x-2:hover{
    --tw-skew-x: 2deg;
  }

  :root .lg\:hover\:skew-x-3:hover{
    --tw-skew-x: 3deg;
  }

  :root .lg\:hover\:skew-x-6:hover{
    --tw-skew-x: 6deg;
  }

  :root .lg\:hover\:skew-x-12:hover{
    --tw-skew-x: 12deg;
  }

  :root .lg\:hover\:-skew-x-12:hover{
    --tw-skew-x: -12deg;
  }

  :root .lg\:hover\:-skew-x-6:hover{
    --tw-skew-x: -6deg;
  }

  :root .lg\:hover\:-skew-x-3:hover{
    --tw-skew-x: -3deg;
  }

  :root .lg\:hover\:-skew-x-2:hover{
    --tw-skew-x: -2deg;
  }

  :root .lg\:hover\:-skew-x-1:hover{
    --tw-skew-x: -1deg;
  }

  :root .lg\:hover\:skew-y-0:hover{
    --tw-skew-y: 0deg;
  }

  :root .lg\:hover\:skew-y-1:hover{
    --tw-skew-y: 1deg;
  }

  :root .lg\:hover\:skew-y-2:hover{
    --tw-skew-y: 2deg;
  }

  :root .lg\:hover\:skew-y-3:hover{
    --tw-skew-y: 3deg;
  }

  :root .lg\:hover\:skew-y-6:hover{
    --tw-skew-y: 6deg;
  }

  :root .lg\:hover\:skew-y-12:hover{
    --tw-skew-y: 12deg;
  }

  :root .lg\:hover\:-skew-y-12:hover{
    --tw-skew-y: -12deg;
  }

  :root .lg\:hover\:-skew-y-6:hover{
    --tw-skew-y: -6deg;
  }

  :root .lg\:hover\:-skew-y-3:hover{
    --tw-skew-y: -3deg;
  }

  :root .lg\:hover\:-skew-y-2:hover{
    --tw-skew-y: -2deg;
  }

  :root .lg\:hover\:-skew-y-1:hover{
    --tw-skew-y: -1deg;
  }

  :root .lg\:focus\:skew-x-0:focus{
    --tw-skew-x: 0deg;
  }

  :root .lg\:focus\:skew-x-1:focus{
    --tw-skew-x: 1deg;
  }

  :root .lg\:focus\:skew-x-2:focus{
    --tw-skew-x: 2deg;
  }

  :root .lg\:focus\:skew-x-3:focus{
    --tw-skew-x: 3deg;
  }

  :root .lg\:focus\:skew-x-6:focus{
    --tw-skew-x: 6deg;
  }

  :root .lg\:focus\:skew-x-12:focus{
    --tw-skew-x: 12deg;
  }

  :root .lg\:focus\:-skew-x-12:focus{
    --tw-skew-x: -12deg;
  }

  :root .lg\:focus\:-skew-x-6:focus{
    --tw-skew-x: -6deg;
  }

  :root .lg\:focus\:-skew-x-3:focus{
    --tw-skew-x: -3deg;
  }

  :root .lg\:focus\:-skew-x-2:focus{
    --tw-skew-x: -2deg;
  }

  :root .lg\:focus\:-skew-x-1:focus{
    --tw-skew-x: -1deg;
  }

  :root .lg\:focus\:skew-y-0:focus{
    --tw-skew-y: 0deg;
  }

  :root .lg\:focus\:skew-y-1:focus{
    --tw-skew-y: 1deg;
  }

  :root .lg\:focus\:skew-y-2:focus{
    --tw-skew-y: 2deg;
  }

  :root .lg\:focus\:skew-y-3:focus{
    --tw-skew-y: 3deg;
  }

  :root .lg\:focus\:skew-y-6:focus{
    --tw-skew-y: 6deg;
  }

  :root .lg\:focus\:skew-y-12:focus{
    --tw-skew-y: 12deg;
  }

  :root .lg\:focus\:-skew-y-12:focus{
    --tw-skew-y: -12deg;
  }

  :root .lg\:focus\:-skew-y-6:focus{
    --tw-skew-y: -6deg;
  }

  :root .lg\:focus\:-skew-y-3:focus{
    --tw-skew-y: -3deg;
  }

  :root .lg\:focus\:-skew-y-2:focus{
    --tw-skew-y: -2deg;
  }

  :root .lg\:focus\:-skew-y-1:focus{
    --tw-skew-y: -1deg;
  }

  :root .lg\:transition-none{
    transition-property: none;
  }

  :root .lg\:transition-all{
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .lg\:transition{
    transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .lg\:transition-colors{
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .lg\:transition-opacity{
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .lg\:transition-shadow{
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .lg\:transition-transform{
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  :root .lg\:ease-linear{
    transition-timing-function: linear;
  }

  :root .lg\:ease-in{
    transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  }

  :root .lg\:ease-out{
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }

  :root .lg\:ease-in-out{
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }

  :root .lg\:duration-75{
    transition-duration: 75ms;
  }

  :root .lg\:duration-100{
    transition-duration: 100ms;
  }

  :root .lg\:duration-150{
    transition-duration: 150ms;
  }

  :root .lg\:duration-200{
    transition-duration: 200ms;
  }

  :root .lg\:duration-300{
    transition-duration: 300ms;
  }

  :root .lg\:duration-500{
    transition-duration: 500ms;
  }

  :root .lg\:duration-700{
    transition-duration: 700ms;
  }

  :root .lg\:duration-1000{
    transition-duration: 1000ms;
  }

  :root .lg\:delay-75{
    transition-delay: 75ms;
  }

  :root .lg\:delay-100{
    transition-delay: 100ms;
  }

  :root .lg\:delay-150{
    transition-delay: 150ms;
  }

  :root .lg\:delay-200{
    transition-delay: 200ms;
  }

  :root .lg\:delay-300{
    transition-delay: 300ms;
  }

  :root .lg\:delay-500{
    transition-delay: 500ms;
  }

  :root .lg\:delay-700{
    transition-delay: 700ms;
  }

  :root .lg\:delay-1000{
    transition-delay: 1000ms;
  }

  :root .lg\:animate-none{
    -webkit-animation: none;
            animation: none;
  }

  :root .lg\:animate-spin{
    -webkit-animation: spin 1s linear infinite;
            animation: spin 1s linear infinite;
  }

  :root .lg\:animate-ping{
    -webkit-animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
            animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
  }

  :root .lg\:animate-pulse{
    -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
            animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  }

  :root .lg\:animate-bounce{
    -webkit-animation: bounce 1s infinite;
            animation: bounce 1s infinite;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFwuLlxcLi5cXG5vZGVfbW9kdWxlc1xcdGFpbHdpbmRjc3NcXGJhc2UuY3NzIiwiLi5cXC4uXFwuLlxcX2Jhc2Uuc2NzcyIsIi4uXFwuLlxcLi5cXHRhaWx3aW5kLnNjc3MiLCIuLlxcLi5cXC4uXFwuLlxcLi5cXC4uXFxub2RlX21vZHVsZXNcXHRhaWx3aW5kY3NzXFx1dGlsaXRpZXMuY3NzIiwiLi5cXC4uXFwuLlxcLi5cXC4uXFwuLlxcbm9kZV9tb2R1bGVzXFxAYW5ndWxhclxcbWF0ZXJpYWxcXF90aGVtaW5nLnNjc3MiLCIuLlxcLi5cXC4uXFxfdXRpbGl0aWVzLnNjc3MiLCI8bm8gc291cmNlPiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnRUFBQTs7QUFBQSw4RkFBQTs7QUFBQTs7O0NBQUE7O0FBQUE7O0NBQUE7O0FBQUE7OztFQUFBLHNCQUFBO0FBQUE7O0FBQUE7O0NBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBLGNBQUE7S0FBQSxXQUFBO0FBQUE7O0FBQUE7OztDQUFBOztBQUFBO0VBQUEsaUJBQUEsRUFBQSxNQUFBO0VBQUEsOEJBQUEsRUFBQSxNQUFBO0FBQUE7O0FBQUE7OztDQUFBOztBQUFBOztDQUFBOztBQUFBO0VBQUEsU0FBQTtBQUFBOztBQUFBOztDQUFBOztBQUFBO0VBQUE7Ozs7Ozs7OztrQkFBQTtBQUFBOztBQUFBOzs7Q0FBQTs7QUFBQTs7O0NBQUE7O0FBQUE7RUFBQSxTQUFBLEVBQUEsTUFBQTtFQUFBLGNBQUEsRUFBQSxNQUFBO0FBQUE7O0FBQUE7OztDQUFBOztBQUFBOztDQUFBOztBQUFBO0VBQUEseUNBQUE7VUFBQSxpQ0FBQTtBQUFBOztBQUFBOztDQUFBOztBQUFBOztFQUFBLG1CQUFBO0FBQUE7O0FBQUE7OztDQUFBOztBQUFBOzs7O0VBQUE7Ozs7OztXQUFBLEVBQUEsTUFBQTtFQUFBLGNBQUEsRUFBQSxNQUFBO0FBQUE7O0FBQUE7O0NBQUE7O0FBQUE7RUFBQSxjQUFBO0FBQUE7O0FBQUE7O0NBQUE7O0FBQUE7O0VBQUEsY0FBQTtFQUFBLGNBQUE7RUFBQSxrQkFBQTtFQUFBLHdCQUFBO0FBQUE7O0FBQUE7RUFBQSxlQUFBO0FBQUE7O0FBQUE7RUFBQSxXQUFBO0FBQUE7O0FBQUE7OztDQUFBOztBQUFBOzs7Q0FBQTs7QUFBQTtFQUFBLGNBQUEsRUFBQSxNQUFBO0VBQUEscUJBQUEsRUFBQSxNQUFBO0FBQUE7O0FBQUE7OztDQUFBOztBQUFBOzs7Q0FBQTs7QUFBQTs7Ozs7RUFBQSxvQkFBQSxFQUFBLE1BQUE7RUFBQSxlQUFBLEVBQUEsTUFBQTtFQUFBLGlCQUFBLEVBQUEsTUFBQTtFQUFBLFNBQUEsRUFBQSxNQUFBO0FBQUE7O0FBQUE7OztDQUFBOztBQUFBO1NBQUEsTUFBQTtFQUFBLG9CQUFBO0FBQUE7O0FBQUE7O0NBQUE7O0FBQUE7Ozs7RUFBQSwwQkFBQTtBQUFBOztBQUFBOztDQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQSxVQUFBO0FBQUE7O0FBQUE7O0NBQUE7O0FBQUE7RUFBQSw4QkFBQTtBQUFBOztBQUFBOzs7Q0FBQTs7QUFBQTtFQUFBLGdCQUFBO0FBQUE7O0FBQUE7O0NBQUE7O0FBQUE7RUFBQSxVQUFBO0FBQUE7O0FBQUE7O0NBQUE7O0FBQUE7RUFBQSx3QkFBQTtBQUFBOztBQUFBOztDQUFBOztBQUFBOztFQUFBLFlBQUE7QUFBQTs7QUFBQTs7O0NBQUE7O0FBQUE7RUFBQSw2QkFBQSxFQUFBLE1BQUE7RUFBQSxvQkFBQSxFQUFBLE1BQUE7QUFBQTs7QUFBQTs7Q0FBQTs7QUFBQTtFQUFBLHdCQUFBO0FBQUE7O0FBQUE7OztDQUFBOztBQUFBO0VBQUEsMEJBQUEsRUFBQSxNQUFBO0VBQUEsYUFBQSxFQUFBLE1BQUE7QUFBQTs7QUFBQTs7O0NBQUE7O0FBQUE7O0NBQUE7O0FBQUE7RUFBQSxrQkFBQTtBQUFBOztBQUFBOzs7O0VBQUE7O0FBQUE7O0VBQUE7O0FBQUE7Ozs7Ozs7Ozs7Ozs7RUFBQSxTQUFBO0FBQUE7O0FBQUE7RUFBQSw2QkFBQTtFQUFBLHNCQUFBO0FBQUE7O0FBQUE7OztFQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQSwwQ0FBQTtBQUFBOztBQUFBO0VBQUEsU0FBQTtFQUFBLFVBQUE7QUFBQTs7QUFBQTs7RUFBQSxnQkFBQTtFQUFBLFNBQUE7RUFBQSxVQUFBO0FBQUE7O0FBQUE7O0VBQUE7O0FBQUE7Ozs7O0VBQUE7O0FBQUE7RUFBQSwrTUFBQSxFQUFBLE1BQUE7RUFBQSxnQkFBQSxFQUFBLE1BQUE7QUFBQTs7QUFBQTs7O0VBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0FBQUE7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUFBOztBQUFBOzs7RUFBQSxzQkFBQSxFQUFBLE1BQUE7RUFBQSxlQUFBLEVBQUEsTUFBQTtFQUFBLG1CQUFBLEVBQUEsTUFBQTtFQUFBLHVDQUFBLEVBQUEsTUFBQTtBQUFBOztBQUFBOztFQUFBOztBQUFBO0VBQUEscUJBQUE7QUFBQTs7QUFBQTs7Ozs7Ozs7RUFBQTs7QUFBQTtFQUFBLG1CQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtBQUFBOztBQUFBO0VBQUEsVUFBQTtFQUFBLGNBQUE7QUFBQTs7QUFBQTs7RUFBQSxVQUFBO0VBQUEsY0FBQTtBQUFBOztBQUFBOztFQUFBLGVBQUE7QUFBQTs7QUFBQTtFQUFBLHlCQUFBO0FBQUE7O0FBQUE7Ozs7OztFQUFBLGtCQUFBO0VBQUEsb0JBQUE7QUFBQTs7QUFBQTs7O0VBQUE7O0FBQUE7RUFBQSxjQUFBO0VBQUEsd0JBQUE7QUFBQTs7QUFBQTs7Ozs7O0VBQUE7O0FBQUE7Ozs7O0VBQUEsVUFBQTtFQUFBLG9CQUFBO0VBQUEsY0FBQTtBQUFBOztBQUFBOzs7OztFQUFBOztBQUFBOzs7O0VBQUEsaUZBQUE7QUFBQTs7QUFBQTs7Ozs7O0VBQUE7O0FBQUE7Ozs7Ozs7O0VBQUEsY0FBQTtFQUFBLHNCQUFBO0FBQUE7O0FBQUE7Ozs7O0VBQUE7O0FBQUE7O0VBQUEsZUFBQTtFQUFBLFlBQUE7QUFBQTs7QUNBQTtFQUNFLHVCQUFBO0VBQ0EsZ0JBQUE7QUNFRjs7QURDQTtFQUNFLHlCQUFBO0FDRUY7O0FEQ0E7RUFDRSxxQ0FBQTtFQUNBLG1DQUFBO0VBQ0Esd0JBQUE7RUFDQSx3RUFBQTtFQUNBLGNBQUE7RUFDQSxvQkFBQTtBQ0VGOztBRENBO0VBQ0UsMENBQUE7RUFDQSxnREFBQTtFQUNBLDBCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FDRUY7O0FEQUU7RUFDRSxTQUFBO0FDRUo7O0FDN0JBO0VBQUEsdUJBQUE7RUFBQSwyREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLG1EQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsK0RBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSx1REFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLDhEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsc0RBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSwrREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLHVEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsNERBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxvREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLCtEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsdURBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSw4REFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLHNEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsNERBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxvREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLCtEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsdURBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSw4REFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLHNEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsNERBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxvREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLDhEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsc0RBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSw0REFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLG9EQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsNERBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxvREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLDREQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsb0RBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSw0REFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLG9EQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsNkRBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxxREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLDZEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEscURBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSw2REFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLHFEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsNkRBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxxREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLDJEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsbURBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSw2RUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLHFFQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsZ0VBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSx3REFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLCtEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsdURBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxnRUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLHdEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsNkRBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxxREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLGdFQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsd0RBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSwrREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLHVEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsNkRBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxxREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLGdFQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsd0RBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSwrREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLHVEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsNkRBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxxREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLCtEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsdURBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSw2REFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLHFEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsNkRBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxxREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLDZEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEscURBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSw2REFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLHFEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsOERBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxzREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLDhEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsc0RBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSw4REFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLHNEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsOERBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxzREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLDREQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsb0RBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSx3RkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLGdGQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsd0JBQUE7RUFBQSxrRUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx3QkFBQTtFQUFBLDBEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHdCQUFBO0VBQUEsa0VBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsd0JBQUE7RUFBQSwwREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx3QkFBQTtFQUFBLGtFQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHdCQUFBO0VBQUEsMERBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsd0JBQUE7RUFBQSxrRUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx3QkFBQTtFQUFBLDBEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHdCQUFBO0VBQUEsa0VBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsd0JBQUE7RUFBQSwwREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx3QkFBQTtFQUFBLGtFQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHdCQUFBO0VBQUEsMERBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQSxVQUFBO0VBQUEsV0FBQTtFQUFBLFVBQUE7RUFBQSxZQUFBO0VBQUEsZ0JBQUE7RUFBQSxzQkFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUEsV0FBQTtFQUFBLFlBQUE7RUFBQSxVQUFBO0VBQUEsU0FBQTtFQUFBLGlCQUFBO0VBQUEsVUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBLFVBQUE7RUFBQSxXQUFBO0VBQUEsVUFBQTtFQUFBLFlBQUE7RUFBQSxnQkFBQTtFQUFBLHNCQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0JBQUE7RUFBQSxXQUFBO0VBQUEsWUFBQTtFQUFBLFVBQUE7RUFBQSxTQUFBO0VBQUEsaUJBQUE7RUFBQSxVQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHdCQUFBO0tBQUEscUJBQUE7VUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsNkJBQUE7VUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsK0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEscUNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEseUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEseUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsNENBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMENBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMENBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMENBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMENBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMENBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMENBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMENBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEscUNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEscUNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMENBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0RBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsNkNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaURBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsNENBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsK0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMENBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxxQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx5QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx5QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSw0Q0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwwQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwwQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwwQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwwQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwwQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwwQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwwQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxxQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxxQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwwQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSw2Q0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpREFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSw0Q0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwrQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwwQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLCtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDRDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDBDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDBDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDBDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDBDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDBDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDBDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDBDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDBDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDZDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDRDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLCtDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDBDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsc0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEseUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMEJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsNkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEseUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsK0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsK0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsOEJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsK0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsOEJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsOEJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsK0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsOEJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDBCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDZCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLCtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLCtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDhCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLCtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDhCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDhCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLCtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDhCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx5QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwwQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSw2QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx5QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSw4QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSw4QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSw4QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSw4QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGFBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDRDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDZDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxhQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxxQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxxQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxxQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxxQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxrQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSw0Q0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSw2Q0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxjQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEscUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEscUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEscUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEscUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsa0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsaUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsNENBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsNkNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQkFBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQSxtQkFBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQSx5QkFBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQSwwQkFBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQSwwQkFBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQSx3QkFBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQSwrQkFBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQSw0QkFBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQSx5QkFBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQSxnQ0FBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQSw2QkFBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQSx1QkFBQTtLQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSw4QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx5QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx5QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSw4QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx5QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx5QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxNQUFBO0VBQUEsUUFBQTtFQUFBLFNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBLGNBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQSxhQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxZQUFBO0VBQUEsY0FBQTtFQUFBLGVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsU0FBQTtFQUFBLFdBQUE7RUFBQSxZQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQSxjQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxXQUFBO0VBQUEsYUFBQTtFQUFBLGNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsU0FBQTtFQUFBLFdBQUE7RUFBQSxZQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQSxhQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxTQUFBO0VBQUEsV0FBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBLGVBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxZQUFBO0VBQUEsY0FBQTtFQUFBLGVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBLGVBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxVQUFBO0VBQUEsWUFBQTtFQUFBLGFBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBLGVBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxZQUFBO0VBQUEsY0FBQTtFQUFBLGVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsVUFBQTtFQUFBLFlBQUE7RUFBQSxhQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQSxjQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxVQUFBO0VBQUEsWUFBQTtFQUFBLGFBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsU0FBQTtFQUFBLFdBQUE7RUFBQSxZQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLE1BQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsUUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxZQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsV0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxhQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxTQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxjQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxTQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsV0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxhQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsV0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxhQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxjQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGFBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxVQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxVQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxjQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxTQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxNQUFBO0VBQUEsUUFBQTtFQUFBLFNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBLGNBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQSxhQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxZQUFBO0VBQUEsY0FBQTtFQUFBLGVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsU0FBQTtFQUFBLFdBQUE7RUFBQSxZQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQSxjQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxXQUFBO0VBQUEsYUFBQTtFQUFBLGNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsU0FBQTtFQUFBLFdBQUE7RUFBQSxZQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQSxhQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxTQUFBO0VBQUEsV0FBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBLGVBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxZQUFBO0VBQUEsY0FBQTtFQUFBLGVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBLGVBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxVQUFBO0VBQUEsWUFBQTtFQUFBLGFBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBLGVBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxZQUFBO0VBQUEsY0FBQTtFQUFBLGVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsVUFBQTtFQUFBLFlBQUE7RUFBQSxhQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQSxjQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxVQUFBO0VBQUEsWUFBQTtFQUFBLGFBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsU0FBQTtFQUFBLFdBQUE7RUFBQSxZQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLE1BQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsUUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxZQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsV0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxhQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxTQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxjQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxTQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsV0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxhQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsV0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxhQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxjQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGFBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxVQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxVQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxjQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxTQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxNQUFBO0VBQUEsUUFBQTtFQUFBLFNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBLGNBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQSxhQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxZQUFBO0VBQUEsY0FBQTtFQUFBLGVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsU0FBQTtFQUFBLFdBQUE7RUFBQSxZQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQSxjQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxXQUFBO0VBQUEsYUFBQTtFQUFBLGNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsU0FBQTtFQUFBLFdBQUE7RUFBQSxZQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQSxhQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxTQUFBO0VBQUEsV0FBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBLGVBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxZQUFBO0VBQUEsY0FBQTtFQUFBLGVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBLGVBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxVQUFBO0VBQUEsWUFBQTtFQUFBLGFBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBLGVBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxZQUFBO0VBQUEsY0FBQTtFQUFBLGVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsVUFBQTtFQUFBLFlBQUE7RUFBQSxhQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQSxjQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxVQUFBO0VBQUEsWUFBQTtFQUFBLGFBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsU0FBQTtFQUFBLFdBQUE7RUFBQSxZQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLE1BQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsUUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxZQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsV0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxhQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxTQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxjQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxTQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsV0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxhQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFNBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsV0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxhQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxjQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGFBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxVQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsYUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsY0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxVQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFlBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxjQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFVBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsWUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxTQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLFdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtGQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDBJQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJJQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDhDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDhDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtGQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDBJQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJJQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDhDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDhDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGdDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtGQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDBJQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJJQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDhDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDhDQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDRDQUFBO0VBQUEsMkJBQUE7RUFBQSw0QkFBQTtFQUFBLHdDQUFBO0VBQUEsa0NBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkdBQUE7RUFBQSx5R0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyR0FBQTtFQUFBLHlHQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJHQUFBO0VBQUEseUdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkdBQUE7RUFBQSx5R0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyR0FBQTtFQUFBLHlHQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJHQUFBO0VBQUEseUdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJHQUFBO0VBQUEseUdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkdBQUE7RUFBQSx5R0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyR0FBQTtFQUFBLHlHQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJHQUFBO0VBQUEseUdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkdBQUE7RUFBQSx5R0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyR0FBQTtFQUFBLHlHQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyR0FBQTtFQUFBLHlHQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJHQUFBO0VBQUEseUdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkdBQUE7RUFBQSx5R0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSwyR0FBQTtFQUFBLHlHQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDJHQUFBO0VBQUEseUdBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsMkdBQUE7RUFBQSx5R0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsb0JBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxvQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZ0JBQUE7RUFBQSx1QkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1DQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDRCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHlDQUFBO0VBQUEsOENBQUE7RUFBQSxnREFBQTtFQUFBLGlEQUFBO0VBQUEsa0RBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEseUJBQUE7S0FBQSxzQkFBQTtVQUFBO0FBQUE7O0FBQUE7RUFBQSx5QkFBQTtLQUFBLHNCQUFBO1VBQUE7QUFBQTs7QUFBQTtFQUFBLHdCQUFBO0tBQUEscUJBQUE7VUFBQTtBQUFBOztBQUFBO0VBQUEseUJBQUE7S0FBQSxzQkFBQTtVQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEscUJBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHdCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHdCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHdCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHdCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHVCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHFCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHNCQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLG9CQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBLHNDQUFBO09BQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxzQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxtQ0FBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsbUJBQUE7RUFBQSxtQkFBQTtFQUFBLGNBQUE7RUFBQSxjQUFBO0VBQUEsY0FBQTtFQUFBLGVBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLG1CQUFBO0VBQUEsbUJBQUE7RUFBQSxjQUFBO0VBQUEsY0FBQTtFQUFBLGNBQUE7RUFBQSxlQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsZUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxnQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxpQkFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSxlQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGtCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLGlCQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLHdCQUFBO0VBQUEsd0RBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsd0dBQUE7RUFBQSx3REFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSx3RUFBQTtFQUFBLHdEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBLDRCQUFBO0VBQUEsd0RBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsK0JBQUE7RUFBQSx3REFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQSw4QkFBQTtFQUFBLHdEQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7SUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtJQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7SUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtJQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0lBQUEsMkJBQUE7SUFBQSwwREFBQTtZQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUEsMERBQUE7WUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtJQUFBLDJCQUFBO0lBQUEsMERBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBLDBEQUFBO1lBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUEsdUJBQUE7VUFBQTtBQUFBOztBQUFBO0VBQUEsMENBQUE7VUFBQTtBQUFBOztBQUFBO0VBQUEsOERBQUE7VUFBQTtBQUFBOztBQUFBO0VBQUEsaUVBQUE7VUFBQTtBQUFBOztBQUFBO0VBQUEscUNBQUE7VUFBQTtBQUFBOztBQ20wREEsbUNBQUE7O0FBK0lBLHlEQUFBOztBQW9iQSx5REFBQTs7QUFtd0RBLDJDQUFBOztBQTZDQSxxQkFBQTs7QUNwcklBO0VBQ0UsbUNBQUE7RUFDQSxvQ0FBQTtBSHFDRjs7QUduQ0U7RUFKRjtJQUtJLGlCQUFBO0lBQ0Esa0JBQUE7SUFDQSxpQkFBQTtJQUNBLFdBQUE7RUhzQ0Y7QUFDRjs7QUcvQkE7RUZsQkEseUNBQUE7RUFBQSxxQkFBQTtFQUFBLGNBQUE7RUFBQSxvQkFBQTtLQUFBLGlCQUFBO0VBQUEsYUFBQTtBRHFEQTs7QUcvQkE7RUZ0QkEseUJBQUE7RUFBQSxzQkFBQTtFQUFBLG1CQUFBO0VBQUEsaUJBQUE7RUFBQSxvQkFBQTtFQUFBLHVCQUFBO0VBQUEscUJBQUE7RUFBQSxzQkFBQTtBRHlEQTs7QUdoQ0U7RUZ6QkYsdUNBQUE7RUFBQSw4QkFBQTtFQUFBLG1CQUFBO0FENERBOztBRy9CRTtFRjdCRix1Q0FBQTtBRCtEQTs7QUc3QkE7RUZsQ0Esc0JBQUE7RUFBQSxlQUFBO0VBQUEsWUFBQTtFQUFBLGtCQUFBO0VBQUEsbUJBQUE7QURtRUE7O0FHN0JBO0VGdENBLHlDQUFBO0FEdUVBOztBRzdCQTtFQUNFLFlBQUE7QUhnQ0Y7O0FHOUJFO0VBQ0UsYUFBQTtBSGdDSjs7QUduQkE7RUFDRSxzREQyUmU7QUZyUWpCOztBR25CQTtFQUNFLHlEQUFBO0FIc0JGOztBR2xCRTtFRnBFRixtQkFBQTtFQUFBLHNCQUFBO0FEMEZBOztBSTFGQTtFSEFBO0lBQUEsdUJBQUE7SUFBQSwyREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLG1EQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsK0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx1REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDhEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsc0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSwrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHVEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxvREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLCtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsdURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw4REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHNEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxvREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLCtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsdURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw4REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHNEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxvREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDhEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsc0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw0REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLG9EQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxvREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDREQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsb0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw0REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLG9EQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDJEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsbURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsZ0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx3REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLCtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsdURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxnRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHdEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLGdFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSwrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHVEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLGdFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSwrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHVEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLCtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsdURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsOERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxzREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDhEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsc0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw4REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHNEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsOERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxzREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDREQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsb0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx3RkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLGdGQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSxrRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLDBEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsa0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSwwREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLGtFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsMERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSxrRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLDBEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsa0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSwwREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLGtFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsMERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQSxVQUFBO0lBQUEsV0FBQTtJQUFBLFVBQUE7SUFBQSxZQUFBO0lBQUEsZ0JBQUE7SUFBQSxzQkFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQSxVQUFBO0lBQUEsU0FBQTtJQUFBLGlCQUFBO0lBQUEsVUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBLFVBQUE7SUFBQSxXQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxnQkFBQTtJQUFBLHNCQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBLFVBQUE7SUFBQSxTQUFBO0lBQUEsaUJBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO09BQUEscUJBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkJBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw2Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDZDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDZCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw2QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDZDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw2Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSwwQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSwwQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSw0QkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSw2QkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUEsYUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLE1BQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsUUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUEsYUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLE1BQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsUUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUEsYUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLE1BQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsUUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0ZBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMElBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMklBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0ZBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMElBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMklBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0ZBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMElBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMklBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQSx1QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlDQUFBO0lBQUEsOENBQUE7SUFBQSxnREFBQTtJQUFBLGlEQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7T0FBQSxzQkFBQTtZQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtPQUFBLHNCQUFBO1lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO09BQUEscUJBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7T0FBQSxzQkFBQTtZQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHNDQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQSxtQkFBQTtJQUFBLGNBQUE7SUFBQSxjQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUEsbUJBQUE7SUFBQSxjQUFBO0lBQUEsY0FBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0dBQUE7SUFBQSx3REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3RUFBQTtJQUFBLHdEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRCQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQSx3REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBLHdEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUEsOERBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUEsaUVBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7WUFBQTtFQUFBO0NHQUE7O0FBQUE7RUhBQTtJQUFBLHVCQUFBO0lBQUEsMkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxtREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLCtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsdURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw4REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHNEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsK0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx1REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDREQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsb0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSwrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHVEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsOERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxzREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDREQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsb0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSwrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHVEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsOERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxzREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDREQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsb0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw4REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHNEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxvREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDREQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsb0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw0REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLG9EQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxvREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSwyREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLG1EQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLGdFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSwrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHVEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsZ0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx3REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxnRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHdEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsK0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx1REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxnRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHdEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsK0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx1REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSwrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHVEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDhEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsc0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw4REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHNEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsOERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxzREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDhEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsc0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw0REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLG9EQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsd0ZBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxnRkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsa0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSwwREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLGtFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsMERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSxrRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLDBEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsa0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSwwREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLGtFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsMERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSxrRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLDBEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUEsVUFBQTtJQUFBLFdBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGdCQUFBO0lBQUEsc0JBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUEsVUFBQTtJQUFBLFNBQUE7SUFBQSxpQkFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQSxVQUFBO0lBQUEsV0FBQTtJQUFBLFVBQUE7SUFBQSxZQUFBO0lBQUEsZ0JBQUE7SUFBQSxzQkFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQSxVQUFBO0lBQUEsU0FBQTtJQUFBLGlCQUFBO0lBQUEsVUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtPQUFBLHFCQUFBO1lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDZCQUFBO1lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDZDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw2Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDZCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw2QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw2Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDZDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUEsMEJBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUEsMEJBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUEsNEJBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUEsNkJBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7T0FBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUEsYUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBLGFBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUEsYUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQSxlQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQSxlQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQSxlQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQSxZQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxNQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUEsYUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBLGFBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUEsYUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQSxlQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQSxlQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQSxlQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQSxZQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxNQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUEsYUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBLGFBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUEsYUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQSxlQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQSxlQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQSxlQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQSxZQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxNQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtGQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBJQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJJQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtGQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBJQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJJQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtGQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBJQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJJQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUEsdUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5Q0FBQTtJQUFBLDhDQUFBO0lBQUEsZ0RBQUE7SUFBQSxpREFBQTtJQUFBLGtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO09BQUEsc0JBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7T0FBQSxzQkFBQTtZQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtPQUFBLHFCQUFBO1lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO09BQUEsc0JBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQSxzQ0FBQTtTQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUEsbUJBQUE7SUFBQSxjQUFBO0lBQUEsY0FBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBLG1CQUFBO0lBQUEsY0FBQTtJQUFBLGNBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLHdEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdHQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0VBQUE7SUFBQSx3REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0QkFBQTtJQUFBLHdEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQSx3REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO1lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO1lBQUE7RUFBQTs7RUFBQTtJQUFBLDhEQUFBO1lBQUE7RUFBQTs7RUFBQTtJQUFBLGlFQUFBO1lBQUE7RUFBQTs7RUFBQTtJQUFBLHFDQUFBO1lBQUE7RUFBQTtDR0FBOztBQUFBO0VIQUE7SUFBQSx1QkFBQTtJQUFBLDJEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsbURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSwrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHVEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsOERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxzREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLCtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsdURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw0REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLG9EQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsK0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx1REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDhEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsc0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw0REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLG9EQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsK0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx1REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDhEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsc0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw0REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLG9EQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsOERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxzREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDREQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsb0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw0REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLG9EQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxvREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDREQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsb0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsMkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxtREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscUVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxnRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHdEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsK0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx1REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLGdFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsZ0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx3REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLCtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsdURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsZ0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx3REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLCtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsdURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsK0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx1REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw4REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHNEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsOERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxzREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDhEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsc0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw4REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHNEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxvREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHdGQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsZ0ZBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLGtFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsMERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSxrRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLDBEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsa0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSwwREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLGtFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsMERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSxrRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLDBEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsa0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSwwREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBLFVBQUE7SUFBQSxXQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxnQkFBQTtJQUFBLHNCQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBLFVBQUE7SUFBQSxTQUFBO0lBQUEsaUJBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUEsVUFBQTtJQUFBLFdBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGdCQUFBO0lBQUEsc0JBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUEsVUFBQTtJQUFBLFNBQUE7SUFBQSxpQkFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7T0FBQSxxQkFBQTtZQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw2QkFBQTtZQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw2Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDZDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw2QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDZCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDZDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw2Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBLDBCQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBLDBCQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBLDRCQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBLDZCQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO09BQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBLGFBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBLGFBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUEsZUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUEsZUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQSxZQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUEsZUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQSxZQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsTUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxRQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBLGFBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBLGFBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUEsZUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUEsZUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQSxZQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUEsZUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQSxZQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsTUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxRQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBLGFBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBLGFBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUEsZUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUEsZUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQSxZQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUEsZUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQSxZQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsTUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxRQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrRkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwSUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwySUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrRkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwSUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwySUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrRkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwSUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwySUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBLHVCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUNBQUE7SUFBQSw4Q0FBQTtJQUFBLGdEQUFBO0lBQUEsaURBQUE7SUFBQSxrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtPQUFBLHNCQUFBO1lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO09BQUEsc0JBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7T0FBQSxxQkFBQTtZQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtPQUFBLHNCQUFBO1lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUEsc0NBQUE7U0FBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBLG1CQUFBO0lBQUEsY0FBQTtJQUFBLGNBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQSxtQkFBQTtJQUFBLGNBQUE7SUFBQSxjQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSx3REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3R0FBQTtJQUFBLHdEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdFQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNEJBQUE7SUFBQSx3REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBLHdEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtZQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtZQUFBO0VBQUE7O0VBQUE7SUFBQSw4REFBQTtZQUFBO0VBQUE7O0VBQUE7SUFBQSxpRUFBQTtZQUFBO0VBQUE7O0VBQUE7SUFBQSxxQ0FBQTtZQUFBO0VBQUE7Q0dBQTs7QUFBQTtFSEFBO0lBQUEsdUJBQUE7SUFBQSwyREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLG1EQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsK0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx1REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDhEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsc0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSwrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHVEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxvREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLCtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsdURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw4REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHNEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxvREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLCtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsdURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw4REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHNEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxvREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDhEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsc0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw0REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLG9EQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxvREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDREQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsb0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw0REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLG9EQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDJEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsbURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsZ0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx3REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLCtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsdURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxnRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHdEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLGdFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSwrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHVEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLGdFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSwrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHVEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLCtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsdURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsNkRBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxxREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDZEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEscURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw2REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHFEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsOERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxzREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDhEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsc0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSw4REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLHNEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsOERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSxzREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLDREQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO0lBQUEsb0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7SUFBQSx3RkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtJQUFBLGdGQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSxrRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLDBEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsa0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSwwREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLGtFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsMERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSxrRUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLDBEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsa0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0JBQUE7SUFBQSwwREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtJQUFBLGtFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsMERBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQSxVQUFBO0lBQUEsV0FBQTtJQUFBLFVBQUE7SUFBQSxZQUFBO0lBQUEsZ0JBQUE7SUFBQSxzQkFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQSxVQUFBO0lBQUEsU0FBQTtJQUFBLGlCQUFBO0lBQUEsVUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBLFVBQUE7SUFBQSxXQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxnQkFBQTtJQUFBLHNCQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQSxXQUFBO0lBQUEsWUFBQTtJQUFBLFVBQUE7SUFBQSxTQUFBO0lBQUEsaUJBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO09BQUEscUJBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkJBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaURBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw2Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpREFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDZDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOEJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDBCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDZCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLCtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDhCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwwQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw2QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDZDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxxQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxrQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw0Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw2Q0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsNkNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSxtQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSwwQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSwwQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSx3QkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSwrQkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSw0QkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSxnQ0FBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSw2QkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQSx1QkFBQTtPQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGdCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtDQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUEsYUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLE1BQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsUUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUEsYUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLE1BQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsUUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxXQUFBO0lBQUEsYUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQSxhQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUEsV0FBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBLGVBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsVUFBQTtJQUFBLFlBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQSxjQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUEsWUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsU0FBQTtJQUFBLFdBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLE1BQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsUUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxZQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsV0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxhQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGFBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsYUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsY0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxVQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFlBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxjQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFVBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsWUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxTQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLFdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0ZBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMElBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMklBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0ZBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMElBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMklBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsaUNBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0NBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0ZBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMElBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMklBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsc0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsOENBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSwyR0FBQTtJQUFBLHlHQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDJHQUFBO0lBQUEseUdBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsMkdBQUE7SUFBQSx5R0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsb0JBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxvQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZ0JBQUE7SUFBQSx1QkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1DQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHlDQUFBO0lBQUEsOENBQUE7SUFBQSxnREFBQTtJQUFBLGlEQUFBO0lBQUEsa0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7T0FBQSxzQkFBQTtZQUFBO0VBQUE7O0VBQUE7SUFBQSx5QkFBQTtPQUFBLHNCQUFBO1lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO09BQUEscUJBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUEseUJBQUE7T0FBQSxzQkFBQTtZQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEscUJBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHVCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHFCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHNCQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLG9CQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBLHNDQUFBO1NBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxzQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxtQ0FBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsbUJBQUE7SUFBQSxtQkFBQTtJQUFBLGNBQUE7SUFBQSxjQUFBO0lBQUEsY0FBQTtJQUFBLGVBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLG1CQUFBO0lBQUEsbUJBQUE7SUFBQSxjQUFBO0lBQUEsY0FBQTtJQUFBLGNBQUE7SUFBQSxlQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsZUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxnQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxpQkFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSxlQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGtCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLGlCQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLHdCQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsd0dBQUE7SUFBQSx3REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSx3RUFBQTtJQUFBLHdEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBLDRCQUFBO0lBQUEsd0RBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsK0JBQUE7SUFBQSx3REFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQSw4QkFBQTtJQUFBLHdEQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUE7RUFBQTs7RUFBQTtJQUFBO0VBQUE7O0VBQUE7SUFBQTtFQUFBOztFQUFBO0lBQUEsdUJBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUEsMENBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUEsOERBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUEsaUVBQUE7WUFBQTtFQUFBOztFQUFBO0lBQUEscUNBQUE7WUFBQTtFQUFBO0NHQUEiLCJmaWxlIjoidGFpbHdpbmQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkB0YWlsd2luZCBiYXNlO1xuIiwiaW5wdXQsIHRleHRhcmVhIHtcclxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICBsaW5lLWhlaWdodDogMS41O1xyXG59XHJcblxyXG5idXR0b246Zm9jdXMge1xyXG4gIG91dGxpbmU6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmNvZGUge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtYXBwLWJhcik7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xyXG4gIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgQ29uc29sYXMsIExpYmVyYXRpb24gTW9ubywgTWVubG8sIG1vbm9zcGFjZTtcclxuICBmb250LXNpemU6IDg1JTtcclxuICBwYWRkaW5nOiAuMmVtIC40ZW07XHJcbn1cclxuXHJcbmJsb2NrcXVvdGUge1xyXG4gIGJhY2tncm91bmQ6IHRoZW1lKCdiYWNrZ3JvdW5kQ29sb3IucHJpbWFyeS5saWdodCcpO1xyXG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdGhlbWUoJ2JhY2tncm91bmRDb2xvci5wcmltYXJ5LkRFRkFVTFQnKTtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuODcpO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBtYXJnaW46IDFlbSAwIDEuNWVtO1xyXG4gIHBhZGRpbmc6IDFlbSAxLjVlbTtcclxuXHJcbiAgPiAqIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbn1cclxuIiwiQHRhaWx3aW5kIGJhc2U7XG5pbnB1dCwgdGV4dGFyZWEge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogdW5zZXQgIWltcG9ydGFudDtcbn1cblxuY29kZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtYXBwLWJhcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgQ29uc29sYXMsIExpYmVyYXRpb24gTW9ubywgTWVubG8sIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiA4NSU7XG4gIHBhZGRpbmc6IDAuMmVtIDAuNGVtO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgYmFja2dyb3VuZDogdGhlbWUoXCJiYWNrZ3JvdW5kQ29sb3IucHJpbWFyeS5saWdodFwiKTtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0aGVtZShcImJhY2tncm91bmRDb2xvci5wcmltYXJ5LkRFRkFVTFRcIik7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIG1hcmdpbjogMWVtIDAgMS41ZW07XG4gIHBhZGRpbmc6IDFlbSAxLjVlbTtcbn1cbmJsb2NrcXVvdGUgPiAqIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5AdGFpbHdpbmQgY29tcG9uZW50cztcbkB0YWlsd2luZCB1dGlsaXRpZXM7XG4vKiBDb2xvcnMgZm9yIHRoZSByaXBwbGUgZWxlbWVudHMuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXRlcmlhbC90aGVtZS1taXhpbi1hcGkgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXRlcmlhbC90aGVtZS1taXhpbi1hcGkgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIG1hdGVyaWFsL25vLXByZWZpeGVzICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWd1dHRlcik7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctZ3V0dGVyKTtcbn1cbkBzY3JlZW4gbGcge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiB0aGVtZShcInNjcmVlbnMubGdcIik7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmF2YXRhciB7XG4gIEBhcHBseSBoLTEwIHctMTAgb2JqZWN0LWNvdmVyIHJvdW5kZWQtZnVsbCBiZy1ob3Zlcjtcbn1cblxuLmhpZGRlbi1pbnB1dCB7XG4gIEBhcHBseSBib3JkZXItMiBib3JkZXItc29saWQgYm9yZGVyLXRyYW5zcGFyZW50IHB5LTEgcHgtMyByb3VuZGVkO1xufVxuLmhpZGRlbi1pbnB1dDpmb2N1cyB7XG4gIEBhcHBseSBib3JkZXItcHJpbWFyeSBvdXRsaW5lLW5vbmU7XG59XG4uaGlkZGVuLWlucHV0LmVtcHR5IHtcbiAgQGFwcGx5IGJvcmRlci1wcmltYXJ5O1xufVxuXG4ubGlzdC1pdGVtIHtcbiAgQGFwcGx5IHJvdW5kZWQgaC0xMiBweC00IGN1cnNvci1wb2ludGVyO1xufVxuXG4ubGlzdC1pdGVtOmhvdmVyIHtcbiAgQGFwcGx5IGJnLWhvdmVyO1xufVxuXG4udGV4dGFyZWEtY2xlYW4ge1xuICByZXNpemU6IG5vbmU7XG59XG4udGV4dGFyZWEtY2xlYW46Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4udHJhbnMtZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG59XG5cbi50cmFucy1zaGFkb3cge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5cbi52ZXgtYmxvZ3Bvc3QgcCB7XG4gIEBhcHBseSBteS0zO1xufSIsIkB0YWlsd2luZCB1dGlsaXRpZXM7XG4iLCIvLyBGaWxlIGZvciB3aGljaCBhbGwgaW1wb3J0cyBhcmUgcmVzb2x2ZWQgYW5kIGJ1bmRsZWQuIFRoaXMgaXMgdGhlIGVudHJ5LXBvaW50IGZvclxuLy8gdGhlIGBAYW5ndWxhci9tYXRlcmlhbGAgdGhlbWluZyBTYXNzIGJ1bmRsZS4gU2VlIGAvL3NyYy9tYXRlcmlhbDp0aGVtaW5nX2J1bmRsZWAuXG5cbi8vIEltcG9ydCBhbGwgdGhlIHRoZW1pbmcgZnVuY3Rpb25hbGl0eS5cbi8vIFdlIHdhbnQgb3ZlcmxheXMgdG8gYWx3YXlzIGFwcGVhciBvdmVyIHVzZXIgY29udGVudCwgc28gc2V0IGEgYmFzZWxpbmVcbi8vIHZlcnkgaGlnaCB6LWluZGV4IGZvciB0aGUgb3ZlcmxheSBjb250YWluZXIsIHdoaWNoIGlzIHdoZXJlIHdlIGNyZWF0ZSB0aGUgbmV3XG4vLyBzdGFja2luZyBjb250ZXh0IGZvciBhbGwgb3ZlcmxheXMuXG4kY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI6IDEwMDAgIWRlZmF1bHQ7XG4kY2RrLXotaW5kZXgtb3ZlcmxheTogMTAwMCAhZGVmYXVsdDtcbiRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wOiAxMDAwICFkZWZhdWx0O1xuXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbGwgb2YgdGhlIGJhY2tkcm9wc1xuJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMyKSAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBiYWNrZHJvcCBhbmltYXRpb24gaXMgYmFzZWQgb24gdGhlIE1hdGVyaWFsIERlc2lnbiBzd2lmdC1lYXNlLW91dC5cbiRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb246IDQwMG1zICFkZWZhdWx0O1xuJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpICFkZWZhdWx0O1xuXG5cbkBtaXhpbiBjZGstb3ZlcmxheSgpIHtcbiAgLmNkay1vdmVybGF5LWNvbnRhaW5lciwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgICAvLyBEaXNhYmxlIGV2ZW50cyBmcm9tIGJlaW5nIGNhcHR1cmVkIG9uIHRoZSBvdmVybGF5IGNvbnRhaW5lci5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC8vIFRoZSBjb250YWluZXIgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZSB2aWV3cG9ydC5cbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBUaGUgb3ZlcmxheS1jb250YWluZXIgaXMgYW4gaW52aXNpYmxlIGVsZW1lbnQgd2hpY2ggY29udGFpbnMgYWxsIGluZGl2aWR1YWwgb3ZlcmxheXMuXG4gIC5jZGstb3ZlcmxheS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI7XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgIC8vIEhpZGUgdGhlIGVsZW1lbnQgd2hlbiBpdCBkb2Vzbid0IGhhdmUgYW55IGNoaWxkIG5vZGVzLiBUaGlzIGRvZXNuJ3RcbiAgICAgIC8vIGluY2x1ZGUgb3ZlcmxheXMgdGhhdCBoYXZlIGJlZW4gZGV0YWNoZWQsIHJhdGhlciB0aGFuIGRpc3Bvc2VkLlxuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSB1c2UgYW4gZXh0cmEgd3JhcHBlciBlbGVtZW50IGluIG9yZGVyIHRvIHVzZSBtYWtlIHRoZSBvdmVybGF5IGl0c2VsZiBhIGZsZXggaXRlbS5cbiAgLy8gVGhpcyBtYWtlcyBjZW50ZXJpbmcgdGhlIG92ZXJsYXkgZWFzeSB3aXRob3V0IHJ1bm5pbmcgaW50byB0aGUgc3VicGl4ZWwgcmVuZGVyaW5nXG4gIC8vIHByb2JsZW1zIHRpZWQgdG8gdXNpbmcgYHRyYW5zZm9ybWAgYW5kIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCB0aGUgb3RoZXIgcG9zaXRpb25cbiAgLy8gc3RyYXRlZ2llcy5cbiAgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIEEgc2luZ2xlIG92ZXJsYXkgcGFuZS5cbiAgLmNkay1vdmVybGF5LXBhbmUge1xuICAgIC8vIE5vdGU6IGl0J3MgaW1wb3J0YW50IGZvciB0aGlzIG9uZSB0byBzdGFydCBvZmYgYGFic29sdXRlYCxcbiAgICAvLyBpbiBvcmRlciBmb3IgdXMgdG8gYmUgYWJsZSB0byBtZWFzdXJlIGl0IGNvcnJlY3RseS5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcblxuICAgIC8vIEZvciBjb25uZWN0ZWQtcG9zaXRpb24gb3ZlcmxheXMsIHdlIHNldCBgZGlzcGxheTogZmxleGAgaW5cbiAgICAvLyBvcmRlciB0byBmb3JjZSBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIHRvIHRha2UgZWZmZWN0LlxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuY2RrLW92ZXJsYXktYmFja2Ryb3Age1xuICAgIC8vIFRPRE8oamVsYm91cm4pOiByZXVzZSBzaWRlbmF2IGZ1bGxzY3JlZW4gbWl4aW4uXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcblxuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uICRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgLy8gTm90ZSB0aGF0IHdlIGNhbid0IGltcG9ydCBhbmQgdXNlIHRoZSBgaGlnaC1jb250cmFzdGAgbWl4aW4gZnJvbSBgX2ExMXkuc2Nzc2AsIGJlY2F1c2VcbiAgICAgIC8vIHRoaXMgZmlsZSB3aWxsIGJlIGNvcGllZCB0byB0aGUgdG9wLWxldmVsIGBjZGtgIHBhY2thZ2Ugd2hlbiBwdXR0aW5nIHRvZ2V0aGVyIHRoZSBmaWxlc1xuICAgICAgLy8gZm9yIG5wbS4gQW55IHJlbGF0aXZlIGltcG9ydCBwYXRocyB3ZSB1c2UgaGVyZSB3aWxsIGJlY29tZSBpbnZhbGlkIG9uY2UgdGhlIGZpbGUgaXMgY29waWVkLlxuICAgICAgLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAmIHtcbiAgICAgICAgLy8gSW4gaGlnaCBjb250cmFzdCBtb2RlIHRoZSByZ2JhIGJhY2tncm91bmQgd2lsbCBiZWNvbWUgc29saWRcbiAgICAgICAgLy8gc28gd2UgbmVlZCB0byBmYWxsIGJhY2sgdG8gbWFraW5nIGl0IG9wYXF1ZSB1c2luZyBgb3BhY2l0eWAuXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XG4gICAgYmFja2dyb3VuZDogJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCB7XG4gICAgLy8gTm90ZTogYXMgb2YgRmlyZWZveCA1NywgaGF2aW5nIHRoZSBiYWNrZHJvcCBiZSBgYmFja2dyb3VuZDogbm9uZWAgd2lsbCBwcmV2ZW50IGl0IGZyb21cbiAgICAvLyBjYXB0dXJpbmcgdGhlIHVzZXIncyBtb3VzZSBzY3JvbGwgZXZlbnRzLiBTaW5jZSB3ZSBhbHNvIGNhbid0IHVzZSBzb21ldGhpbmcgbGlrZVxuICAgIC8vIGByZ2JhKDAsIDAsIDAsIDApYCwgd2Ugd29yayBhcm91bmQgdGhlIGluY29uc2lzdGVuY3kgYnkgbm90IHNldHRpbmcgdGhlIGJhY2tncm91bmQgYXRcbiAgICAvLyBhbGwgYW5kIHVzaW5nIGBvcGFjaXR5YCB0byBtYWtlIHRoZSBlbGVtZW50IHRyYW5zcGFyZW50LlxuICAgICYsICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXkgcGFyZW50IGVsZW1lbnQgdXNlZCB3aXRoIHRoZSBjb25uZWN0ZWQgcG9zaXRpb24gc3RyYXRlZ3kuIFVzZWQgdG8gY29uc3RyYWluIHRoZVxuICAvLyBvdmVybGF5IGVsZW1lbnQncyBzaXplIHRvIGZpdCB3aXRoaW4gdGhlIHZpZXdwb3J0LlxuICAuY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xuXG4gICAgLy8gV2UgdXNlIGBkaXNwbGF5OiBmbGV4YCBvbiB0aGlzIGVsZW1lbnQgZXhjbHVzaXZlbHkgZm9yIGNlbnRlcmluZyBjb25uZWN0ZWQgb3ZlcmxheXMuXG4gICAgLy8gV2hlbiAqbm90KiBjZW50ZXJpbmcsIGEgdG9wL2xlZnQvYm90dG9tL3JpZ2h0IHdpbGwgYmUgc2V0IHdoaWNoIG92ZXJyaWRlcyB0aGUgbm9ybWFsXG4gICAgLy8gZmxleCBsYXlvdXQuXG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC8vIFdlIHVzZSB0aGUgYGNvbHVtbmAgZGlyZWN0aW9uIGhlcmUgdG8gYXZvaWQgc29tZSBmbGV4Ym94IGlzc3VlcyBpbiBFZGdlXG4gICAgLy8gd2hlbiB1c2luZyB0aGUgXCJncm93IGFmdGVyIG9wZW5cIiBvcHRpb25zLlxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAvLyBBZGQgc29tZSBkaW1lbnNpb25zIHNvIHRoZSBlbGVtZW50IGhhcyBhbiBgaW5uZXJUZXh0YCB3aGljaCBzb21lIHBlb3BsZSBkZXBlbmQgb24gaW4gdGVzdHMuXG4gICAgbWluLXdpZHRoOiAxcHg7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG5cbiAgLy8gVXNlZCB3aGVuIGRpc2FibGluZyBnbG9iYWwgc2Nyb2xsaW5nLlxuICAuY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgLy8gTmVjZXNzYXJ5IGZvciB0aGUgY29udGVudCBub3QgdG8gbG9zZSBpdHMgd2lkdGguIE5vdGUgdGhhdCB3ZSdyZSB1c2luZyAxMDAlLCBpbnN0ZWFkIG9mXG4gICAgLy8gMTAwdncsIGJlY2F1c2UgMTAwdncgaW5jbHVkZXMgdGhlIHdpZHRoIHBsdXMgdGhlIHNjcm9sbGJhciwgd2hlcmVhcyAxMDAlIGlzIHRoZSB3aWR0aFxuICAgIC8vIHRoYXQgdGhlIGVsZW1lbnQgaGFkIGJlZm9yZSB3ZSBtYWRlIGl0IGBmaXhlZGAuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAvLyBOb3RlOiB0aGlzIHdpbGwgYWx3YXlzIGFkZCBhIHNjcm9sbGJhciB0byB3aGF0ZXZlciBlbGVtZW50IGl0IGlzIG9uLCB3aGljaCBjYW5cbiAgICAvLyBwb3RlbnRpYWxseSByZXN1bHQgaW4gZG91YmxlIHNjcm9sbGJhcnMuIEl0IHNob3VsZG4ndCBiZSBhbiBpc3N1ZSwgYmVjYXVzZSB3ZSB3b24ndFxuICAgIC8vIGJsb2NrIHNjcm9sbGluZyBvbiBhIHBhZ2UgdGhhdCBkb2Vzbid0IGhhdmUgYSBzY3JvbGxiYXIgaW4gdGhlIGZpcnN0IHBsYWNlLlxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgfVxufVxuXG5AbWl4aW4gY2RrLWExMXkge1xuICAuY2RrLXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcblxuICAgIC8vIEF2b2lkIGJyb3dzZXJzIHJlbmRlcmluZyB0aGUgZm9jdXMgcmluZyBpbiBzb21lIGNhc2VzLlxuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBBdm9pZCBzb21lIGNhc2VzIHdoZXJlIHRoZSBicm93c2VyIHdpbGwgc3RpbGwgcmVuZGVyIHRoZSBuYXRpdmUgY29udHJvbHMgKHNlZSAjOTA0OSkuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxufVxuXG4vLy8gRW1pdHMgdGhlIG1peGluJ3MgY29udGVudCBuZXN0ZWQgdW5kZXIgYCRzZWxlY3Rvci1jb250ZXh0YCBpZiBgJHNlbGVjdG9yLWNvbnRleHRgXG4vLy8gaXMgbm9uLWVtcHR5LlxuLy8vIEBwYXJhbSBzZWxlY3Rvci1jb250ZXh0IFRoZSBzZWxlY3RvciB1bmRlciB3aGljaCB0byBuZXN0IHRoZSBtaXhpbidzIGNvbnRlbnQuXG5AbWl4aW4gX2Nkay1vcHRpb25hbGx5LW5lc3QtY29udGVudCgkc2VsZWN0b3ItY29udGV4dCkge1xuICBAaWYgKCRzZWxlY3Rvci1jb250ZXh0ID09ICcnKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JHNlbGVjdG9yLWNvbnRleHR9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIHVzZXJzIGluIGhpZ2ggY29udHJhc3QgbW9kZS4gTm90ZSB0aGF0IHRoaXMgb25seSBhcHBsaWVzXG4vLy8gdG8gTWljcm9zb2Z0IGJyb3dzZXJzLiBDaHJvbWUgY2FuIGJlIGluY2x1ZGVkIGJ5IGNoZWNraW5nIGZvciB0aGUgYGh0bWxbaGNdYFxuLy8vIGF0dHJpYnV0ZSwgaG93ZXZlciBDaHJvbWUgaGFuZGxlcyBoaWdoIGNvbnRyYXN0IGRpZmZlcmVudGx5LlxuLy8vXG4vLy8gQHBhcmFtIHRhcmdldCBXaGljaCBraW5kIG9mIGhpZ2ggY29udHJhc3Qgc2V0dGluZyB0byB0YXJnZXQuIERlZmF1bHRzIHRvIGBhY3RpdmVgLCBjYW4gYmVcbi8vLyAgICBgd2hpdGUtb24tYmxhY2tgIG9yIGBibGFjay1vbi13aGl0ZWAuXG4vLy8gQHBhcmFtIGVuY2Fwc3VsYXRpb24gV2hldGhlciB0byBlbWl0IHN0eWxlcyBmb3IgdmlldyBlbmNhcHN1bGF0aW9uLiBWYWx1ZXMgYXJlOlxuLy8vICAgICAqIGBvbmAgLSB3b3JrcyBmb3IgYEVtdWxhdGVkYCwgYE5hdGl2ZWAsIGFuZCBgU2hhZG93RG9tYFxuLy8vICAgICAqIGBvZmZgIC0gd29ya3MgZm9yIGBOb25lYFxuLy8vICAgICAqIGBhbnlgIC0gd29ya3MgZm9yIGFsbCBlbmNhcHN1bGF0aW9uIG1vZGVzIGJ5IGVtaXR0aW5nIHRoZSBDU1MgdHdpY2UgKGRlZmF1bHQpLlxuQG1peGluIGNkay1oaWdoLWNvbnRyYXN0KCR0YXJnZXQ6IGFjdGl2ZSwgJGVuY2Fwc3VsYXRpb246ICdhbnknKSB7XG4gIEBpZiAoJHRhcmdldCAhPSAnYWN0aXZlJyBhbmQgJHRhcmdldCAhPSAnYmxhY2stb24td2hpdGUnIGFuZCAkdGFyZ2V0ICE9ICd3aGl0ZS1vbi1ibGFjaycpIHtcbiAgICBAZXJyb3IgJ1Vua25vd24gY2RrLWhpZ2gtY29udHJhc3QgdmFsdWUgXCIjeyR0YXJnZXR9XCIgcHJvdmlkZWQuICcgK1xuICAgICAgICAgICAnQWxsb3dlZCB2YWx1ZXMgYXJlIFwiYWN0aXZlXCIsIFwiYmxhY2stb24td2hpdGVcIiwgYW5kIFwid2hpdGUtb24tYmxhY2tcIic7XG4gIH1cblxuICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvbicgYW5kICRlbmNhcHN1bGF0aW9uICE9ICdvZmYnIGFuZCAkZW5jYXBzdWxhdGlvbiAhPSAnYW55Jykge1xuICAgIEBlcnJvciAnVW5rbm93biBjZGstaGlnaC1jb250cmFzdCBlbmNhcHN1bGF0aW9uIFwiI3skZW5jYXBzdWxhdGlvbn1cIiBwcm92aWRlZC4gJyArXG4gICAgICAgICAgICdBbGxvd2VkIHZhbHVlcyBhcmUgXCJvblwiLCBcIm9mZlwiLCBhbmQgXCJhbnlcIic7XG4gIH1cblxuICAvLyBJZiB0aGUgc2VsZWN0b3IgY29udGV4dCBoYXMgbXVsdGlwbGUgcGFydHMsIHN1Y2ggYXMgYC5zZWN0aW9uLCAucmVnaW9uYCwganVzdCBkb2luZ1xuICAvLyBgLmNkay1oaWdoLWNvbnRyYXN0LXh4eCAjeyZ9YCB3aWxsIG9ubHkgYXBwbHkgdGhlIHBhcmVudCBzZWxlY3RvciB0byB0aGUgZmlyc3QgcGFydCBvZiB0aGVcbiAgLy8gY29udGV4dC4gV2UgYWRkcmVzcyB0aGlzIGJ5IG5lc3RpbmcgdGhlIHNlbGVjdG9yIGNvbnRleHQgdW5kZXIgLmNkay1oaWdoLWNvbnRyYXN0LlxuICBAYXQtcm9vdCB7XG4gICAgJHNlbGVjdG9yLWNvbnRleHQ6ICN7Jn07XG5cbiAgICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvbicpIHtcbiAgICAgIC8vIE5vdGUgdGhhdCBpZiB0aGlzIHNlbGVjdG9yIGlzIHVwZGF0ZWQsIHRoZSBzYW1lIGNoYW5nZSBoYXMgdG8gYmUgbWFkZSBpbnNpZGVcbiAgICAgIC8vIGBfb3ZlcmxheS5zY3NzYCB3aGljaCBjYW4ndCBkZXBlbmQgb24gdGhpcyBtaXhpbiBkdWUgdG8gc29tZSBpbmZyYXN0cnVjdHVyZSBsaW1pdGF0aW9ucy5cbiAgICAgIC5jZGstaGlnaC1jb250cmFzdC0jeyR0YXJnZXR9IHtcbiAgICAgICAgQGluY2x1ZGUgX2Nkay1vcHRpb25hbGx5LW5lc3QtY29udGVudCgkc2VsZWN0b3ItY29udGV4dCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkZW5jYXBzdWxhdGlvbiAhPSAnb2ZmJykge1xuICAgICAgLmNkay1oaWdoLWNvbnRyYXN0LSN7JHRhcmdldH0gOmhvc3Qge1xuICAgICAgICBAaW5jbHVkZSBfY2RrLW9wdGlvbmFsbHktbmVzdC1jb250ZW50KCRzZWxlY3Rvci1jb250ZXh0KSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29yZSBzdHlsZXMgdGhhdCBlbmFibGUgbW9uaXRvcmluZyBhdXRvZmlsbCBzdGF0ZSBvZiB0ZXh0IGZpZWxkcy5cbkBtaXhpbiBjZGstdGV4dC1maWVsZCB7XG4gIC8vIEtleWZyYW1lcyB0aGF0IGFwcGx5IG5vIHN0eWxlcywgYnV0IGFsbG93IHVzIHRvIG1vbml0b3Igd2hlbiBhbiB0ZXh0IGZpZWxkIGJlY29tZXMgYXV0b2ZpbGxlZFxuICAvLyBieSB3YXRjaGluZyBmb3IgdGhlIGFuaW1hdGlvbiBldmVudHMgdGhhdCBhcmUgZmlyZWQgd2hlbiB0aGV5IHN0YXJ0LiBOb3RlOiB0aGUgLyohKi8gY29tbWVudCBpc1xuICAvLyBuZWVkZWQgdG8gcHJldmVudCBMaWJTYXNzIGZyb20gc3RyaXBwaW5nIHRoZSBrZXlmcmFtZXMgb3V0LlxuICAvLyBCYXNlZCBvbjogaHR0cHM6Ly9tZWRpdW0uY29tL0BicnVubi9kZXRlY3RpbmctYXV0b2ZpbGxlZC1maWVsZHMtaW4tamF2YXNjcmlwdC1hZWQ1OThkMjVkYTdcbiAgQGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCB7LyohKi99XG4gIEBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIHsvKiEqL31cblxuICAuY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIC8vIFNpbmNlIENocm9tZSA4MCB3ZSBuZWVkIGEgMW1zIGRlbGF5LCBvciB0aGUgYW5pbWF0aW9uc3RhcnQgZXZlbnQgd29uJ3QgZmlyZS5cbiAgICBhbmltYXRpb246IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtcztcbiAgfVxuXG4gIC5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6bm90KDotd2Via2l0LWF1dG9maWxsKSB7XG4gICAgLy8gU2luY2UgQ2hyb21lIDgwIHdlIG5lZWQgYSAxbXMgZGVsYXksIG9yIHRoZSBhbmltYXRpb25zdGFydCBldmVudCB3b24ndCBmaXJlLlxuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtcztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgcmVzaXplIGhhbmRsZSBvbiBhdXRvc2l6aW5nIHRleHRhcmVhcywgYmVjYXVzZSB3aGF0ZXZlciBoZWlnaHRcbiAgLy8gdGhlIHVzZXIgcmVzaXplZCB0byB3aWxsIGJlIG92ZXJ3cml0dGVuIG9uY2UgdGhleSBzdGFydCB0eXBpbmcgYWdhaW4uXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZSB7XG4gICAgcmVzaXplOiBub25lO1xuICB9XG5cbiAgLy8gVGhpcyBjbGFzcyBpcyB0ZW1wb3JhcmlseSBhcHBsaWVkIHRvIHRoZSB0ZXh0YXJlYSB3aGVuIGl0IGlzIGJlaW5nIG1lYXN1cmVkLiBJdCBpcyBpbW1lZGlhdGVseVxuICAvLyByZW1vdmVkIHdoZW4gbWVhc3VyaW5nIGlzIGNvbXBsZXRlLiBXZSB1c2UgYCFpbXBvcnRhbnRgIHJ1bGVzIGhlcmUgdG8gbWFrZSBzdXJlIHVzZXItc3BlY2lmaWVkXG4gIC8vIHJ1bGVzIGRvIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgbWVhc3VyZW1lbnQuXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmcge1xuICAgIEBpbmNsdWRlIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2U7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gU2ltaWxhciB0byB0aGUgYGNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdgIGNsYXNzLCBidXQgb25seSBhcHBsaWVkIG9uIEZpcmVmb3guIFdlIG5lZWRcbiAgLy8gdG8gdXNlIHRoaXMgY2xhc3MsIGJlY2F1c2UgRmlyZWZveCBoYXMgYSBidWcgd2hlcmUgY2hhbmdpbmcgdGhlIGBvdmVyZmxvd2AgYnJlYWtzIHRoZSB1c2VyJ3NcbiAgLy8gYWJpbGl0eSB0byB1bmRvL3JlZG8gd2hhdCB0aGV5IHdlcmUgdHlwaW5nIChzZWUgIzE2NjI5KS4gVGhpcyBjbGFzcyBpcyBvbmx5IHNjb3BlZCB0byBGaXJlZm94LFxuICAvLyBiZWNhdXNlIHRoZSBtZWFzdXJlbWVudHMgdGhlcmUgZG9uJ3Qgc2VlbSB0byBiZSBhZmZlY3RlZCBieSB0aGUgYGhlaWdodDogMGAsIHdoZXJlYXMgb24gb3RoZXJcbiAgLy8gYnJvd3NlcnMgdGhleSBhcmUsIGUuZy4gQ2hyb21lIGRldGVjdHMgbG9uZ2VyIHRleHQgYW5kIElFIGRvZXMndCByZXNpemUgYmFjayB0byBub3JtYWwuXG4gIC8vIElkZW50aWNhbCBpc3N1ZSByZXBvcnQ6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTQ0ODc4NFxuICB0ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3gge1xuICAgIEBpbmNsdWRlIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2U7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2Uge1xuICAvLyBIYXZpbmcgMnB4IHRvcCBhbmQgYm90dG9tIHBhZGRpbmcgc2VlbXMgdG8gZml4IGEgYnVnIHdoZXJlIENocm9tZSBnZXRzIGFuIGluY29ycmVjdFxuICAvLyBtZWFzdXJlbWVudC4gV2UganVzdCBoYXZlIHRvIGFjY291bnQgZm9yIGl0IGxhdGVyIGFuZCBzdWJ0cmFjdCBpdCBvZmYgdGhlIGZpbmFsIHJlc3VsdC5cbiAgcGFkZGluZzogMnB4IDAgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3ggIWltcG9ydGFudDtcbn1cblxuLy8gVXNlZCB0byBnZW5lcmF0ZSBVSURzIGZvciBrZXlmcmFtZXMgdXNlZCB0byBjaGFuZ2UgdGhlIHRleHQgZmllbGQgYXV0b2ZpbGwgc3R5bGVzLlxuJGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50OiAwO1xuXG4vLyBNaXhpbiB1c2VkIHRvIGFwcGx5IGN1c3RvbSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbG9ycyB0byBhbiBhdXRvZmlsbGVkIHRleHQgZmllbGQuXG4vLyBCYXNlZCBvbjogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjc4MTU0OS9cbi8vIHJlbW92aW5nLWlucHV0LWJhY2tncm91bmQtY29sb3VyLWZvci1jaHJvbWUtYXV0b2NvbXBsZXRlI2Fuc3dlci0zNzQzMjI2MFxuQG1peGluIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yKCRiYWNrZ3JvdW5kLCAkZm9yZWdyb3VuZDonJykge1xuICBAa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLSN7JGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50fSB7XG4gICAgdG8ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBAaWYgJGZvcmVncm91bmQgIT0gJycgeyBjb2xvcjogJGZvcmVncm91bmQ7IH1cbiAgICB9XG4gIH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItI3skY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnR9IGJvdGg7XG4gIH1cblxuICAmLmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAvLyBTaW5jZSBDaHJvbWUgODAgd2UgbmVlZCBhIDFtcyBkZWxheSBmb3IgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQsIG9yIHRoZSBhbmltYXRpb25zdGFydFxuICAgIC8vIGV2ZW50IHdvbid0IGZpcmUuXG4gICAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXMsXG4gICAgICAgICAgICAgICBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci0jeyRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudH0gYm90aDtcbiAgfVxuXG4gICRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudDpcbiAgICAgICRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudCArIDEgIWdsb2JhbDtcbn1cblxuXG4vLyBDb3JlIHN0eWxlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGFwcGx5IG1hdGVyaWFsIGRlc2lnbiB0cmVhdG1lbnRzIHRvIGFueSBlbGVtZW50LlxuLy8gTWVkaWEgcXVlcmllc1xuLy8gVE9ETyhqb3NlcGhwZXJyb3R0KTogQ2hhbmdlICRtYXQteHNtYWxsIGFuZCAkbWF0LXNtYWxsIHVzYWdlcyB0byByZWx5IG9uIEJyZWFrcG9pbnRPYnNlcnZlcixcbiRtYXQteHNtYWxsOiAnbWF4LXdpZHRoOiA1OTlweCc7XG4kbWF0LXNtYWxsOiAnbWF4LXdpZHRoOiA5NTlweCc7XG5cbi8vIFRPRE86IFJldmlzaXQgYWxsIHotaW5kaWNlcyBiZWZvcmUgYmV0YVxuLy8gei1pbmRleCBtYXN0ZXIgbGlzdFxuXG4kei1pbmRleC1mYWI6IDIwICFkZWZhdWx0O1xuJHotaW5kZXgtZHJhd2VyOiAxMDAgIWRlZmF1bHQ7XG5cbi8vIEdsb2JhbCBjb25zdGFudHNcbiRwaTogMy4xNDE1OTI2NTtcblxuLy8gUGFkZGluZyBiZXR3ZWVuIGlucHV0IHRvZ2dsZXMgYW5kIHRoZWlyIGxhYmVsc1xuJG1hdC10b2dnbGUtcGFkZGluZzogOHB4ICFkZWZhdWx0O1xuLy8gV2lkdGggYW5kIGhlaWdodCBvZiBpbnB1dCB0b2dnbGVzXG4kbWF0LXRvZ2dsZS1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLyBFYXNpbmcgQ3VydmVzXG4vLyBUT0RPKGplbGJvdXJuKTogYWxsIG9mIHRoZXNlIG5lZWQgdG8gYmUgcmV2aXNpdGVkXG5cbi8vIFRoZSBkZWZhdWx0IGFuaW1hdGlvbiBjdXJ2ZXMgdXNlZCBieSBtYXRlcmlhbCBkZXNpZ24uXG4kbWF0LWxpbmVhci1vdXQtc2xvdy1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSkgIWRlZmF1bHQ7XG4kbWF0LWZhc3Qtb3V0LXNsb3ctaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpICFkZWZhdWx0O1xuJG1hdC1mYXN0LW91dC1saW5lYXItaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKSAhZGVmYXVsdDtcblxuJGVhc2UtaW4tb3V0LWN1cnZlLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSkgIWRlZmF1bHQ7XG5cbiRzd2lmdC1lYXNlLW91dC1kdXJhdGlvbjogNDAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1vdXQtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLW91dDogYWxsICRzd2lmdC1lYXNlLW91dC1kdXJhdGlvbiAkc3dpZnQtZWFzZS1vdXQtdGltaW5nLWZ1bmN0aW9uICFkZWZhdWx0O1xuXG4kc3dpZnQtZWFzZS1pbi1kdXJhdGlvbjogMzAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLCAwLjU1LCAwLjIpICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2UtaW46IGFsbCAkc3dpZnQtZWFzZS1pbi1kdXJhdGlvbiAkc3dpZnQtZWFzZS1pbi10aW1pbmctZnVuY3Rpb24gIWRlZmF1bHQ7XG5cbiRzd2lmdC1lYXNlLWluLW91dC1kdXJhdGlvbjogNTAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi1vdXQtdGltaW5nLWZ1bmN0aW9uOiAkZWFzZS1pbi1vdXQtY3VydmUtZnVuY3Rpb24gIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi1vdXQ6IGFsbCAkc3dpZnQtZWFzZS1pbi1vdXQtZHVyYXRpb24gJHN3aWZ0LWVhc2UtaW4tb3V0LXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuJHN3aWZ0LWxpbmVhci1kdXJhdGlvbjogODBtcyAhZGVmYXVsdDtcbiRzd2lmdC1saW5lYXItdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWRlZmF1bHQ7XG4kc3dpZnQtbGluZWFyOiBhbGwgJHN3aWZ0LWxpbmVhci1kdXJhdGlvbiAkc3dpZnQtbGluZWFyLXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuXG5cbi8vIEEgY29sbGVjdGlvbiBvZiBtaXhpbnMgYW5kIENTUyBjbGFzc2VzIHRoYXQgY2FuIGJlIHVzZWQgdG8gYXBwbHkgZWxldmF0aW9uIHRvIGEgbWF0ZXJpYWxcbi8vIGVsZW1lbnQuXG4vLyBTZWU6IGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2Vudmlyb25tZW50L2VsZXZhdGlvbi5odG1sXG4vLyBFeGFtcGxlczpcbi8vXG4vL1xuLy8gLm1hdC1mb28ge1xuLy8gICBAaW5jbHVkZSAkbWF0LWVsZXZhdGlvbigyKTtcbi8vXG4vLyAgICY6YWN0aXZlIHtcbi8vICAgICBAaW5jbHVkZSAkbWF0LWVsZXZhdGlvbig4KTtcbi8vICAgfVxuLy8gfVxuLy9cbi8vIDxkaXYgaWQ9XCJleHRlcm5hbC1jYXJkXCIgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXoyXCI+PHA+U29tZSBjb250ZW50PC9wPjwvZGl2PlxuLy9cbi8vIEZvciBhbiBleHBsYW5hdGlvbiBvZiB0aGUgZGVzaWduIGJlaGluZCBob3cgZWxldmF0aW9uIGlzIGltcGxlbWVudGVkLCBzZWUgdGhlIGRlc2lnbiBkb2MgYXRcbi8vIGh0dHBzOi8vZ29vLmdsL0txMGs5Wi5cblxuLy8gQ29sb3JzIGZvciB1bWJyYSwgcGVudW1icmEsIGFuZCBhbWJpZW50IHNoYWRvd3MuIEFzIGRlc2NyaWJlZCBpbiB0aGUgZGVzaWduIGRvYywgZWFjaCBlbGV2YXRpb25cbi8vIGxldmVsIGlzIGNyZWF0ZWQgdXNpbmcgYSBzZXQgb2YgMyBzaGFkb3cgdmFsdWVzLCBvbmUgZm9yIHVtYnJhICh0aGUgc2hhZG93IHJlcHJlc2VudGluZyB0aGVcbi8vIHNwYWNlIGNvbXBsZXRlbHkgb2JzY3VyZWQgYnkgYW4gb2JqZWN0IHJlbGF0aXZlIHRvIGl0cyBsaWdodCBzb3VyY2UpLCBvbmUgZm9yIHBlbnVtYnJhICh0aGVcbi8vIHNwYWNlIHBhcnRpYWxseSBvYnNjdXJlZCBieSBhbiBvYmplY3QpLCBhbmQgb25lIGZvciBhbWJpZW50ICh0aGUgc3BhY2Ugd2hpY2ggY29udGFpbnMgdGhlIG9iamVjdFxuLy8gaXRzZWxmKS4gRm9yIGEgZnVydGhlciBleHBsYW5hdGlvbiBvZiB0aGVzZSB0ZXJtcyBhbmQgdGhlaXIgbWVhbmluZ3MsIHNlZVxuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW1icmEsX3BlbnVtYnJhX2FuZF9hbnR1bWJyYS5cblxuLy8gTWFwcyBmb3IgdGhlIGRpZmZlcmVudCBzaGFkb3cgc2V0cyBhbmQgdGhlaXIgdmFsdWVzIHdpdGhpbiBlYWNoIHotc3BhY2UuIFRoZXNlIHZhbHVlcyB3ZXJlXG4vLyBjcmVhdGVkIGJ5IHRha2luZyBhIGZldyByZWZlcmVuY2Ugc2hhZG93IHNldHMgY3JlYXRlZCBieSBHb29nbGUncyBEZXNpZ25lcnMgYW5kIGludGVycG9sYXRpbmdcbi8vIGFsbCBvZiB0aGUgdmFsdWVzIGJldHdlZW4gdGhlbS5cblxuQGZ1bmN0aW9uIF9nZXQtdW1icmEtbWFwKCRjb2xvciwgJG9wYWNpdHkpIHtcbiAgJHNoYWRvdy1jb2xvcjogaWYodHlwZS1vZigkY29sb3IpID09IGNvbG9yLCByZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpLCAkY29sb3IpO1xuXG4gIEByZXR1cm4gKFxuICAgIDA6ICcwcHggMHB4IDBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTogJzBweCAycHggMXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjogJzBweCAzcHggMXB4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMzogJzBweCAzcHggM3B4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNDogJzBweCAycHggNHB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNTogJzBweCAzcHggNXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNjogJzBweCAzcHggNXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNzogJzBweCA0cHggNXB4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgODogJzBweCA1cHggNXB4IC0zcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgOTogJzBweCA1cHggNnB4IC0zcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTA6ICcwcHggNnB4IDZweCAtM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDExOiAnMHB4IDZweCA3cHggLTRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMjogJzBweCA3cHggOHB4IC00cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTM6ICcwcHggN3B4IDhweCAtNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE0OiAnMHB4IDdweCA5cHggLTRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNTogJzBweCA4cHggOXB4IC01cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTY6ICcwcHggOHB4IDEwcHggLTVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNzogJzBweCA4cHggMTFweCAtNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE4OiAnMHB4IDlweCAxMXB4IC01cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTk6ICcwcHggOXB4IDEycHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMDogJzBweCAxMHB4IDEzcHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMTogJzBweCAxMHB4IDEzcHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMjogJzBweCAxMHB4IDE0cHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMzogJzBweCAxMXB4IDE0cHggLTdweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyNDogJzBweCAxMXB4IDE1cHggLTdweCAjeyRzaGFkb3ctY29sb3J9J1xuICApO1xufVxuXG5AZnVuY3Rpb24gX2dldC1wZW51bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSkge1xuICAkc2hhZG93LWNvbG9yOiBpZih0eXBlLW9mKCRjb2xvcikgPT0gY29sb3IsIHJnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpLCAkY29sb3IpO1xuXG4gIEByZXR1cm4gKFxuICAgIDA6ICcwcHggMHB4IDBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTogJzBweCAxcHggMXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyOiAnMHB4IDJweCAycHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDM6ICcwcHggM3B4IDRweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNDogJzBweCA0cHggNXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA1OiAnMHB4IDVweCA4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDY6ICcwcHggNnB4IDEwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDc6ICcwcHggN3B4IDEwcHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDg6ICcwcHggOHB4IDEwcHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDk6ICcwcHggOXB4IDEycHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEwOiAnMHB4IDEwcHggMTRweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTE6ICcwcHggMTFweCAxNXB4IDFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMjogJzBweCAxMnB4IDE3cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEzOiAnMHB4IDEzcHggMTlweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTQ6ICcwcHggMTRweCAyMXB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNTogJzBweCAxNXB4IDIycHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE2OiAnMHB4IDE2cHggMjRweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTc6ICcwcHggMTdweCAyNnB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxODogJzBweCAxOHB4IDI4cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE5OiAnMHB4IDE5cHggMjlweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjA6ICcwcHggMjBweCAzMXB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMTogJzBweCAyMXB4IDMzcHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIyOiAnMHB4IDIycHggMzVweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjM6ICcwcHggMjNweCAzNnB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyNDogJzBweCAyNHB4IDM4cHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nXG4gICk7XG59XG5cbkBmdW5jdGlvbiBfZ2V0LWFtYmllbnQtbWFwKCRjb2xvciwgJG9wYWNpdHkpIHtcbiAgJHNoYWRvdy1jb2xvcjogaWYodHlwZS1vZigkY29sb3IpID09IGNvbG9yLCByZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjEyKSwgJGNvbG9yKTtcblxuICBAcmV0dXJuIChcbiAgICAwOiAnMHB4IDBweCAwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE6ICcwcHggMXB4IDNweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjogJzBweCAxcHggNXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAzOiAnMHB4IDFweCA4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDQ6ICcwcHggMXB4IDEwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDU6ICcwcHggMXB4IDE0cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDY6ICcwcHggMXB4IDE4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDc6ICcwcHggMnB4IDE2cHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDg6ICcwcHggM3B4IDE0cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDk6ICcwcHggM3B4IDE2cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEwOiAnMHB4IDRweCAxOHB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMTogJzBweCA0cHggMjBweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTI6ICcwcHggNXB4IDIycHggNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEzOiAnMHB4IDVweCAyNHB4IDRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNDogJzBweCA1cHggMjZweCA0cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTU6ICcwcHggNnB4IDI4cHggNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE2OiAnMHB4IDZweCAzMHB4IDVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNzogJzBweCA2cHggMzJweCA1cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTg6ICcwcHggN3B4IDM0cHggNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE5OiAnMHB4IDdweCAzNnB4IDZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMDogJzBweCA4cHggMzhweCA3cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjE6ICcwcHggOHB4IDQwcHggN3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIyOiAnMHB4IDhweCA0MnB4IDdweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMzogJzBweCA5cHggNDRweCA4cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjQ6ICcwcHggOXB4IDQ2cHggOHB4ICN7JHNoYWRvdy1jb2xvcn0nXG4gICk7XG59XG5cbi8vIFRoZSBkZWZhdWx0IGR1cmF0aW9uIHZhbHVlIGZvciBlbGV2YXRpb24gdHJhbnNpdGlvbnMuXG4kbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uOiAyODBtcyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZWFzaW5nIHZhbHVlIGZvciBlbGV2YXRpb24gdHJhbnNpdGlvbnMuXG4kbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1hdC1mYXN0LW91dC1zbG93LWluLXRpbWluZy1mdW5jdGlvbjtcblxuLy8gVGhlIGRlZmF1bHQgY29sb3IgZm9yIGVsZXZhdGlvbiBzaGFkb3dzLlxuJG1hdC1lbGV2YXRpb24tY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBvcGFjaXR5IHNjYWxpbmcgdmFsdWUgZm9yIGVsZXZhdGlvbiBzaGFkb3dzLlxuJG1hdC1lbGV2YXRpb24tb3BhY2l0eTogMSAhZGVmYXVsdDtcblxuLy8gUHJlZml4IGZvciBlbGV2YXRpb24tcmVsYXRlZCBzZWxlY3RvcnMuXG4kbWF0LWVsZXZhdGlvbi1wcmVmaXg6ICdtYXQtZWxldmF0aW9uLXonO1xuXG4vLyBBcHBsaWVzIHRoZSBjb3JyZWN0IGNzcyBydWxlcyB0byBhbiBlbGVtZW50IHRvIGdpdmUgaXQgdGhlIGVsZXZhdGlvbiBzcGVjaWZpZWQgYnkgJHpWYWx1ZS5cbi8vIFRoZSAkelZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNC5cbkBtaXhpbiBtYXQtZWxldmF0aW9uKCR6VmFsdWUsICRjb2xvcjogJG1hdC1lbGV2YXRpb24tY29sb3IsICRvcGFjaXR5OiAkbWF0LWVsZXZhdGlvbi1vcGFjaXR5KSB7XG4gIEBpZiB0eXBlLW9mKCR6VmFsdWUpICE9IG51bWJlciBvciBub3QgdW5pdGxlc3MoJHpWYWx1ZSkge1xuICAgIEBlcnJvciAnJHpWYWx1ZSBtdXN0IGJlIGEgdW5pdGxlc3MgbnVtYmVyJztcbiAgfVxuICBAaWYgJHpWYWx1ZSA8IDAgb3IgJHpWYWx1ZSA+IDI0IHtcbiAgICBAZXJyb3IgJyR6VmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0JztcbiAgfVxuXG4gIGJveC1zaGFkb3c6ICN7bWFwLWdldChfZ2V0LXVtYnJhLW1hcCgkY29sb3IsICRvcGFjaXR5KSwgJHpWYWx1ZSl9LFxuICAgICAgICAgICAgICAje21hcC1nZXQoX2dldC1wZW51bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSksICR6VmFsdWUpfSxcbiAgICAgICAgICAgICAgI3ttYXAtZ2V0KF9nZXQtYW1iaWVudC1tYXAoJGNvbG9yLCAkb3BhY2l0eSksICR6VmFsdWUpfTtcbn1cblxuLy8gQXBwbGllcyB0aGUgZWxldmF0aW9uIHRvIGFuIGVsZW1lbnQgaW4gYSBtYW5uZXIgdGhhdCBhbGxvd3Ncbi8vIGNvbnN1bWVycyB0byBvdmVycmlkZSBpdCB2aWEgdGhlIE1hdGVyaWFsIGVsZXZhdGlvbiBjbGFzc2VzLlxuQG1peGluIG1hdC1vdmVycmlkYWJsZS1lbGV2YXRpb24oXG4gICAgJHpWYWx1ZSxcbiAgICAkY29sb3I6ICRtYXQtZWxldmF0aW9uLWNvbG9yLFxuICAgICRvcGFjaXR5OiAkbWF0LWVsZXZhdGlvbi1vcGFjaXR5KSB7XG4gICY6bm90KFtjbGFzcyo9JyN7JG1hdC1lbGV2YXRpb24tcHJlZml4fSddKSB7XG4gICAgQGluY2x1ZGUgbWF0LWVsZXZhdGlvbigkelZhbHVlLCAkY29sb3IsICRvcGFjaXR5KTtcbiAgfVxufVxuXG4vLyBSZXR1cm5zIGEgc3RyaW5nIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIHZhbHVlIGZvciBhIHRyYW5zaXRpb24gcHJvcGVydHkgZm9yIGVsZXZhdGlvbi5cbi8vIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBkaXJlY3RseSBpcyB1c2VmdWwgaW4gc2l0dWF0aW9ucyB3aGVyZSBhIGNvbXBvbmVudCBuZWVkcyB0byB0cmFuc2l0aW9uXG4vLyBtb3JlIHRoYW4gb25lIHByb3BlcnR5LlxuLy9cbi8vIC5mb28ge1xuLy8gICB0cmFuc2l0aW9uOiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tcHJvcGVydHktdmFsdWUoKSwgb3BhY2l0eSAxMDBtcyBlYXNlO1xuLy8gfVxuQGZ1bmN0aW9uIG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1wcm9wZXJ0eS12YWx1ZShcbiAgICAkZHVyYXRpb246ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICAgJGVhc2luZzogJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pIHtcbiAgQHJldHVybiBib3gtc2hhZG93ICN7JGR1cmF0aW9ufSAjeyRlYXNpbmd9O1xufVxuXG4vLyBBcHBsaWVzIHRoZSBjb3JyZWN0IGNzcyBydWxlcyBuZWVkZWQgdG8gaGF2ZSBhbiBlbGVtZW50IHRyYW5zaXRpb24gYmV0d2VlbiBlbGV2YXRpb25zLlxuLy8gVGhpcyBtaXhpbiBzaG91bGQgYmUgYXBwbGllZCB0byBlbGVtZW50cyB3aG9zZSBlbGV2YXRpb24gdmFsdWVzIHdpbGwgY2hhbmdlIGRlcGVuZGluZyBvbiB0aGVpclxuLy8gY29udGV4dCAoZS5nLiB3aGVuIGFjdGl2ZSBvciBkaXNhYmxlZCkuXG4vL1xuLy8gTk9URSh0cmF2aXNrYXVmbWFuKTogQm90aCB0aGlzIG1peGluIGFuZCB0aGUgYWJvdmUgZnVuY3Rpb24gdXNlIGRlZmF1bHQgcGFyYW1ldGVycyBzbyB0aGV5IGNhblxuLy8gYmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkgYnkgY2xpZW50cy5cbkBtaXhpbiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24oXG4gICAgJGR1cmF0aW9uOiAkbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAgICRlYXNpbmc6ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSB7XG4gIHRyYW5zaXRpb246IG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1wcm9wZXJ0eS12YWx1ZSgkZHVyYXRpb24sICRlYXNpbmcpO1xufVxuXG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbmZpZywgJG9wYWNpdHk6ICRtYXQtZWxldmF0aW9uLW9wYWNpdHkpIHtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRlbGV2YXRpb24tY29sb3I6IG1hcC1nZXQoJGZvcmVncm91bmQsIGVsZXZhdGlvbik7XG4gICRlbGV2YXRpb24tY29sb3Itb3ItZGVmYXVsdDogaWYoJGVsZXZhdGlvbi1jb2xvciA9PSBudWxsLCAkbWF0LWVsZXZhdGlvbi1jb2xvciwgJGVsZXZhdGlvbi1jb2xvcik7XG5cbiAgQGluY2x1ZGUgbWF0LWVsZXZhdGlvbigkelZhbHVlLCAkZWxldmF0aW9uLWNvbG9yLW9yLWRlZmF1bHQsICRvcGFjaXR5KTtcbn1cblxuQG1peGluIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigkelZhbHVlLCAkY29uZmlnLCAkb3BhY2l0eTogJG1hdC1lbGV2YXRpb24tb3BhY2l0eSkge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGVsZXZhdGlvbi1jb2xvcjogbWFwLWdldCgkZm9yZWdyb3VuZCwgZWxldmF0aW9uKTtcbiAgJGVsZXZhdGlvbi1jb2xvci1vci1kZWZhdWx0OiBpZigkZWxldmF0aW9uLWNvbG9yID09IG51bGwsICRtYXQtZWxldmF0aW9uLWNvbG9yLCAkZWxldmF0aW9uLWNvbG9yKTtcblxuICBAaW5jbHVkZSBtYXQtb3ZlcnJpZGFibGUtZWxldmF0aW9uKCR6VmFsdWUsICRlbGV2YXRpb24tY29sb3Itb3ItZGVmYXVsdCwgJG9wYWNpdHkpO1xufVxuXG4vLyBJZiB0aGUgbWF0LWFuaW1hdGlvbi1ub29wIGNsYXNzIGlzIHByZXNlbnQgb24gdGhlIGNvbXBvbmVudHMgcm9vdCBlbGVtZW50LFxuLy8gcHJldmVudCBub24gY3NzIGFuaW1hdGlvbnMgZnJvbSBydW5uaW5nLlxuLy8gTk9URTogQ3VycmVudGx5IHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIGNvbXBvbmVudHMgdGhhdCBkbyBub3Rcbi8vIGhhdmUgYW55IHByb2plY3RlZCBjb250ZW50LlxuQG1peGluIG1hdC1wcml2YXRlLWFuaW1hdGlvbi1ub29wKCkge1xuICAvLyBAYXQtcm9vdCBpcyB1c2VkIHRvIHN0ZXBzIG91dHNpZGUgb2YgdGhlIGhpZXJhcmNoeSBvZiB0aGUgc2NzcyBydWxlcy4gVGhpcyBpc1xuICAvLyBkb25lIHRvIGFsbG93IGEgY2xhc3MgdG8gYmUgYWRkZWQgdG8gYmUgYWRkZWQgdG8gYmFzZSBvZiB0aGUgc2NzcyBuZXN0aW5nXG4gIC8vIGNvbnRleHQuXG4gIC8vIEZvciBleGFtcGxlOlxuICAvLyAubXktcm9vdCB7XG4gIC8vICAgLm15LXN1YmNsYXNzIHtcbiAgLy8gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1hbmltYXRpb24tbm9vcCgpO1xuICAvLyAgICB9XG4gIC8vIH1cbiAgLy8gcmVzdWx0cyBpbjpcbiAgLy8gLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm15LXJvb3QgLm15LXN1YmNsYXNzIHsgLi4uIH1cbiAgQGF0LXJvb3QgLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlI3smfSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gQ29sb3IgcGFsZXR0ZXMgZnJvbSB0aGUgTWF0ZXJpYWwgRGVzaWduIHNwZWMuXG4vLyBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29sb3IvXG4vL1xuLy8gQ29udHJhc3QgY29sb3JzIGFyZSBoYXJkLWNvZGVkIGJlY2F1c2UgaXQgaXMgdG9vIGRpZmZpY3VsdCAocHJvYmFibHkgaW1wb3NzaWJsZSkgdG9cbi8vIGNhbGN1bGF0ZSB0aGVtLiBUaGVzZSBjb250cmFzdCBjb2xvcnMgYXJlIHB1bGxlZCBmcm9tIHRoZSBwdWJsaWMgTWF0ZXJpYWwgRGVzaWduIHNwZWMgc3dhdGNoZXMuXG4vLyBXaGlsZSB0aGUgY29udHJhc3QgY29sb3JzIGluIHRoZSBzcGVjIGFyZSBub3QgcHJlc2NyaXB0aXZlLCB3ZSB1c2UgdGhlbSBmb3IgY29udmVuaWVuY2UuXG5cblxuLy8gQGRlcHJlY2F0ZWQgcmVuYW1lZCB0byAkZGFyay1wcmltYXJ5LXRleHQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kYmxhY2stODctb3BhY2l0eTogcmdiYShibGFjaywgMC44Nyk7XG4vLyBAZGVwcmVjYXRlZCByZW5hbWVkIHRvICRsaWdodC1wcmltYXJ5LXRleHQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kd2hpdGUtODctb3BhY2l0eTogcmdiYSh3aGl0ZSwgMC44Nyk7XG4vLyBAZGVwcmVjYXRlZCB1c2UgJGRhcmstW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiRibGFjay0xMi1vcGFjaXR5OiByZ2JhKGJsYWNrLCAwLjEyKTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkbGlnaHQtW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiR3aGl0ZS0xMi1vcGFjaXR5OiByZ2JhKHdoaXRlLCAwLjEyKTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkZGFyay1bc2Vjb25kYXJ5LXRleHQsZGlzYWJsZWQtdGV4dCxkaXZpZGVycyxmb2N1c2VkXSBpbnN0ZWFkLlxuLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMFxuJGJsYWNrLTYtb3BhY2l0eTogcmdiYShibGFjaywgMC4wNik7XG4vLyBAZGVwcmVjYXRlZCB1c2UgJGxpZ2h0LVtzZWNvbmRhcnktdGV4dCxkaXNhYmxlZC10ZXh0LGRpdmlkZXJzLGZvY3VzZWRdIGluc3RlYWQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kd2hpdGUtNi1vcGFjaXR5OiByZ2JhKHdoaXRlLCAwLjA2KTtcblxuJGRhcmstcHJpbWFyeS10ZXh0OiByZ2JhKGJsYWNrLCAwLjg3KTtcbiRkYXJrLXNlY29uZGFyeS10ZXh0OiByZ2JhKGJsYWNrLCAwLjU0KTtcbiRkYXJrLWRpc2FibGVkLXRleHQ6IHJnYmEoYmxhY2ssIDAuMzgpO1xuJGRhcmstZGl2aWRlcnM6IHJnYmEoYmxhY2ssIDAuMTIpO1xuJGRhcmstZm9jdXNlZDogcmdiYShibGFjaywgMC4xMik7XG4kbGlnaHQtcHJpbWFyeS10ZXh0OiB3aGl0ZTtcbiRsaWdodC1zZWNvbmRhcnktdGV4dDogcmdiYSh3aGl0ZSwgMC43KTtcbiRsaWdodC1kaXNhYmxlZC10ZXh0OiByZ2JhKHdoaXRlLCAwLjUpO1xuJGxpZ2h0LWRpdmlkZXJzOiByZ2JhKHdoaXRlLCAwLjEyKTtcbiRsaWdodC1mb2N1c2VkOiByZ2JhKHdoaXRlLCAwLjEyKTtcblxuJG1hdC1yZWQ6IChcbiAgNTA6ICNmZmViZWUsXG4gIDEwMDogI2ZmY2RkMixcbiAgMjAwOiAjZWY5YTlhLFxuICAzMDA6ICNlNTczNzMsXG4gIDQwMDogI2VmNTM1MCxcbiAgNTAwOiAjZjQ0MzM2LFxuICA2MDA6ICNlNTM5MzUsXG4gIDcwMDogI2QzMmYyZixcbiAgODAwOiAjYzYyODI4LFxuICA5MDA6ICNiNzFjMWMsXG4gIEExMDA6ICNmZjhhODAsXG4gIEEyMDA6ICNmZjUyNTIsXG4gIEE0MDA6ICNmZjE3NDQsXG4gIEE3MDA6ICNkNTAwMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1waW5rOiAoXG4gIDUwOiAjZmNlNGVjLFxuICAxMDA6ICNmOGJiZDAsXG4gIDIwMDogI2Y0OGZiMSxcbiAgMzAwOiAjZjA2MjkyLFxuICA0MDA6ICNlYzQwN2EsXG4gIDUwMDogI2U5MWU2MyxcbiAgNjAwOiAjZDgxYjYwLFxuICA3MDA6ICNjMjE4NWIsXG4gIDgwMDogI2FkMTQ1NyxcbiAgOTAwOiAjODgwZTRmLFxuICBBMTAwOiAjZmY4MGFiLFxuICBBMjAwOiAjZmY0MDgxLFxuICBBNDAwOiAjZjUwMDU3LFxuICBBNzAwOiAjYzUxMTYyLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtcHVycGxlOiAoXG4gIDUwOiAjZjNlNWY1LFxuICAxMDA6ICNlMWJlZTcsXG4gIDIwMDogI2NlOTNkOCxcbiAgMzAwOiAjYmE2OGM4LFxuICA0MDA6ICNhYjQ3YmMsXG4gIDUwMDogIzljMjdiMCxcbiAgNjAwOiAjOGUyNGFhLFxuICA3MDA6ICM3YjFmYTIsXG4gIDgwMDogIzZhMWI5YSxcbiAgOTAwOiAjNGExNDhjLFxuICBBMTAwOiAjZWE4MGZjLFxuICBBMjAwOiAjZTA0MGZiLFxuICBBNDAwOiAjZDUwMGY5LFxuICBBNzAwOiAjYWEwMGZmLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1kZWVwLXB1cnBsZTogKFxuICA1MDogI2VkZTdmNixcbiAgMTAwOiAjZDFjNGU5LFxuICAyMDA6ICNiMzlkZGIsXG4gIDMwMDogIzk1NzVjZCxcbiAgNDAwOiAjN2U1N2MyLFxuICA1MDA6ICM2NzNhYjcsXG4gIDYwMDogIzVlMzViMSxcbiAgNzAwOiAjNTEyZGE4LFxuICA4MDA6ICM0NTI3YTAsXG4gIDkwMDogIzMxMWI5MixcbiAgQTEwMDogI2IzODhmZixcbiAgQTIwMDogIzdjNGRmZixcbiAgQTQwMDogIzY1MWZmZixcbiAgQTcwMDogIzYyMDBlYSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtaW5kaWdvOiAoXG4gIDUwOiAjZThlYWY2LFxuICAxMDA6ICNjNWNhZTksXG4gIDIwMDogIzlmYThkYSxcbiAgMzAwOiAjNzk4NmNiLFxuICA0MDA6ICM1YzZiYzAsXG4gIDUwMDogIzNmNTFiNSxcbiAgNjAwOiAjMzk0OWFiLFxuICA3MDA6ICMzMDNmOWYsXG4gIDgwMDogIzI4MzU5MyxcbiAgOTAwOiAjMWEyMzdlLFxuICBBMTAwOiAjOGM5ZWZmLFxuICBBMjAwOiAjNTM2ZGZlLFxuICBBNDAwOiAjM2Q1YWZlLFxuICBBNzAwOiAjMzA0ZmZlLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1ibHVlOiAoXG4gIDUwOiAjZTNmMmZkLFxuICAxMDA6ICNiYmRlZmIsXG4gIDIwMDogIzkwY2FmOSxcbiAgMzAwOiAjNjRiNWY2LFxuICA0MDA6ICM0MmE1ZjUsXG4gIDUwMDogIzIxOTZmMyxcbiAgNjAwOiAjMWU4OGU1LFxuICA3MDA6ICMxOTc2ZDIsXG4gIDgwMDogIzE1NjVjMCxcbiAgOTAwOiAjMGQ0N2ExLFxuICBBMTAwOiAjODJiMWZmLFxuICBBMjAwOiAjNDQ4YWZmLFxuICBBNDAwOiAjMjk3OWZmLFxuICBBNzAwOiAjMjk2MmZmLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtbGlnaHQtYmx1ZTogKFxuICA1MDogI2UxZjVmZSxcbiAgMTAwOiAjYjNlNWZjLFxuICAyMDA6ICM4MWQ0ZmEsXG4gIDMwMDogIzRmYzNmNyxcbiAgNDAwOiAjMjliNmY2LFxuICA1MDA6ICMwM2E5ZjQsXG4gIDYwMDogIzAzOWJlNSxcbiAgNzAwOiAjMDI4OGQxLFxuICA4MDA6ICMwMjc3YmQsXG4gIDkwMDogIzAxNTc5YixcbiAgQTEwMDogIzgwZDhmZixcbiAgQTIwMDogIzQwYzRmZixcbiAgQTQwMDogIzAwYjBmZixcbiAgQTcwMDogIzAwOTFlYSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1jeWFuOiAoXG4gIDUwOiAjZTBmN2ZhLFxuICAxMDA6ICNiMmViZjIsXG4gIDIwMDogIzgwZGVlYSxcbiAgMzAwOiAjNGRkMGUxLFxuICA0MDA6ICMyNmM2ZGEsXG4gIDUwMDogIzAwYmNkNCxcbiAgNjAwOiAjMDBhY2MxLFxuICA3MDA6ICMwMDk3YTcsXG4gIDgwMDogIzAwODM4ZixcbiAgOTAwOiAjMDA2MDY0LFxuICBBMTAwOiAjODRmZmZmLFxuICBBMjAwOiAjMThmZmZmLFxuICBBNDAwOiAjMDBlNWZmLFxuICBBNzAwOiAjMDBiOGQ0LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtdGVhbDogKFxuICA1MDogI2UwZjJmMSxcbiAgMTAwOiAjYjJkZmRiLFxuICAyMDA6ICM4MGNiYzQsXG4gIDMwMDogIzRkYjZhYyxcbiAgNDAwOiAjMjZhNjlhLFxuICA1MDA6ICMwMDk2ODgsXG4gIDYwMDogIzAwODk3YixcbiAgNzAwOiAjMDA3OTZiLFxuICA4MDA6ICMwMDY5NWMsXG4gIDkwMDogIzAwNGQ0MCxcbiAgQTEwMDogI2E3ZmZlYixcbiAgQTIwMDogIzY0ZmZkYSxcbiAgQTQwMDogIzFkZTliNixcbiAgQTcwMDogIzAwYmZhNSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWdyZWVuOiAoXG4gIDUwOiAjZThmNWU5LFxuICAxMDA6ICNjOGU2YzksXG4gIDIwMDogI2E1ZDZhNyxcbiAgMzAwOiAjODFjNzg0LFxuICA0MDA6ICM2NmJiNmEsXG4gIDUwMDogIzRjYWY1MCxcbiAgNjAwOiAjNDNhMDQ3LFxuICA3MDA6ICMzODhlM2MsXG4gIDgwMDogIzJlN2QzMixcbiAgOTAwOiAjMWI1ZTIwLFxuICBBMTAwOiAjYjlmNmNhLFxuICBBMjAwOiAjNjlmMGFlLFxuICBBNDAwOiAjMDBlNjc2LFxuICBBNzAwOiAjMDBjODUzLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1saWdodC1ncmVlbjogKFxuICA1MDogI2YxZjhlOSxcbiAgMTAwOiAjZGNlZGM4LFxuICAyMDA6ICNjNWUxYTUsXG4gIDMwMDogI2FlZDU4MSxcbiAgNDAwOiAjOWNjYzY1LFxuICA1MDA6ICM4YmMzNGEsXG4gIDYwMDogIzdjYjM0MixcbiAgNzAwOiAjNjg5ZjM4LFxuICA4MDA6ICM1NThiMmYsXG4gIDkwMDogIzMzNjkxZSxcbiAgQTEwMDogI2NjZmY5MCxcbiAgQTIwMDogI2IyZmY1OSxcbiAgQTQwMDogIzc2ZmYwMyxcbiAgQTcwMDogIzY0ZGQxNyxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1saW1lOiAoXG4gIDUwOiAjZjlmYmU3LFxuICAxMDA6ICNmMGY0YzMsXG4gIDIwMDogI2U2ZWU5YyxcbiAgMzAwOiAjZGNlNzc1LFxuICA0MDA6ICNkNGUxNTcsXG4gIDUwMDogI2NkZGMzOSxcbiAgNjAwOiAjYzBjYTMzLFxuICA3MDA6ICNhZmI0MmIsXG4gIDgwMDogIzllOWQyNCxcbiAgOTAwOiAjODI3NzE3LFxuICBBMTAwOiAjZjRmZjgxLFxuICBBMjAwOiAjZWVmZjQxLFxuICBBNDAwOiAjYzZmZjAwLFxuICBBNzAwOiAjYWVlYTAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC15ZWxsb3c6IChcbiAgNTA6ICNmZmZkZTcsXG4gIDEwMDogI2ZmZjljNCxcbiAgMjAwOiAjZmZmNTlkLFxuICAzMDA6ICNmZmYxNzYsXG4gIDQwMDogI2ZmZWU1OCxcbiAgNTAwOiAjZmZlYjNiLFxuICA2MDA6ICNmZGQ4MzUsXG4gIDcwMDogI2ZiYzAyZCxcbiAgODAwOiAjZjlhODI1LFxuICA5MDA6ICNmNTdmMTcsXG4gIEExMDA6ICNmZmZmOGQsXG4gIEEyMDA6ICNmZmZmMDAsXG4gIEE0MDA6ICNmZmVhMDAsXG4gIEE3MDA6ICNmZmQ2MDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtYW1iZXI6IChcbiAgNTA6ICNmZmY4ZTEsXG4gIDEwMDogI2ZmZWNiMyxcbiAgMjAwOiAjZmZlMDgyLFxuICAzMDA6ICNmZmQ1NGYsXG4gIDQwMDogI2ZmY2EyOCxcbiAgNTAwOiAjZmZjMTA3LFxuICA2MDA6ICNmZmIzMDAsXG4gIDcwMDogI2ZmYTAwMCxcbiAgODAwOiAjZmY4ZjAwLFxuICA5MDA6ICNmZjZmMDAsXG4gIEExMDA6ICNmZmU1N2YsXG4gIEEyMDA6ICNmZmQ3NDAsXG4gIEE0MDA6ICNmZmM0MDAsXG4gIEE3MDA6ICNmZmFiMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtb3JhbmdlOiAoXG4gIDUwOiAjZmZmM2UwLFxuICAxMDA6ICNmZmUwYjIsXG4gIDIwMDogI2ZmY2M4MCxcbiAgMzAwOiAjZmZiNzRkLFxuICA0MDA6ICNmZmE3MjYsXG4gIDUwMDogI2ZmOTgwMCxcbiAgNjAwOiAjZmI4YzAwLFxuICA3MDA6ICNmNTdjMDAsXG4gIDgwMDogI2VmNmMwMCxcbiAgOTAwOiAjZTY1MTAwLFxuICBBMTAwOiAjZmZkMTgwLFxuICBBMjAwOiAjZmZhYjQwLFxuICBBNDAwOiAjZmY5MTAwLFxuICBBNzAwOiAjZmY2ZDAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiBibGFjayxcbiAgKVxuKTtcblxuJG1hdC1kZWVwLW9yYW5nZTogKFxuICA1MDogI2ZiZTllNyxcbiAgMTAwOiAjZmZjY2JjLFxuICAyMDA6ICNmZmFiOTEsXG4gIDMwMDogI2ZmOGE2NSxcbiAgNDAwOiAjZmY3MDQzLFxuICA1MDA6ICNmZjU3MjIsXG4gIDYwMDogI2Y0NTExZSxcbiAgNzAwOiAjZTY0YTE5LFxuICA4MDA6ICNkODQzMTUsXG4gIDkwMDogI2JmMzYwYyxcbiAgQTEwMDogI2ZmOWU4MCxcbiAgQTIwMDogI2ZmNmU0MCxcbiAgQTQwMDogI2ZmM2QwMCxcbiAgQTcwMDogI2RkMmMwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtYnJvd246IChcbiAgNTA6ICNlZmViZTksXG4gIDEwMDogI2Q3Y2NjOCxcbiAgMjAwOiAjYmNhYWE0LFxuICAzMDA6ICNhMTg4N2YsXG4gIDQwMDogIzhkNmU2MyxcbiAgNTAwOiAjNzk1NTQ4LFxuICA2MDA6ICM2ZDRjNDEsXG4gIDcwMDogIzVkNDAzNyxcbiAgODAwOiAjNGUzNDJlLFxuICA5MDA6ICMzZTI3MjMsXG4gIEExMDA6ICNkN2NjYzgsXG4gIEEyMDA6ICNiY2FhYTQsXG4gIEE0MDA6ICM4ZDZlNjMsXG4gIEE3MDA6ICM1ZDQwMzcsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtZ3JleTogKFxuICA1MDogI2ZhZmFmYSxcbiAgMTAwOiAjZjVmNWY1LFxuICAyMDA6ICNlZWVlZWUsXG4gIDMwMDogI2UwZTBlMCxcbiAgNDAwOiAjYmRiZGJkLFxuICA1MDA6ICM5ZTllOWUsXG4gIDYwMDogIzc1NzU3NSxcbiAgNzAwOiAjNjE2MTYxLFxuICA4MDA6ICM0MjQyNDIsXG4gIDkwMDogIzIxMjEyMSxcbiAgQTEwMDogI2ZmZmZmZixcbiAgQTIwMDogI2VlZWVlZSxcbiAgQTQwMDogI2JkYmRiZCxcbiAgQTcwMDogIzYxNjE2MSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4vLyBBbGlhcyBmb3IgYWx0ZXJuYXRlIHNwZWxsaW5nLlxuJG1hdC1ncmF5OiAkbWF0LWdyZXk7XG5cbiRtYXQtYmx1ZS1ncmV5OiAoXG4gIDUwOiAjZWNlZmYxLFxuICAxMDA6ICNjZmQ4ZGMsXG4gIDIwMDogI2IwYmVjNSxcbiAgMzAwOiAjOTBhNGFlLFxuICA0MDA6ICM3ODkwOWMsXG4gIDUwMDogIzYwN2Q4YixcbiAgNjAwOiAjNTQ2ZTdhLFxuICA3MDA6ICM0NTVhNjQsXG4gIDgwMDogIzM3NDc0ZixcbiAgOTAwOiAjMjYzMjM4LFxuICBBMTAwOiAjY2ZkOGRjLFxuICBBMjAwOiAjYjBiZWM1LFxuICBBNDAwOiAjNzg5MDljLFxuICBBNzAwOiAjNDU1YTY0LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbi8vIEFsaWFzIGZvciBhbHRlcm5hdGUgc3BlbGxpbmcuXG4kbWF0LWJsdWUtZ3JheTogJG1hdC1ibHVlLWdyZXk7XG5cblxuLy8gQmFja2dyb3VuZCBwYWxldHRlIGZvciBsaWdodCB0aGVtZXMuXG4kbWF0LWxpZ2h0LXRoZW1lLWJhY2tncm91bmQ6IChcbiAgc3RhdHVzLWJhcjogbWFwLWdldCgkbWF0LWdyZXksIDMwMCksXG4gIGFwcC1iYXI6ICAgIG1hcC1nZXQoJG1hdC1ncmV5LCAxMDApLFxuICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRtYXQtZ3JleSwgNTApLFxuICBob3ZlcjogICAgICByZ2JhKGJsYWNrLCAwLjA0KSwgLy8gVE9ETyhrYXJhKTogY2hlY2sgc3R5bGUgd2l0aCBNYXRlcmlhbCBEZXNpZ24gVVhcbiAgY2FyZDogICAgICAgd2hpdGUsXG4gIGRpYWxvZzogICAgIHdoaXRlLFxuICBkaXNhYmxlZC1idXR0b246IHJnYmEoYmxhY2ssIDAuMTIpLFxuICByYWlzZWQtYnV0dG9uOiB3aGl0ZSxcbiAgZm9jdXNlZC1idXR0b246ICRkYXJrLWZvY3VzZWQsXG4gIHNlbGVjdGVkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDMwMCksXG4gIHNlbGVjdGVkLWRpc2FibGVkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDQwMCksXG4gIGRpc2FibGVkLWJ1dHRvbi10b2dnbGU6IG1hcC1nZXQoJG1hdC1ncmV5LCAyMDApLFxuICB1bnNlbGVjdGVkLWNoaXA6IG1hcC1nZXQoJG1hdC1ncmV5LCAzMDApLFxuICBkaXNhYmxlZC1saXN0LW9wdGlvbjogbWFwLWdldCgkbWF0LWdyZXksIDIwMCksXG4gIHRvb2x0aXA6IG1hcC1nZXQoJG1hdC1ncmV5LCA3MDApLFxuKTtcblxuLy8gQmFja2dyb3VuZCBwYWxldHRlIGZvciBkYXJrIHRoZW1lcy5cbiRtYXQtZGFyay10aGVtZS1iYWNrZ3JvdW5kOiAoXG4gIHN0YXR1cy1iYXI6IGJsYWNrLFxuICBhcHAtYmFyOiAgICBtYXAtZ2V0KCRtYXQtZ3JleSwgOTAwKSxcbiAgYmFja2dyb3VuZDogIzMwMzAzMCxcbiAgaG92ZXI6ICAgICAgcmdiYSh3aGl0ZSwgMC4wNCksIC8vIFRPRE8oa2FyYSk6IGNoZWNrIHN0eWxlIHdpdGggTWF0ZXJpYWwgRGVzaWduIFVYXG4gIGNhcmQ6ICAgICAgIG1hcC1nZXQoJG1hdC1ncmV5LCA4MDApLFxuICBkaWFsb2c6ICAgICBtYXAtZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZGlzYWJsZWQtYnV0dG9uOiByZ2JhKHdoaXRlLCAwLjEyKSxcbiAgcmFpc2VkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDgwMCksXG4gIGZvY3VzZWQtYnV0dG9uOiAkbGlnaHQtZm9jdXNlZCxcbiAgc2VsZWN0ZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgOTAwKSxcbiAgc2VsZWN0ZWQtZGlzYWJsZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZGlzYWJsZWQtYnV0dG9uLXRvZ2dsZTogYmxhY2ssXG4gIHVuc2VsZWN0ZWQtY2hpcDogbWFwLWdldCgkbWF0LWdyZXksIDcwMCksXG4gIGRpc2FibGVkLWxpc3Qtb3B0aW9uOiBibGFjayxcbiAgdG9vbHRpcDogbWFwLWdldCgkbWF0LWdyZXksIDcwMCksXG4pO1xuXG4vLyBGb3JlZ3JvdW5kIHBhbGV0dGUgZm9yIGxpZ2h0IHRoZW1lcy5cbiRtYXQtbGlnaHQtdGhlbWUtZm9yZWdyb3VuZDogKFxuICBiYXNlOiAgICAgICAgICAgICAgYmxhY2ssXG4gIGRpdmlkZXI6ICAgICAgICAgICAkZGFyay1kaXZpZGVycyxcbiAgZGl2aWRlcnM6ICAgICAgICAgICRkYXJrLWRpdmlkZXJzLFxuICBkaXNhYmxlZDogICAgICAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgZGlzYWJsZWQtYnV0dG9uOiAgIHJnYmEoYmxhY2ssIDAuMjYpLFxuICBkaXNhYmxlZC10ZXh0OiAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgZWxldmF0aW9uOiAgICAgICAgIGJsYWNrLFxuICBoaW50LXRleHQ6ICAgICAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgc2Vjb25kYXJ5LXRleHQ6ICAgICRkYXJrLXNlY29uZGFyeS10ZXh0LFxuICBpY29uOiAgICAgICAgICAgICAgcmdiYShibGFjaywgMC41NCksXG4gIGljb25zOiAgICAgICAgICAgICByZ2JhKGJsYWNrLCAwLjU0KSxcbiAgdGV4dDogICAgICAgICAgICAgIHJnYmEoYmxhY2ssIDAuODcpLFxuICBzbGlkZXItbWluOiAgICAgICAgcmdiYShibGFjaywgMC44NyksXG4gIHNsaWRlci1vZmY6ICAgICAgICByZ2JhKGJsYWNrLCAwLjI2KSxcbiAgc2xpZGVyLW9mZi1hY3RpdmU6IHJnYmEoYmxhY2ssIDAuMzgpLFxuKTtcblxuLy8gRm9yZWdyb3VuZCBwYWxldHRlIGZvciBkYXJrIHRoZW1lcy5cbiRtYXQtZGFyay10aGVtZS1mb3JlZ3JvdW5kOiAoXG4gIGJhc2U6ICAgICAgICAgICAgICB3aGl0ZSxcbiAgZGl2aWRlcjogICAgICAgICAgICRsaWdodC1kaXZpZGVycyxcbiAgZGl2aWRlcnM6ICAgICAgICAgICRsaWdodC1kaXZpZGVycyxcbiAgZGlzYWJsZWQ6ICAgICAgICAgICRsaWdodC1kaXNhYmxlZC10ZXh0LFxuICBkaXNhYmxlZC1idXR0b246ICAgcmdiYSh3aGl0ZSwgMC4zKSxcbiAgZGlzYWJsZWQtdGV4dDogICAgICRsaWdodC1kaXNhYmxlZC10ZXh0LFxuICBlbGV2YXRpb246ICAgICAgICAgYmxhY2ssXG4gIGhpbnQtdGV4dDogICAgICAgICAkbGlnaHQtZGlzYWJsZWQtdGV4dCxcbiAgc2Vjb25kYXJ5LXRleHQ6ICAgICRsaWdodC1zZWNvbmRhcnktdGV4dCxcbiAgaWNvbjogICAgICAgICAgICAgIHdoaXRlLFxuICBpY29uczogICAgICAgICAgICAgd2hpdGUsXG4gIHRleHQ6ICAgICAgICAgICAgICB3aGl0ZSxcbiAgc2xpZGVyLW1pbjogICAgICAgIHdoaXRlLFxuICBzbGlkZXItb2ZmOiAgICAgICAgcmdiYSh3aGl0ZSwgMC4zKSxcbiAgc2xpZGVyLW9mZi1hY3RpdmU6IHJnYmEod2hpdGUsIDAuMyksXG4pO1xuXG4vLyBOb3RlIHRoYXQgdGhpcyBmaWxlIGlzIGNhbGxlZCBgcHJpdmF0ZWAsIGJlY2F1c2UgdGhlIEFQSXMgaW4gaXQgYXJlbid0IHB1YmxpYyB5ZXQuXG4vLyBPbmNlIHRoZXkncmUgbWFkZSBhdmFpbGFibGUsIHRoZSBjb2RlIHNob3VsZCBiZSBtb3ZlZCBvdXQgaW50byBhbiBgaW5kZXguc2Nzc2AuXG5cbi8vIFRha2VuIGZyb20gbWF0LWRlbnNpdHkgd2l0aCBzbWFsbCBtb2RpZmljYXRpb25zIHRvIG5vdCByZWx5IG9uIHRoZSBuZXcgU2FzcyBtb2R1bGVcbi8vIHN5c3RlbSwgYW5kIHRvIHN1cHBvcnQgYXJiaXRyYXJ5IHByb3BlcnRpZXMgaW4gYSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24uXG4vLyBodHRwczovL2dpdGh1Yi5jb20vbWF0ZXJpYWwtY29tcG9uZW50cy9tYXRlcmlhbC1jb21wb25lbnRzLXdlYi9ibG9iL21hc3Rlci9wYWNrYWdlcy9tZGMtZGVuc2l0eVxuXG4kX21hdC1kZW5zaXR5LWludGVydmFsOiA0cHggIWRlZmF1bHQ7XG4kX21hdC1kZW5zaXR5LW1pbmltdW0tc2NhbGU6IG1pbmltdW0gIWRlZmF1bHQ7XG4kX21hdC1kZW5zaXR5LW1heGltdW0tc2NhbGU6IG1heGltdW0gIWRlZmF1bHQ7XG4kX21hdC1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXM6IChkZWZhdWx0LCBtaW5pbXVtLCBtYXhpbXVtKSAhZGVmYXVsdDtcbiRfbWF0LWRlbnNpdHktZGVmYXVsdC1zY2FsZTogMCAhZGVmYXVsdDtcblxuLy8gV2hldGhlciBkZW5zaXR5IHNob3VsZCBiZSBnZW5lcmF0ZWQgYXQgcm9vdC4gVGhpcyB3aWxsIGJlIHRlbXBvcmFyaWx5IHNldCB0byBgdHJ1ZWBcbi8vIHdoZW5ldmVyIGRlbnNpdHkgc3R5bGVzIGZvciBsZWdhY3kgdGhlbWVzIGFyZSBnZW5lcmF0ZWQuXG4kbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1hdC1yb290OiBmYWxzZTtcbi8vIFdoZXRoZXIgZGVuc2l0eSBzdHlsZXMgc2hvdWxkIGJlIGdlbmVyYXRlZC4gVGhpcyB3aWxsIGJlIHRlbXBvcmFyaWx5IHNldCB0byBgZmFsc2VgIGlmXG4vLyBkdXBsaWNhdGUgZGVuc2l0eSBzdHlsZXMgZm9yIGEgbGVnYWN5IHRoZW1lIHdvdWxkIGJlIGdlbmVyYXRlZC4gRm9yIGxlZ2FjeSB0aGVtZXMsXG4vLyB3ZSBhbHdheXMgZ2VuZXJhdGUgdGhlIGRlZmF1bHQgZGVuc2l0eSAqKm9ubHkgb25jZSoqIGF0IHJvb3QuXG4kbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXM6IHRydWU7XG5cbi8vIE1peGluIHRoYXQgY2FuIGJlIHVzZWQgdG8gd3JhcCBkZW5zaXR5IHN0eWxlcyBvZiBnaXZlbiBjb21wb25lbnRzLiBUaGUgbWl4aW4gd2lsbFxuLy8gbW92ZSB0aGUgZGVuc2l0eSBzdHlsZXMgdG8gcm9vdCBpZiB0aGUgYCRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3RgIGdsb2JhbCB2YXJpYWJsZVxuLy8gaXMgc2V0LiBJZiBgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzYCBpcyBzZXQgdG8gYGZhbHNlYCwgZ2VuZXJhdGlvbiBvZiBkZW5zaXR5XG4vLyBzdHlsZXMgd3JhcHBlZCBpbiB0aGlzIG1peGluIGlzIHNraXBwZWQuIFRoaXMgbWl4aW4gZXhpc3RzIHRvIGltcHJvdmUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbi8vIG9mIHRoZSBuZXcgdGhlbWluZyBBUEkgd2hlcmUgZGVuc2l0eSBzdHlsZXMgYXJlIGluY2x1ZGVkIGFzIHBhcnQgb2YgdGhlbWVzLiBQcmV2aW91c2x5LFxuLy8gZGVuc2l0eSBzdHlsZXMgb2YgY29tcG9uZW50cyB3ZXJlIHBhcnQgb2YgdGhlaXIgYmFzZSBzdHlsZXMuIFdpdGggdGhlIG5ldyBBUEksIHRoZXkgYXJlXG4vLyBwYXJ0IG9mIHRoZSB0aGVtaW5nIHN5c3RlbS4gVGhlIGA8Li4+LXRoZW1lYCBtaXhpbnMgZ2VuZXJhdGUgZGVuc2l0eSBieSBkZWZhdWx0IHVubGVzc1xuLy8gdGhlIGRlbnNpdHkgY29uZmlndXJhdGlvbiBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCBhcyBwZXIgbmV3IEFQSS4gVGhpcyBtZWFucywgdGhhdCBwcm9qZWN0c1xuLy8gdXNpbmcgYDwuLj4tdGhlbWVgIG1peGlucyBmb3Igc2VwYXJhdGUgdGhlbWVzIChsaWtlIGAuZGFyay10aGVtZWApIHdpbGwgY2F1c2UgZHVwbGljYXRlXG4vLyBkZW5zaXR5IHN0eWxlcy4gVGhpcyBpcyBicmVha2luZyBhcyBpdCBpbmNyZWFzZXMgc3BlY2lmaWNpdHkgb2YgZGVuc2l0eSBzdHlsZXMuIFRoaXMgbWl4aW5cbi8vIHByb3ZpZGVzIGFuIEFQSSB0byBjb250cm9sIGdlbmVyYXRpb24gb2YgZGVuc2l0eSBzdHlsZXMgc28gdGhhdCB3ZSBjYW4gZW5zdXJlIHRoZXkgYXJlIG9ubHlcbi8vIGNyZWF0ZWQgKm9uY2UqIGFuZCBhdCByb290LlxuQG1peGluIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gIEBpZiAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXMgYW5kICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3Qge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoJGRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgJHByb3BlcnR5LW5hbWUpIHtcbiAgQGlmICh0eXBlLW9mKCRkZW5zaXR5LXNjYWxlKSA9PSAnc3RyaW5nJyBhbmRcbiAgICAgIGluZGV4KCRsaXN0OiAkX21hdC1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXMsICR2YWx1ZTogJGRlbnNpdHktc2NhbGUpID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ21hdC1kZW5zaXR5OiBTdXBwb3J0ZWQgZGVuc2l0eSBzY2FsZXMgI3skX21hdC1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXN9LCAnICArXG4gICAgICAnYnV0IHJlY2VpdmVkICN7JGRlbnNpdHktc2NhbGV9Lic7XG4gIH1cblxuICAkdmFsdWU6IG51bGw7XG4gICRwcm9wZXJ0eS1zY2FsZS1tYXA6IG1hcC1nZXQoJGRlbnNpdHktY29uZmlnLCAkcHJvcGVydHktbmFtZSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRkZW5zaXR5LXNjYWxlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRkZW5zaXR5LXNjYWxlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsIGRlZmF1bHQpICsgJGRlbnNpdHktc2NhbGUgKiAkX21hdC1kZW5zaXR5LWludGVydmFsO1xuICB9XG5cbiAgJG1pbi12YWx1ZTogbWFwLWdldCgkcHJvcGVydHktc2NhbGUtbWFwLCAkX21hdC1kZW5zaXR5LW1pbmltdW0tc2NhbGUpO1xuICAkbWF4LXZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRfbWF0LWRlbnNpdHktbWF4aW11bS1zY2FsZSk7XG5cbiAgQGlmICgkdmFsdWUgPCAkbWluLXZhbHVlIG9yICR2YWx1ZSA+ICRtYXgtdmFsdWUpIHtcbiAgICBAZXJyb3IgJ21hdC1kZW5zaXR5OiAjeyRwcm9wZXJ0eS1uYW1lfSBtdXN0IGJlIGJldHdlZW4gI3skbWluLXZhbHVlfSBhbmQgJyArXG4gICAgICAnI3skbWF4LXZhbHVlfSAoaW5jbHVzaXZlKSwgYnV0IHJlY2VpdmVkICN7JHZhbHVlfS4nO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8gV2hldGhlciBkdXBsaWNhdGlvbiB3YXJuaW5ncyBzaG91bGQgYmUgZGlzYWJsZWQuIFdhcm5pbmdzIGVuYWJsZWQgYnkgZGVmYXVsdC5cbiRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2hldGhlciBkZW5zaXR5IHNob3VsZCBiZSBnZW5lcmF0ZWQgYnkgZGVmYXVsdC5cbiRfbWF0LXRoZW1lLWdlbmVyYXRlLWRlZmF1bHQtZGVuc2l0eTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gV2FybmluZyB0aGF0IHdpbGwgYmUgcHJpbnRlZCBpZiBkdXBsaWNhdGVkIHN0eWxlcyBhcmUgZ2VuZXJhdGVkIGJ5IGEgdGhlbWUuXG4kX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZzogJ1JlYWQgbW9yZSBhYm91dCBob3cgc3R5bGUgZHVwbGljYXRpb24gY2FuIGJlIGF2b2lkZWQgaW4gYSAnICtcbiAgJ2RlZGljYXRlZCBndWlkZS4gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iL21hc3Rlci9ndWlkZXMvZHVwbGljYXRlLXRoZW1pbmctc3R5bGVzLm1kJztcblxuLy8gVGhlc2UgdmFyaWFibGUgYXJlIG5vdCBpbnRlbmRlZCB0byBiZSBvdmVycmlkZGVuIGV4dGVybmFsbHkuIFRoZXkgdXNlIGAhZGVmYXVsdGAgdG9cbi8vIGF2b2lkIGJlaW5nIHJlc2V0IGV2ZXJ5IHRpbWUgdGhpcyBmaWxlIGlzIGltcG9ydGVkLlxuJF9tYXQtdGhlbWUtZW1pdHRlZC1jb2xvcjogKCkgIWRlZmF1bHQ7XG4kX21hdC10aGVtZS1lbWl0dGVkLXR5cG9ncmFwaHk6ICgpICFkZWZhdWx0O1xuJF9tYXQtdGhlbWUtZW1pdHRlZC1kZW5zaXR5OiAoKSAhZGVmYXVsdDtcblxuLy8gRm9yIGEgZ2l2ZW4gaHVlIGluIGEgcGFsZXR0ZSwgcmV0dXJuIHRoZSBjb250cmFzdCBjb2xvciBmcm9tIHRoZSBtYXAgb2YgY29udHJhc3QgcGFsZXR0ZXMuXG4vLyBAcGFyYW0gJHBhbGV0dGVcbi8vIEBwYXJhbSAkaHVlXG5AZnVuY3Rpb24gbWF0LWNvbnRyYXN0KCRwYWxldHRlLCAkaHVlKSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRwYWxldHRlLCBjb250cmFzdCksICRodWUpO1xufVxuXG5cbi8vIENyZWF0ZXMgYSBtYXAgb2YgaHVlcyB0byBjb2xvcnMgZm9yIGEgdGhlbWUuIFRoaXMgaXMgdXNlZCB0byBkZWZpbmUgYSB0aGVtZSBwYWxldHRlIGluIHRlcm1zXG4vLyBvZiB0aGUgTWF0ZXJpYWwgRGVzaWduIGh1ZXMuXG4vLyBAcGFyYW0gJGJhc2UtcGFsZXR0ZVxuLy8gQHBhcmFtICRkZWZhdWx0XG4vLyBAcGFyYW0gJGxpZ2h0ZXJcbi8vIEBwYXJhbSAkZGFya2VyXG4vLyBAcGFyYW0gJHRleHRcbkBmdW5jdGlvbiBtYXQtcGFsZXR0ZSgkYmFzZS1wYWxldHRlLCAkZGVmYXVsdDogNTAwLCAkbGlnaHRlcjogMTAwLCAkZGFya2VyOiA3MDAsICR0ZXh0OiAkZGVmYXVsdCkge1xuICAkcmVzdWx0OiBtYXAtbWVyZ2UoJGJhc2UtcGFsZXR0ZSwgKFxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJGRlZmF1bHQpLFxuICAgIGxpZ2h0ZXI6IG1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJGxpZ2h0ZXIpLFxuICAgIGRhcmtlcjogbWFwLWdldCgkYmFzZS1wYWxldHRlLCAkZGFya2VyKSxcbiAgICB0ZXh0OiBtYXAtZ2V0KCRiYXNlLXBhbGV0dGUsICR0ZXh0KSxcblxuICAgIGRlZmF1bHQtY29udHJhc3Q6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkZGVmYXVsdCksXG4gICAgbGlnaHRlci1jb250cmFzdDogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRsaWdodGVyKSxcbiAgICBkYXJrZXItY29udHJhc3Q6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkZGFya2VyKVxuICApKTtcblxuICAvLyBGb3IgZWFjaCBodWUgaW4gdGhlIHBhbGV0dGUsIGFkZCBhIFwiLWNvbnRyYXN0XCIgY29sb3IgdG8gdGhlIG1hcC5cbiAgQGVhY2ggJGh1ZSwgJGNvbG9yIGluICRiYXNlLXBhbGV0dGUge1xuICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoXG4gICAgICAnI3skaHVlfS1jb250cmFzdCc6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkaHVlKVxuICAgICkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG5cbi8vIEdldHMgYSBjb2xvciBmcm9tIGEgdGhlbWUgcGFsZXR0ZSAodGhlIG91dHB1dCBvZiBtYXQtcGFsZXR0ZSkuXG4vLyBUaGUgaHVlIGNhbiBiZSBvbmUgb2YgdGhlIHN0YW5kYXJkIHZhbHVlcyAoNTAwLCBBNDAwLCBldGMuKSwgb25lIG9mIHRoZSB0aHJlZSBwcmVjb25maWd1cmVkXG4vLyBodWVzIChkZWZhdWx0LCBsaWdodGVyLCBkYXJrZXIpLCBvciBhbnkgb2YgdGhlIGFmb3JlbWVudGlvbmVkIHByZWZpeGVkIHdpdGggXCItY29udHJhc3RcIi5cbi8vXG4vLyBAcGFyYW0gJHBhbGV0dGUgVGhlIHRoZW1lIHBhbGV0dGUgKG91dHB1dCBvZiBtYXQtcGFsZXR0ZSkuXG4vLyBAcGFyYW0gJGh1ZSBUaGUgaHVlIGZyb20gdGhlIHBhbGV0dGUgdG8gdXNlLiBJZiB0aGlzIGlzIGEgdmFsdWUgYmV0d2VlbiAwIGFuZCAxLCBpdCB3aWxsXG4vLyAgICAgYmUgdHJlYXRlZCBhcyBvcGFjaXR5LlxuLy8gQHBhcmFtICRvcGFjaXR5IFRoZSBhbHBoYSBjaGFubmVsIHZhbHVlIGZvciB0aGUgY29sb3IuXG5AZnVuY3Rpb24gbWF0LWNvbG9yKCRwYWxldHRlLCAkaHVlOiBkZWZhdWx0LCAkb3BhY2l0eTogbnVsbCkge1xuICAvLyBJZiBodWVLZXkgaXMgYSBudW1iZXIgYmV0d2VlbiB6ZXJvIGFuZCBvbmUsIHRoZW4gaXQgYWN0dWFsbHkgY29udGFpbnMgYW5cbiAgLy8gb3BhY2l0eSB2YWx1ZSwgc28gcmVjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCB0aGUgZGVmYXVsdCBodWUgYW5kIHRoYXQgZ2l2ZW4gb3BhY2l0eS5cbiAgQGlmIHR5cGUtb2YoJGh1ZSkgPT0gbnVtYmVyIGFuZCAkaHVlID49IDAgYW5kICRodWUgPD0gMSB7XG4gICAgQHJldHVybiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQsICRodWUpO1xuICB9XG5cbiAgJGNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCAkaHVlKTtcblxuICBAaWYgKHR5cGUtb2YoJGNvbG9yKSAhPSBjb2xvcikge1xuICAgIC8vIElmIHRoZSAkY29sb3IgcmVzb2x2ZWQgdG8gc29tZXRoaW5nIGRpZmZlcmVudCBmcm9tIGEgY29sb3IgKGUuZy4gYSBDU1MgdmFyaWFibGUpLFxuICAgIC8vIHdlIGNhbid0IGFwcGx5IHRoZSBvcGFjaXR5IGFueXdheSBzbyB3ZSByZXR1cm4gdGhlIHZhbHVlIGFzIGlzLCBvdGhlcndpc2UgU2FzcyBjYW5cbiAgICAvLyB0aHJvdyBhbiBlcnJvciBvciBvdXRwdXQgc29tZXRoaW5nIGludmFsaWQuXG4gICAgQHJldHVybiAkY29sb3I7XG4gIH1cblxuICBAcmV0dXJuIHJnYmEoJGNvbG9yLCBpZigkb3BhY2l0eSA9PSBudWxsLCBvcGFjaXR5KCRjb2xvciksICRvcGFjaXR5KSk7XG59XG5cbi8vIFZhbGlkYXRlcyB0aGUgc3BlY2lmaWVkIHRoZW1lIGJ5IGVuc3VyaW5nIHRoYXQgdGhlIG9wdGlvbmFsIGNvbG9yIGNvbmZpZyBkZWZpbmVzXG4vLyBhIHByaW1hcnksIGFjY2VudCBhbmQgd2FybiBwYWxldHRlLiBSZXR1cm5zIHRoZSB0aGVtZSBpZiBubyBmYWlsdXJlcyB3ZXJlIGZvdW5kLlxuQGZ1bmN0aW9uIF9tYXQtdmFsaWRhdGUtdGhlbWUoJHRoZW1lKSB7XG4gIEBpZiBtYXAtZ2V0KCR0aGVtZSwgY29sb3IpIHtcbiAgICAkY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBjb2xvcik7XG4gICAgQGlmIG5vdCBtYXAtZ2V0KCRjb2xvciwgcHJpbWFyeSkge1xuICAgICAgQGVycm9yICdUaGVtZSBkb2VzIG5vdCBkZWZpbmUgYSB2YWxpZCBcInByaW1hcnlcIiBwYWxldHRlLic7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtZ2V0KCRjb2xvciwgYWNjZW50KSB7XG4gICAgICBAZXJyb3IgJ1RoZW1lIGRvZXMgbm90IGRlZmluZSBhIHZhbGlkIFwiYWNjZW50XCIgcGFsZXR0ZS4nO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QgbWFwLWdldCgkY29sb3IsIHdhcm4pIHtcbiAgICAgIEBlcnJvciAnVGhlbWUgZG9lcyBub3QgZGVmaW5lIGEgdmFsaWQgXCJ3YXJuXCIgcGFsZXR0ZS4nO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICR0aGVtZTtcbn1cblxuLy8gQ3JlYXRlcyBhIGxpZ2h0LXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIHNwZWNpZmllZFxuLy8gcHJpbWFyeSwgYWNjZW50IGFuZCB3YXJuIHBhbGV0dGVzLlxuQGZ1bmN0aW9uIF9tYXQtY3JlYXRlLWxpZ2h0LWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm46IG51bGwpIHtcbiAgQHJldHVybiAoXG4gICAgcHJpbWFyeTogJHByaW1hcnksXG4gICAgYWNjZW50OiAkYWNjZW50LFxuICAgIHdhcm46IGlmKCR3YXJuICE9IG51bGwsICR3YXJuLCBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpLFxuICAgIGlzLWRhcms6IGZhbHNlLFxuICAgIGZvcmVncm91bmQ6ICRtYXQtbGlnaHQtdGhlbWUtZm9yZWdyb3VuZCxcbiAgICBiYWNrZ3JvdW5kOiAkbWF0LWxpZ2h0LXRoZW1lLWJhY2tncm91bmQsXG4gICk7XG59XG5cbi8vIENyZWF0ZXMgYSBkYXJrLXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIHNwZWNpZmllZFxuLy8gcHJpbWFyeSwgYWNjZW50IGFuZCB3YXJuIHBhbGV0dGVzLlxuQGZ1bmN0aW9uIF9tYXQtY3JlYXRlLWRhcmstY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybjogbnVsbCkge1xuICBAcmV0dXJuIChcbiAgICBwcmltYXJ5OiAkcHJpbWFyeSxcbiAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgd2FybjogaWYoJHdhcm4gIT0gbnVsbCwgJHdhcm4sIG1hdC1wYWxldHRlKCRtYXQtcmVkKSksXG4gICAgaXMtZGFyazogdHJ1ZSxcbiAgICBmb3JlZ3JvdW5kOiAkbWF0LWRhcmstdGhlbWUtZm9yZWdyb3VuZCxcbiAgICBiYWNrZ3JvdW5kOiAkbWF0LWRhcmstdGhlbWUtYmFja2dyb3VuZCxcbiAgKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBvYmplY3QgZm9yIGEgbGlnaHQgdGhlbWUgdG8gYmUgZ2l2ZW4gdG8gaW5kaXZpZHVhbCBjb21wb25lbnQgdGhlbWUgbWl4aW5zLlxuLy8gVE9ETzogUmVtb3ZlIGxlZ2FjeSBBUEkgYW5kIHJlbmFtZSBgJHByaW1hcnlgIHRvIGAkY29uZmlnYC4gQ3VycmVudGx5IGl0IGNhbm5vdCBiZSByZW5hbWVkXG4vLyBhcyBpdCB3b3VsZCBicmVhayBleGlzdGluZyBhcHBzIHRoYXQgc2V0IHRoZSBwYXJhbWV0ZXIgYnkgbmFtZS5cbkBmdW5jdGlvbiBtYXQtbGlnaHQtdGhlbWUoJHByaW1hcnksICRhY2NlbnQ6IG51bGwsICR3YXJuOiBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgdGhlIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy4gQ29uc3VtZXJzXG4gIC8vIGNhbiBjb25zdHJ1Y3Qgc3VjaCBhbiBvYmplY3QgYnkgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCBvciBieSBidWlsZGluZyB0aGUgb2JqZWN0IG1hbnVhbGx5LlxuICAvLyBUaGVyZSBhcmUgdHdvIHBvc3NpYmxlIHdheXMgdG8gaW52b2tlIHRoaXMgZnVuY3Rpb24gaW4gb3JkZXIgdG8gY3JlYXRlIHN1Y2ggYW4gb2JqZWN0OlxuICAvL1xuICAvLyAgICAoMSkgUGFzc2luZyBpbiBhIG1hcCB0aGF0IGhvbGRzIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zIGZvciBpbmRpdmlkdWFsIHBhcnRzIG9mIHRoZVxuICAvLyAgICAgICAgdGhlbWluZyBzeXN0ZW0uIEZvciBgY29sb3JgIGNvbmZpZ3VyYXRpb25zLCB0aGUgZnVuY3Rpb24gb25seSBleHBlY3RzIHRoZSBwYWxldHRlc1xuICAvLyAgICAgICAgZm9yIGBwcmltYXJ5YCBhbmQgYGFjY2VudGAgKGFuZCBvcHRpb25hbGx5IGB3YXJuYCkuIFRoZSBmdW5jdGlvbiB3aWxsIGV4cGFuZCB0aGVcbiAgLy8gICAgICAgIHNob3J0aGFuZCBpbnRvIGFuIGFjdHVhbCBjb25maWd1cmF0aW9uIHRoYXQgY2FuIGJlIGNvbnN1bWVkIGluIGAtY29sb3JgIG1peGlucy5cbiAgLy8gICAgKDIpIExlZ2FjeSBwYXR0ZXJuOiBQYXNzaW5nIGluIHRoZSBwYWxldHRlcyBhcyBwYXJhbWV0ZXJzLiBUaGlzIGlzIG5vdCBhcyBmbGV4aWJsZVxuICAvLyAgICAgICAgYXMgcGFzc2luZyBpbiBhIGNvbmZpZ3VyYXRpb24gbWFwIGJlY2F1c2Ugb25seSB0aGUgYGNvbG9yYCBzeXN0ZW0gY2FuIGJlIGNvbmZpZ3VyZWQuXG4gIC8vXG4gIC8vIElmIHRoZSBsZWdhY3kgcGF0dGVybiBpcyB1c2VkLCB3ZSBnZW5lcmF0ZSBhIGNvbnRhaW5lciBvYmplY3Qgb25seSB3aXRoIGEgbGlnaHQtdGhlbWVkXG4gIC8vIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBgY29sb3JgIHRoZW1pbmcgcGFydC5cbiAgQGlmICRhY2NlbnQgIT0gbnVsbCB7XG4gICAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoX21hdC12YWxpZGF0ZS10aGVtZSgoXG4gICAgICBfaXMtbGVnYWN5LXRoZW1lOiB0cnVlLFxuICAgICAgY29sb3I6IF9tYXQtY3JlYXRlLWxpZ2h0LWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pLFxuICAgICkpKTtcbiAgfVxuICAvLyBJZiB0aGUgbWFwIHBhdHRlcm4gaXMgdXNlZCAoMSksIHdlIGp1c3QgcGFzcy10aHJvdWdoIHRoZSBjb25maWd1cmF0aW9ucyBmb3IgaW5kaXZpZHVhbFxuICAvLyBwYXJ0cyBvZiB0aGUgdGhlbWluZyBzeXN0ZW0sIGJ1dCB1cGRhdGUgdGhlIGBjb2xvcmAgY29uZmlndXJhdGlvbiBpZiBzZXQuIEFzIGV4cGxhaW5lZFxuICAvLyBhYm92ZSwgdGhlIGNvbG9yIHNob3J0aGFuZCB3aWxsIGJlIGV4cGFuZGVkIHRvIGFuIGFjdHVhbCBsaWdodC10aGVtZWQgY29sb3IgY29uZmlndXJhdGlvbi5cbiAgJHJlc3VsdDogJHByaW1hcnk7XG4gIEBpZiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcikge1xuICAgICRjb2xvci1zZXR0aW5nczogbWFwLWdldCgkcHJpbWFyeSwgY29sb3IpO1xuICAgICRwcmltYXJ5OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgcHJpbWFyeSk7XG4gICAgJGFjY2VudDogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIGFjY2VudCk7XG4gICAgJHdhcm46IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCB3YXJuKTtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKGNvbG9yOiBfbWF0LWNyZWF0ZS1saWdodC1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuKSkpO1xuICB9XG4gIEByZXR1cm4gbWF0LXByaXZhdGUtY3JlYXRlLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LXRoZW1lKF9tYXQtdmFsaWRhdGUtdGhlbWUoJHJlc3VsdCkpO1xufVxuXG4vLyBDcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgYSBkYXJrIHRoZW1lIHRvIGJlIGdpdmVuIHRvIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy5cbi8vIFRPRE86IFJlbW92ZSBsZWdhY3kgQVBJIGFuZCByZW5hbWUgYCRwcmltYXJ5YCB0byBgJGNvbmZpZ2AuIEN1cnJlbnRseSBpdCBjYW5ub3QgYmUgcmVuYW1lZFxuLy8gYXMgaXQgd291bGQgYnJlYWsgZXhpc3RpbmcgYXBwcyB0aGF0IHNldCB0aGUgcGFyYW1ldGVyIGJ5IG5hbWUuXG5AZnVuY3Rpb24gbWF0LWRhcmstdGhlbWUoJHByaW1hcnksICRhY2NlbnQ6IG51bGwsICR3YXJuOiBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgdGhlIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy4gQ29uc3VtZXJzXG4gIC8vIGNhbiBjb25zdHJ1Y3Qgc3VjaCBhbiBvYmplY3QgYnkgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCBvciBieSBidWlsZGluZyB0aGUgb2JqZWN0IG1hbnVhbGx5LlxuICAvLyBUaGVyZSBhcmUgdHdvIHBvc3NpYmxlIHdheXMgdG8gaW52b2tlIHRoaXMgZnVuY3Rpb24gaW4gb3JkZXIgdG8gY3JlYXRlIHN1Y2ggYW4gb2JqZWN0OlxuICAvL1xuICAvLyAgICAoMSkgUGFzc2luZyBpbiBhIG1hcCB0aGF0IGhvbGRzIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zIGZvciBpbmRpdmlkdWFsIHBhcnRzIG9mIHRoZVxuICAvLyAgICAgICAgdGhlbWluZyBzeXN0ZW0uIEZvciBgY29sb3JgIGNvbmZpZ3VyYXRpb25zLCB0aGUgZnVuY3Rpb24gb25seSBleHBlY3RzIHRoZSBwYWxldHRlc1xuICAvLyAgICAgICAgZm9yIGBwcmltYXJ5YCBhbmQgYGFjY2VudGAgKGFuZCBvcHRpb25hbGx5IGB3YXJuYCkuIFRoZSBmdW5jdGlvbiB3aWxsIGV4cGFuZCB0aGVcbiAgLy8gICAgICAgIHNob3J0aGFuZCBpbnRvIGFuIGFjdHVhbCBjb25maWd1cmF0aW9uIHRoYXQgY2FuIGJlIGNvbnN1bWVkIGluIGAtY29sb3JgIG1peGlucy5cbiAgLy8gICAgKDIpIExlZ2FjeSBwYXR0ZXJuOiBQYXNzaW5nIGluIHRoZSBwYWxldHRlcyBhcyBwYXJhbWV0ZXJzLiBUaGlzIGlzIG5vdCBhcyBmbGV4aWJsZVxuICAvLyAgICAgICAgYXMgcGFzc2luZyBpbiBhIGNvbmZpZ3VyYXRpb24gbWFwIGJlY2F1c2Ugb25seSB0aGUgYGNvbG9yYCBzeXN0ZW0gY2FuIGJlIGNvbmZpZ3VyZWQuXG4gIC8vXG4gIC8vIElmIHRoZSBsZWdhY3kgcGF0dGVybiBpcyB1c2VkLCB3ZSBnZW5lcmF0ZSBhIGNvbnRhaW5lciBvYmplY3Qgb25seSB3aXRoIGEgZGFyay10aGVtZWRcbiAgLy8gY29uZmlndXJhdGlvbiBmb3IgdGhlIGBjb2xvcmAgdGhlbWluZyBwYXJ0LlxuICBAaWYgJGFjY2VudCAhPSBudWxsIHtcbiAgICBAcmV0dXJuIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZShfbWF0LXZhbGlkYXRlLXRoZW1lKChcbiAgICAgIF9pcy1sZWdhY3ktdGhlbWU6IHRydWUsXG4gICAgICBjb2xvcjogX21hdC1jcmVhdGUtZGFyay1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuKSxcbiAgICApKSk7XG4gIH1cbiAgLy8gSWYgdGhlIG1hcCBwYXR0ZXJuIGlzIHVzZWQgKDEpLCB3ZSBqdXN0IHBhc3MtdGhyb3VnaCB0aGUgY29uZmlndXJhdGlvbnMgZm9yIGluZGl2aWR1YWxcbiAgLy8gcGFydHMgb2YgdGhlIHRoZW1pbmcgc3lzdGVtLCBidXQgdXBkYXRlIHRoZSBgY29sb3JgIGNvbmZpZ3VyYXRpb24gaWYgc2V0LiBBcyBleHBsYWluZWRcbiAgLy8gYWJvdmUsIHRoZSBjb2xvciBzaG9ydGhhbmQgd2lsbCBiZSBleHBhbmRlZCB0byBhbiBhY3R1YWwgZGFyay10aGVtZWQgY29sb3IgY29uZmlndXJhdGlvbi5cbiAgJHJlc3VsdDogJHByaW1hcnk7XG4gIEBpZiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcikge1xuICAgICRjb2xvci1zZXR0aW5nczogbWFwLWdldCgkcHJpbWFyeSwgY29sb3IpO1xuICAgICRwcmltYXJ5OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgcHJpbWFyeSk7XG4gICAgJGFjY2VudDogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIGFjY2VudCk7XG4gICAgJHdhcm46IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCB3YXJuKTtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKGNvbG9yOiBfbWF0LWNyZWF0ZS1kYXJrLWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pKSk7XG4gIH1cbiAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoX21hdC12YWxpZGF0ZS10aGVtZSgkcmVzdWx0KSk7XG59XG5cbi8vLyBHZXRzIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIGdpdmVuIHRoZW1lIG9yIGNvbmZpZ3VyYXRpb24uXG5AZnVuY3Rpb24gbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lLCAkZGVmYXVsdDogbnVsbCkge1xuICAvLyBJZiBhIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gcGFzc2VkLCByZXR1cm4gdGhlIGNvbmZpZyBkaXJlY3RseS5cbiAgQGlmIG5vdCBtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJHRoZW1lKSB7XG4gICAgQHJldHVybiAkdGhlbWU7XG4gIH1cbiAgLy8gSWYgdGhlIHRoZW1lIGhhcyBiZWVuIGNvbnN0cnVjdGVkIHRocm91Z2ggdGhlIGxlZ2FjeSB0aGVtaW5nIEFQSSwgd2UgdXNlIHRoZSB0aGVtZSBvYmplY3RcbiAgLy8gYXMgY29sb3IgY29uZmlndXJhdGlvbiBpbnN0ZWFkIG9mIHRoZSBkZWRpY2F0ZWQgYGNvbG9yYCBwcm9wZXJ0eS4gV2UgZG8gdGhpcyBiZWNhdXNlIGZvclxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgd2UgY29waWVkIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gYCR0aGVtZS5jb2xvcmAgdG8gYCR0aGVtZWAuXG4gIC8vIEhlbmNlIGRldmVsb3BlcnMgY291bGQgY3VzdG9taXplIHRoZSBjb2xvcnMgYXQgdG9wLWxldmVsIGFuZCB3YW50IHRvIHJlc3BlY3QgdGhlc2UgY2hhbmdlc1xuICAvLyBUT0RPOiBSZW1vdmUgd2hlbiBsZWdhY3kgdGhlbWluZyBBUEkgaXMgcmVtb3ZlZC5cbiAgQGlmIG1hdC1wcml2YXRlLWlzLWxlZ2FjeS1jb25zdHJ1Y3RlZC10aGVtZSgkdGhlbWUpIHtcbiAgICBAcmV0dXJuICR0aGVtZTtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJHRoZW1lLCBjb2xvcikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkdGhlbWUsIGNvbG9yKTtcbiAgfVxuICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG4vLy8gR2V0cyB0aGUgZGVuc2l0eSBjb25maWd1cmF0aW9uIGZyb20gdGhlIGdpdmVuIHRoZW1lIG9yIGNvbmZpZ3VyYXRpb24uXG5AZnVuY3Rpb24gbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUtb3ItY29uZmlnLCAkZGVmYXVsdDogMCkge1xuICAvLyBJZiBhIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gcGFzc2VkLCByZXR1cm4gdGhlIGNvbmZpZyBkaXJlY3RseS5cbiAgQGlmIG5vdCBtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJHRoZW1lLW9yLWNvbmZpZykge1xuICAgIEByZXR1cm4gJHRoZW1lLW9yLWNvbmZpZztcbiAgfVxuICAvLyBJbiBjYXNlIGEgdGhlbWUgaGFzIGJlZW4gcGFzc2VkLCBleHRyYWN0IHRoZSBjb25maWd1cmF0aW9uIGlmIHByZXNlbnQsXG4gIC8vIG9yIGZhbGwgYmFjayB0byB0aGUgZGVmYXVsdCBkZW5zaXR5IGNvbmZpZy5cbiAgQGlmIG1hcC1oYXMta2V5KCR0aGVtZS1vci1jb25maWcsIGRlbnNpdHkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLW9yLWNvbmZpZywgZGVuc2l0eSk7XG4gIH1cbiAgQHJldHVybiAkZGVmYXVsdDtcbn1cblxuLy8vIEdldHMgdGhlIHR5cG9ncmFwaHkgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBnaXZlbiB0aGVtZSBvciBjb25maWd1cmF0aW9uLlxuLy8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgdHlwb2dyYXBoeSBpcyBub3QgaW5jbHVkZWQgYnkgZGVmYXVsdC5cbkBmdW5jdGlvbiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZS1vci1jb25maWcsICRkZWZhdWx0OiBudWxsKSB7XG4gIC8vIElmIGEgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBwYXNzZWQsIHJldHVybiB0aGUgY29uZmlnIGRpcmVjdGx5LlxuICBAaWYgbm90IG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkdGhlbWUtb3ItY29uZmlnKSB7XG4gICAgQHJldHVybiAkdGhlbWUtb3ItY29uZmlnO1xuICB9XG4gIC8vIEluIGNhc2UgYSB0aGVtZSBoYXMgYmVlbiBwYXNzZWQsIGV4dHJhY3QgdGhlIGNvbmZpZ3VyYXRpb24gaWYgcHJlc2VudCxcbiAgLy8gb3IgZmFsbCBiYWNrIHRvIHRoZSBkZWZhdWx0IHR5cG9ncmFwaHkgY29uZmlnLlxuICBAaWYgKG1hcC1oYXMta2V5KCR0aGVtZS1vci1jb25maWcsIHR5cG9ncmFwaHkpKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1vci1jb25maWcsIHR5cG9ncmFwaHkpO1xuICB9XG4gIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cblxuLy9cbi8vIFByaXZhdGUgQVBJc1xuLy9cblxuLy8gQ2hlY2tzIGlmIGNvbmZpZ3VyYXRpb25zIHRoYXQgaGF2ZSBiZWVuIGRlY2xhcmVkIGluIHRoZSBnaXZlbiB0aGVtZSBoYXZlIGJlZW4gZ2VuZXJhdGVkXG4vLyBiZWZvcmUuIElmIHNvLCB3YXJuaW5ncyB3aWxsIGJlIHJlcG9ydGVkLiBUaGlzIHNob3VsZCBub3RpZnkgZGV2ZWxvcGVycyBpbiBjYXNlIGR1cGxpY2F0ZVxuLy8gc3R5bGVzIGFyZSBhY2NpZGVudGFsbHkgZ2VuZXJhdGVkIGR1ZSB0byB3cm9uZyB1c2FnZSBvZiB0aGUgYWxsLXRoZW1lIG1peGlucy5cbi8vXG4vLyBBZGRpdGlvbmFsbHksIHRoaXMgbWl4aW4gY29udHJvbHMgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24uIEJ5XG4vLyBkZWZhdWx0LCBkZW5zaXR5IHN0eWxlcyBhcmUgZ2VuZXJhdGVkIGF0IHNjYWxlIHplcm8uIElmIHRoZSBzYW1lIGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlXG4vLyBnZW5lcmF0ZWQgYSBzZWNvbmQgdGltZSB0aG91Z2gsIHRoZSBkZWZhdWx0IHZhbHVlIHdpbGwgY2hhbmdlIHRvIGF2b2lkIGR1cGxpY2F0ZSBzdHlsZXMuXG4vL1xuLy8gVGhlIG1peGluIGtlZXBzIHRyYWNrIG9mIGFsbCBjb25maWd1cmF0aW9ucyBpbiBhIGxpc3QgdGhhdCBpcyBzY29wZWQgdG8gdGhlIHNwZWNpZmllZFxuLy8gaWQuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgYSBnaXZlbiB0aGVtZSBjYW4gYmUgcGFzc2VkIHRvIG11bHRpcGxlIGRpc2pvaW50IHRoZW1lIG1peGluc1xuLy8gKGUuZy4gYGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWVgIGFuZCBgYW5ndWxhci1tYXRlcmlhbC1tZGMtdGhlbWVgKSB3aXRob3V0IGNhdXNpbmcgYW55XG4vLyBzdHlsZSBkdXBsaWNhdGlvbi5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZS1vci1jb2xvci1jb25maWcsICRpZCkge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICRjb2xvci1jb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICRkZW5zaXR5LWNvbmZpZzogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAkdHlwb2dyYXBoeS1jb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcbiAgLy8gTGlzdHMgb2YgcHJldmlvdXMgYGNvbG9yYCwgYGRlbnNpdHlgIGFuZCBgdHlwb2dyYXBoeWAgY29uZmlndXJhdGlvbnMuXG4gICRwcmV2aW91cy1jb2xvcjogbWFwLWdldCgkX21hdC10aGVtZS1lbWl0dGVkLWNvbG9yLCAkaWQpIG9yICgpO1xuICAkcHJldmlvdXMtdHlwb2dyYXBoeTogbWFwLWdldCgkX21hdC10aGVtZS1lbWl0dGVkLXR5cG9ncmFwaHksICRpZCkgb3IgKCk7XG4gICRwcmV2aW91cy1kZW5zaXR5OiBtYXAtZ2V0KCRfbWF0LXRoZW1lLWVtaXR0ZWQtZGVuc2l0eSwgJGlkKSBvciAoKTtcbiAgLy8gV2hldGhlciBkdXBsaWNhdGUgbGVnYWN5IGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlIGdlbmVyYXRlZC5cbiAgJGR1cGxpY2F0ZS1sZWdhY3ktZGVuc2l0eTogZmFsc2U7XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gZ2VuZXJhdGVkIGJlZm9yZS5cbiAgQGlmICRjb2xvci1jb25maWcgIT0gbnVsbCB7XG4gICAgQGlmIGluZGV4KCRwcmV2aW91cy1jb2xvciwgJGNvbG9yLWNvbmZpZykgIT0gbnVsbCBhbmRcbiAgICAgICAgbm90ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuICdUaGUgc2FtZSBjb2xvciBzdHlsZXMgYXJlIGdlbmVyYXRlZCBtdWx0aXBsZSB0aW1lcy4gJyArXG4gICAgICAgICAgJF9tYXQtdGhlbWUtZHVwbGljYXRlLXdhcm5pbmc7XG4gICAgfVxuICAgICRwcmV2aW91cy1jb2xvcjogYXBwZW5kKCRwcmV2aW91cy1jb2xvciwgJGNvbG9yLWNvbmZpZyk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgdHlwb2dyYXBoeSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIGdlbmVyYXRlZCBiZWZvcmUuXG4gIEBpZiAkdHlwb2dyYXBoeS1jb25maWcgIT0gbnVsbCB7XG4gICAgQGlmIGluZGV4KCRwcmV2aW91cy10eXBvZ3JhcGh5LCAkdHlwb2dyYXBoeS1jb25maWcpICE9IG51bGwgYW5kXG4gICAgICAgIG5vdCAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5ncyB7XG4gICAgICBAd2FybiAnVGhlIHNhbWUgdHlwb2dyYXBoeSBzdHlsZXMgYXJlIGdlbmVyYXRlZCBtdWx0aXBsZSB0aW1lcy4gJyArXG4gICAgICAgICAgJF9tYXQtdGhlbWUtZHVwbGljYXRlLXdhcm5pbmc7XG4gICAgfVxuICAgICRwcmV2aW91cy10eXBvZ3JhcGh5OiBhcHBlbmQoJHByZXZpb3VzLXR5cG9ncmFwaHksICR0eXBvZ3JhcGh5LWNvbmZpZyk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgZGVuc2l0eSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIGdlbmVyYXRlZCBiZWZvcmUuXG4gIEBpZiAkZGVuc2l0eS1jb25maWcgIT0gbnVsbCB7XG4gICAgQGlmIGluZGV4KCRwcmV2aW91cy1kZW5zaXR5LCAkZGVuc2l0eS1jb25maWcpICE9IG51bGwge1xuICAgICAgLy8gT25seSByZXBvcnQgYSB3YXJuaW5nIGlmIGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlIGR1cGxpY2F0ZWQgZm9yIG5vbi1sZWdhY3kgdGhlbWVcbiAgICAgIC8vIGRlZmluaXRpb25zLiBGb3IgbGVnYWN5IHRoZW1lcywgd2UgaGF2ZSBjb21wYXRpYmlsaXR5IGxvZ2ljIHRoYXQgYXZvaWRzIGR1cGxpY2F0aW9uXG4gICAgICAvLyBvZiBkZWZhdWx0IGRlbnNpdHkgc3R5bGVzLiBXZSBkb24ndCB3YW50IHRvIHJlcG9ydCBhIHdhcm5pbmcgaW4gdGhvc2UgY2FzZXMuXG4gICAgICBAaWYgbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR0aGVtZSkge1xuICAgICAgICAkZHVwbGljYXRlLWxlZ2FjeS1kZW5zaXR5OiB0cnVlO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgbm90ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzIHtcbiAgICAgICAgQHdhcm4gJ1RoZSBzYW1lIGRlbnNpdHkgc3R5bGVzIGFyZSBnZW5lcmF0ZWQgbXVsdGlwbGUgdGltZXMuICcgK1xuICAgICAgICAgICAkX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZztcbiAgICAgIH1cbiAgICB9XG4gICAgJHByZXZpb3VzLWRlbnNpdHk6IGFwcGVuZCgkcHJldmlvdXMtZGVuc2l0eSwgJGRlbnNpdHktY29uZmlnKTtcbiAgfVxuXG4gICRfbWF0LXRoZW1lLWVtaXR0ZWQtY29sb3I6IG1hcC1tZXJnZShcbiAgICAgICRfbWF0LXRoZW1lLWVtaXR0ZWQtY29sb3IsICgkaWQ6ICRwcmV2aW91cy1jb2xvcikpICFnbG9iYWw7XG4gICRfbWF0LXRoZW1lLWVtaXR0ZWQtZGVuc2l0eTogbWFwLW1lcmdlKFxuICAgICAgJF9tYXQtdGhlbWUtZW1pdHRlZC1kZW5zaXR5LCAoJGlkOiAkcHJldmlvdXMtZGVuc2l0eSkpICFnbG9iYWw7XG4gICRfbWF0LXRoZW1lLWVtaXR0ZWQtdHlwb2dyYXBoeTogbWFwLW1lcmdlKFxuICAgICAgJF9tYXQtdGhlbWUtZW1pdHRlZC10eXBvZ3JhcGh5LCAoJGlkOiAkcHJldmlvdXMtdHlwb2dyYXBoeSkpICFnbG9iYWw7XG5cbiAgLy8gT3B0aW9uYWxseSwgY29uc3VtZXJzIG9mIHRoaXMgbWl4aW4gY2FuIHdyYXAgY29udGVudHMgaW5zaWRlIHNvIHRoYXQgbmVzdGVkXG4gIC8vIGR1cGxpY2F0ZSBzdHlsZSBjaGVja3MgZG8gbm90IHJlcG9ydCBhbm90aGVyIHdhcm5pbmcuIGUuZy4gaWYgZGV2ZWxvcGVycyBpbmNsdWRlXG4gIC8vIHRoZSBgYW5ndWxhci1tYXRlcmlhbC10aGVtZWAgbWl4aW4gdHdpY2UsIG9ubHkgdGhlIHRvcC1sZXZlbCBkdXBsaWNhdGUgc3R5bGVzIGNoZWNrXG4gIC8vIHNob3VsZCByZXBvcnQgYSB3YXJuaW5nLiBOb3QgYWxsIGluZGl2aWR1YWwgY29tcG9uZW50cyBzaG91bGQgcmVwb3J0IGEgd2FybmluZyB0b28uXG4gICRvcmlnLW1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3M6ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzO1xuICAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5nczogdHJ1ZSAhZ2xvYmFsO1xuXG4gIC8vIElmIGR1cGxpY2F0ZSBkZWZhdWx0IGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlIGdlbmVyYXRlZCBmb3IgYSBsZWdhY3kgY29uc3RydWN0ZWQgdGhlbWUsXG4gIC8vIHdlIGFkanVzdCB0aGUgZGVuc2l0eSBnZW5lcmF0aW9uIHNvIHRoYXQgbm8gZGVuc2l0eSBzdHlsZXMgYXJlIGdlbmVyYXRlZCBieSBkZWZhdWx0LlxuICAvLyBJZiBubyBkZWZhdWx0IGRlbnNpdHkgc3R5bGVzIGhhdmUgYmVlbiBnZW5lcmF0ZWQgeWV0LCB3ZSBlbnN1cmUgdGhhdCB0aGUgc3R5bGVzXG4gIC8vIGFyZSBnZW5lcmF0ZWQgYXQgcm9vdC4gRm9yIGxlZ2FjeSB0aGVtZXMgb3VyIGdvYWwgaXMgdG8gZ2VuZXJhdGUgZGVmYXVsdCBkZW5zaXR5XG4gIC8vIHN0eWxlcyAqKm9uY2UqKiBhbmQgYXQgcm9vdC4gVGhpcyBtYXRjaGVzIHRoZSBvbGQgYmVoYXZpb3Igd2hlcmUgZGVuc2l0eSBzdHlsZXMgd2VyZVxuICAvLyBwYXJ0IG9mIHRoZSBiYXNlIGNvbXBvbmVudCBzdHlsZXMgKHRoYXQgZGlkIG5vdCB1c2UgdmlldyBlbmNhcHN1bGF0aW9uKS5cbiAgLy8gVE9ETzogUmVtb3ZlIHRoaXMgY29tcGF0aWJpbGl0eSBsb2dpYyB3aGVuIHRoZSBsZWdhY3kgdGhlbWluZyBBUEkgaXMgcmVtb3ZlZC5cbiAgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdDogbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR0aGVtZSkgIWdsb2JhbDtcbiAgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzOiBub3QgJGR1cGxpY2F0ZS1sZWdhY3ktZGVuc2l0eSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuICAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5nczogJG9yaWctbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5ncyAhZ2xvYmFsO1xuXG4gICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3Q6IGZhbHNlICFnbG9iYWw7XG4gICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlczogdHJ1ZSAhZ2xvYmFsO1xufVxuXG4vLyBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gdmFsdWUgcmVzb2x2ZXMgdG8gYSB0aGVtZSBvYmplY3QuIFRoZW1lIG9iamVjdHMgYXJlIGFsd2F5c1xuLy8gb2YgdHlwZSBgbWFwYCBhbmQgY2FuIG9wdGlvbmFsbHkgb25seSBzcGVjaWZ5IGBjb2xvcmAsIGBkZW5zaXR5YCBvciBgdHlwb2dyYXBoeWAuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSA9PSAnbWFwJyBhbmQgKFxuICAgIG1hcC1oYXMta2V5KCR2YWx1ZSwgY29sb3IpIG9yXG4gICAgbWFwLWhhcy1rZXkoJHZhbHVlLCBkZW5zaXR5KSBvclxuICAgIG1hcC1oYXMta2V5KCR2YWx1ZSwgdHlwb2dyYXBoeSkgb3JcbiAgICBsZW5ndGgoJHZhbHVlKSA9PSAwXG4gICk7XG59XG5cbi8vIENoZWNrcyB3aGV0aGVyIGEgZ2l2ZW4gdmFsdWUgY29ycmVzcG9uZHMgdG8gYSBsZWdhY3kgY29uc3RydWN0ZWQgdGhlbWUuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSA9PSAnbWFwJyBhbmQgbWFwLWdldCgkdmFsdWUsICdfaXMtbGVnYWN5LXRoZW1lJyk7XG59XG5cbi8vIENyZWF0ZXMgYSBiYWNrd2FyZHMgY29tcGF0aWJsZSB0aGVtZS4gUHJldmlvdXNseSBpbiBBbmd1bGFyIE1hdGVyaWFsLCB0aGVtZSBvYmplY3RzXG4vLyBjb250YWluZWQgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkuIFdpdGggdGhlIHJlY2VudCByZWZhY3RvcmluZyBvZiB0aGUgdGhlbWluZ1xuLy8gc3lzdGVtIHRvIGFsbG93IGZvciBkZW5zaXR5IGFuZCB0eXBvZ3JhcGh5IGNvbmZpZ3VyYXRpb25zLCB0aGlzIGlzIG5vIGxvbmdlciB0aGUgY2FzZS5cbi8vIFRvIGVuc3VyZSB0aGF0IGNvbnN0cnVjdGVkIHRoZW1lcyB3aGljaCB3aWxsIGJlIHBhc3NlZCB0byBjdXN0b20gdGhlbWUgbWl4aW5zIGRvIG5vdCBicmVhayxcbi8vIHdlIGNvcHkgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gYW5kIHB1dCBpdHMgcHJvcGVydGllcyBhdCB0aGUgdG9wLWxldmVsIG9mIHRoZSB0aGVtZSBvYmplY3QuXG4vLyBIZXJlIGlzIGFuIGV4YW1wbGUgb2YgYSBwYXR0ZXJuIHRoYXQgc2hvdWxkIHN0aWxsIHdvcmsgdW50aWwgaXQncyBvZmZpY2lhbGx5IG1hcmtlZCBhcyBhXG4vLyBicmVha2luZyBjaGFuZ2U6XG4vL1xuLy8gICAgQG1peGluIG15LWN1c3RvbS1jb21wb25lbnQtdGhlbWUoJHRoZW1lKSB7XG4vLyAgICAgIC5teS1jb21wIHtcbi8vICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IobWFwLWdldCgkdGhlbWUsIHByaW1hcnkpKTtcbi8vICAgICAgfVxuLy8gICAgfVxuLy9cbi8vIE5vdGUgdGhhdCB0aGUgYCR0aGVtZS5wcmltYXJ5YCBrZXkgZG9lcyB1c3VhbGx5IG5vdCBleGlzdCBzaW5jZSB0aGUgY29sb3IgY29uZmlndXJhdGlvblxuLy8gaXMgc3RvcmVkIGluIGAkdGhlbWUuY29sb3JgIHdoaWNoIGNvbnRhaW5zIGEgcHJvcGVydHkgZm9yIGBwcmltYXJ5YC4gVGhpcyBtZXRob2QgY29waWVzXG4vLyB0aGUgbWFwIGZyb20gYCR0aGVtZS5jb2xvcmAgdG8gYCR0aGVtZWAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZSgkdGhlbWUpIHtcbiAgQGlmIG5vdCBtYXAtZ2V0KCR0aGVtZSwgY29sb3IpIHtcbiAgICBAcmV0dXJuICR0aGVtZTtcbiAgfVxuICAkY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBjb2xvcik7XG4gIEByZXR1cm4gbWFwLW1lcmdlKCR0aGVtZSwgJGNvbG9yKTtcbn1cblxuLy8gR2V0cyB0aGUgdGhlbWUgZnJvbSB0aGUgZ2l2ZW4gdmFsdWUgdGhhdCBpcyBlaXRoZXIgYWxyZWFkeSBhIHRoZW1lLCBvciBhIGNvbG9yIGNvbmZpZ3VyYXRpb24uXG4vLyBUaGlzIGhhbmRsZXMgdGhlIGxlZ2FjeSBjYXNlIHdoZXJlIGRldmVsb3BlcnMgcGFzcyBhIGNvbG9yIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkgdG8gdGhlXG4vLyB0aGVtZSBtaXhpbi4gQmVmb3JlIHdlIGludHJvZHVjZWQgdGhlIG5ldyBwYXR0ZXJuIGZvciBjb25zdHJ1Y3RpbmcgYSB0aGVtZSwgZGV2ZWxvcGVycyBwYXNzZWRcbi8vIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGRpcmVjdGx5IHRvIHRoZSB0aGVtZSBtaXhpbnMuIFRoaXMgY2FuIGJlIHN0aWxsIHRoZSBjYXNlIGlmIGRldmVsb3BlcnNcbi8vIGNvbnN0cnVjdCBhIHRoZW1lIG1hbnVhbGx5IGFuZCBwYXNzIGl0IHRvIGEgdGhlbWUuIFdlIHN1cHBvcnQgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4vLyBUT0RPKGRldnZlcnNpb24pOiByZW1vdmUgdGhpcyBpbiB0aGUgZnV0dXJlLiBDb25zdHJ1Y3RpbmcgdGhlbWVzIG1hbnVhbGx5IGlzIHJhcmUsXG4vLyBhbmQgdGhlIGNvZGUgY2FuIGJlIGVhc2lseSB1cGRhdGVkIHRvIHRoZSBuZXcgQVBJLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICBAaWYgbWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgICBAcmV0dXJuICR0aGVtZS1vci1jb2xvci1jb25maWc7XG4gIH1cbiAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoKFxuICAgIF9pcy1sZWdhY3ktdGhlbWU6IHRydWUsXG4gICAgY29sb3I6ICR0aGVtZS1vci1jb2xvci1jb25maWdcbiAgKSk7XG59XG5cblxuXG4kbWF0LXJpcHBsZS1jb2xvci1vcGFjaXR5OiAwLjE7XG5cbkBtaXhpbiBtYXQtcmlwcGxlKCkge1xuXG4gIC8vIFRoZSBob3N0IGVsZW1lbnQgb2YgYW4gbWF0LXJpcHBsZSBkaXJlY3RpdmUgc2hvdWxkIGFsd2F5cyBoYXZlIGEgcG9zaXRpb24gb2YgXCJhYnNvbHV0ZVwiIG9yXG4gIC8vIFwicmVsYXRpdmVcIiBzbyB0aGF0IHRoZSByaXBwbGVzIGluc2lkZSBhcmUgY29ycmVjdGx5IHBvc2l0aW9uZWQgcmVsYXRpdmVseSB0byB0aGUgY29udGFpbmVyLlxuICAubWF0LXJpcHBsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIEJ5IGRlZmF1bHQsIGV2ZXJ5IHJpcHBsZSBjb250YWluZXIgc2hvdWxkIGhhdmUgcG9zaXRpb246IHJlbGF0aXZlIGluIGZhdm9yIG9mIGNyZWF0aW5nIGFuXG4gICAgLy8gZWFzeSBBUEkgZm9yIGRldmVsb3BlcnMgdXNpbmcgdGhlIE1hdFJpcHBsZSBkaXJlY3RpdmUuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gUHJvbW90ZSBjb250YWluZXJzIHRoYXQgaGF2ZSByaXBwbGVzIHRvIGEgbmV3IGxheWVyLiBXZSB3YW50IHRvIHRhcmdldCBgOm5vdCg6ZW1wdHkpYCxcbiAgICAvLyBiZWNhdXNlIHdlIGRvbid0IHdhbnQgYWxsIHJpcHBsZSBjb250YWluZXJzIHRvIGhhdmUgdGhlaXIgb3duIGxheWVyIHNpbmNlIHRoZXkncmUgdXNlZCBpbiBhXG4gICAgLy8gbG90IG9mIHBsYWNlcyBhbmQgdGhlIGxheWVyIGlzIG9ubHkgcmVsZXZhbnQgd2hpbGUgYW5pbWF0aW5nLiBOb3RlIHRoYXQgaWRlYWxseSB3ZSdkIHVzZVxuICAgIC8vIHRoZSBgY29udGFpbmAgcHJvcGVydHkgaGVyZSAoc2VlICMxMzE3NSksIGJlY2F1c2UgYDplbXB0eWAgY2FuIGJlIGJyb2tlbiBieSBoYXZpbmcgZXh0cmFcbiAgICAvLyB0ZXh0IGluc2lkZSB0aGUgZWxlbWVudCwgYnV0IGl0IGlzbid0IHZlcnkgd2VsbCBzdXBwb3J0ZWQgeWV0LlxuICAgICY6bm90KDplbXB0eSkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCB0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG5cbiAgICAvLyBJbiBoaWdoIGNvbnRyYXN0IG1vZGUgdGhlIHJpcHBsZSBpcyBvcGFxdWUsIGNhdXNpbmcgaXQgdG8gb2JzdHJ1Y3QgdGhlIGNvbnRlbnQuXG4gICAgQGluY2x1ZGUgY2RrLWhpZ2gtY29udHJhc3QoYWN0aXZlLCBvZmYpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIENvbG9ycyBmb3IgdGhlIHJpcHBsZSBlbGVtZW50cy4qL1xuQG1peGluIG1hdC1yaXBwbGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRmb3JlZ3JvdW5kLWJhc2U6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIC8vIElmIHRoZSByaXBwbGUgY29sb3IgaXMgcmVzb2x2ZXMgdG8gYSBjb2xvciAqdHlwZSosIHdlIGNhbiB1c2UgaXQgZGlyZWN0bHksIG90aGVyd2lzZVxuICAgIC8vIChlLmcuIGl0IHJlc29sdmVzIHRvIGEgQ1NTIHZhcmlhYmxlKSB3ZSBmYWxsIGJhY2sgdG8gdXNpbmcgdGhlIGNvbG9yIGFuZCBzZXR0aW5nIGFuIG9wYWNpdHkuXG4gICAgQGlmICh0eXBlLW9mKCRmb3JlZ3JvdW5kLWJhc2UpID09IGNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRmb3JlZ3JvdW5kLWJhc2UsICRtYXQtcmlwcGxlLWNvbG9yLW9wYWNpdHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9yZWdyb3VuZC1iYXNlO1xuICAgICAgb3BhY2l0eTogJG1hdC1yaXBwbGUtY29sb3Itb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1yaXBwbGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXJpcHBsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1yaXBwbGUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUaGlzIG1peGluIGVuc3VyZXMgYW4gZWxlbWVudCBzcGFucyB0byBmaWxsIHRoZSBuZWFyZXN0IGFuY2VzdG9yIHdpdGggZGVmaW5lZCBwb3NpdGlvbmluZy5cbkBtaXhpbiBtYXQtZmlsbCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5cbi8vLyBNaXhpbiB0aGF0IHR1cm5zIG9uIHN0cm9uZyBmb2N1cyBpbmRpY2F0b3JzLlxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgIC5teS1hcHAge1xuLy8vICAgICBAaW5jbHVkZSBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMoJGNvbmZpZyk7XG4vLy8gICB9XG5AbWl4aW4gbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzKCRjb25maWc6ICgpKSB7XG4gIC8vIERlZmF1bHQgZm9jdXMgaW5kaWNhdG9yIGNvbmZpZy5cbiAgJGRlZmF1bHQtY29uZmlnOiAoXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZCxcbiAgICBib3JkZXItd2lkdGg6IDNweCxcbiAgICBib3JkZXItcmFkaXVzOiA0cHgsXG4gICk7XG5cbiAgLy8gTWVyZ2UgZGVmYXVsdCBjb25maWcgd2l0aCB1c2VyIGNvbmZpZy5cbiAgJGNvbmZpZzogbWFwLW1lcmdlKCRkZWZhdWx0LWNvbmZpZywgJGNvbmZpZyk7XG4gICRib3JkZXItc3R5bGU6IG1hcC1nZXQoJGNvbmZpZywgYm9yZGVyLXN0eWxlKTtcbiAgJGJvcmRlci13aWR0aDogbWFwLWdldCgkY29uZmlnLCBib3JkZXItd2lkdGgpO1xuICAkYm9yZGVyLXJhZGl1czogbWFwLWdldCgkY29uZmlnLCBib3JkZXItcmFkaXVzKTtcblxuICAvLyBCYXNlIHN0eWxlcyBmb3IgZm9jdXMgaW5kaWNhdG9ycy5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWF0LWZpbGwoKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCAkYm9yZGVyLXN0eWxlIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLy8gQnkgZGVmYXVsdCwgYWxsIGZvY3VzIGluZGljYXRvcnMgYXJlIGZsdXNoIHdpdGggdGhlIGJvdW5kaW5nIGJveCBvZiB0aGVpclxuICAvLyBob3N0IGVsZW1lbnQuIEZvciBwYXJ0aWN1bGFyIGVsZW1lbnRzIChsaXN0ZWQgYmVsb3cpLCBkZWZhdWx0IGluc2V0L29mZnNldFxuICAvLyB2YWx1ZXMgYXJlIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgZm9jdXMgaW5kaWNhdG9yIGlzIHN1ZmZpY2llbnRseVxuICAvLyBjb250cmFzdGl2ZSBhbmQgcmVuZGVycyBhcHByb3ByaWF0ZWx5LlxuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1mbGF0LWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtcmFpc2VkLWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtZmFiOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1taW5pLWZhYjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtY2hpcDo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyOjpiZWZvcmUge1xuICAgIG1hcmdpbjogLSgkYm9yZGVyLXdpZHRoICsgMnB4KTtcbiAgfVxuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1zdHJva2VkLWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiAtKCRib3JkZXItd2lkdGggKyAzcHgpO1xuICB9XG5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LXRhYi1saW5rOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC10YWItbGFiZWw6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiA1cHg7XG4gIH1cblxuICAvLyBSZW5kZXIgdGhlIGZvY3VzIGluZGljYXRvciBvbiBmb2N1cy4gRGVmaW5pbmcgYSBwc2V1ZG8gZWxlbWVudCdzXG4gIC8vIGNvbnRlbnQgd2lsbCBjYXVzZSBpdCB0byByZW5kZXIuXG5cbiAgLy8gQ2hlY2tib3hlcywgcmFkaW9zLCBhbmQgc2xpZGUgdG9nZ2xlcyByZW5kZXIgZm9jdXMgaW5kaWNhdG9ycyB3aGVuIHRoZVxuICAvLyBhc3NvY2lhdGVkIHZpc3VhbGx5LWhpZGRlbiBpbnB1dCBpcyBmb2N1c2VkLlxuICAubWF0LWNoZWNrYm94LWlucHV0OmZvY3VzIH4gLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcbiAgLm1hdC1yYWRpby1pbnB1dDpmb2N1cyB+IC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG4gIC5tYXQtc2xpZGUtdG9nZ2xlLWlucHV0OmZvY3VzIH4gLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG5cbiAgLy8gRm9yIG9wdGlvbnMsIHJlbmRlciB0aGUgZm9jdXMgaW5kaWNhdG9yIHdoZW4gdGhlIGNsYXNzIC5tYXQtYWN0aXZlXG4gIC8vIGlzIHByZXNlbnQuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1vcHRpb24ubWF0LWFjdGl2ZTo6YmVmb3JlLFxuXG4gIC8vIEZvciBjYWxlbmRhciBjZWxscywgcmVuZGVyIHRoZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgcGFyZW50IGNlbGwgaXNcbiAgLy8gZm9jdXNlZC5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6Zm9jdXMgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcblxuICAvLyBGb3IgYWxsIG90aGVyIGNvbXBvbmVudHMsIHJlbmRlciB0aGUgZm9jdXMgaW5kaWNhdG9yIG9uIGZvY3VzLlxuICAubWF0LWZvY3VzLWluZGljYXRvcjpmb2N1czo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4vLyBNaXhpbiB0aGF0IGFwcGxpZXMgdGhlIGJvcmRlciBjb2xvciBmb3IgdGhlIGZvY3VzIGluZGljYXRvcnMuXG5AbWl4aW4gX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IoJGNvbG9yKSB7XG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgQGluY2x1ZGUgX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IobWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSkpKTtcbn1cblxuLy8vIE1peGluIHRoYXQgc2V0cyB0aGUgY29sb3Igb2YgdGhlIGZvY3VzIGluZGljYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge2NvbG9yfG1hcH0gJHRoZW1lLW9yLWNvbG9yXG4vLy8gICBJZiB0aGVtZSwgZm9jdXMgaW5kaWNhdG9ycyBhcmUgc2V0IHRvIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSB0aGVtZS4gSWZcbi8vLyAgIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3JzIGFyZSBzZXQgdG8gdGhhdCBjb2xvci5cbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gICAuZGVtby1kYXJrLXRoZW1lIHtcbi8vLyAgICAgQGluY2x1ZGUgbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lKCRkYXJrLXRoZW1lLW1hcCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vICAgLmRlbW8tcmVkLXRoZW1lIHtcbi8vLyAgICAgQGluY2x1ZGUgbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lKCNmMDApO1xuLy8vICAgfVxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1hdGVyaWFsL3RoZW1lLW1peGluLWFwaSAqL1xuQG1peGluIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy10aGVtZSgkdGhlbWUtb3ItY29sb3IpIHtcbiAgQGlmIHR5cGUtb2YoJHRoZW1lLW9yLWNvbG9yKSAhPSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IoJHRoZW1lLW9yLWNvbG9yKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvcik7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMnKSB7XG4gICAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgICBAaW5jbHVkZSBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtY29sb3IoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gdGhhdCBlbnN1cmVzIGZvY3VzIGluZGljYXRvciBob3N0IGVsZW1lbnRzIGFyZSBwb3NpdGlvbmVkIHNvIHRoYXQgdGhlIGZvY3VzIGluZGljYXRvclxuLy8gcHNldWRvIGVsZW1lbnQgd2l0aGluIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGhvc3QuIFByaXZhdGUgbWl4aW4gaW5jbHVkZWQgd2l0aGluXG4vLyBgbWF0LWNvcmVgLlxuQG1peGluIG1hdC1wcml2YXRlLXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXBvc2l0aW9uaW5nKCkge1xuICAubWF0LWZvY3VzLWluZGljYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cblxuXG4vLyBVdGlsaXR5IGZvciBmZXRjaGluZyBhIG5lc3RlZCB2YWx1ZSBmcm9tIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsICRuYW1lKSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb25maWcsICRsZXZlbCksICRuYW1lKTtcbn1cblxuLy8gR2V0cyB0aGUgZm9udCBzaXplIGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1mb250LXNpemUoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGZvbnQtc2l6ZSk7XG59XG5cbi8vIEdldHMgdGhlIGxpbmUgaGVpZ2h0IGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCAkbGV2ZWwpIHtcbiAgQHJldHVybiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgbGluZS1oZWlnaHQpO1xufVxuXG4vLyBHZXRzIHRoZSBmb250IHdlaWdodCBmb3IgYSBsZXZlbCBpbnNpZGUgYSB0eXBvZ3JhcGh5IGNvbmZpZy5cbkBmdW5jdGlvbiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGZvbnQtd2VpZ2h0KTtcbn1cblxuLy8gR2V0cyB0aGUgbGV0dGVyIHNwYWNpbmcgZm9yIGEgbGV2ZWwgaW5zaWRlIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gbWF0LWxldHRlci1zcGFjaW5nKCRjb25maWcsICRsZXZlbCkge1xuICBAcmV0dXJuIF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBsZXR0ZXItc3BhY2luZyk7XG59XG5cbi8vIEdldHMgdGhlIGZvbnQtZmFtaWx5IGZyb20gYSB0eXBvZ3JhcGh5IGNvbmZpZyBhbmQgcmVtb3ZlcyB0aGUgcXVvdGVzIGFyb3VuZCBpdC5cbkBmdW5jdGlvbiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgJGxldmVsOiBudWxsKSB7XG4gICRmb250LWZhbWlseTogbWFwLWdldCgkY29uZmlnLCBmb250LWZhbWlseSk7XG5cbiAgQGlmICRsZXZlbCAhPSBudWxsIHtcbiAgICAkZm9udC1mYW1pbHk6IF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBmb250LWZhbWlseSk7XG4gIH1cblxuICAvLyBHdWFyZCBhZ2FpbnN0IHVucXVvdGluZyBub24tc3RyaW5nIHZhbHVlcywgYmVjYXVzZSBpdCdzIGRlcHJlY2F0ZWQuXG4gIEByZXR1cm4gaWYodHlwZS1vZigkZm9udC1mYW1pbHkpID09IHN0cmluZywgdW5xdW90ZSgkZm9udC1mYW1pbHkpLCAkZm9udC1mYW1pbHkpO1xufVxuXG4vLyBPdXRwdXRzIHRoZSBzaG9ydGhhbmQgYGZvbnRgIENTUyBwcm9wZXJ0eSwgYmFzZWQgb24gYSBzZXQgb2YgdHlwb2dyYXBoeSB2YWx1ZXMuIEZhbGxzIGJhY2sgdG9cbi8vIHRoZSBpbmRpdmlkdWFsIHByb3BlcnRpZXMgaWYgYSB2YWx1ZSB0aGF0IGlzbid0IGFsbG93ZWQgaW4gdGhlIHNob3J0aGFuZCBpcyBwYXNzZWQgaW4uXG5AbWl4aW4gbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoJGZvbnQtc2l6ZSwgJGZvbnQtd2VpZ2h0LCAkbGluZS1oZWlnaHQsICRmb250LWZhbWlseSkge1xuICAvLyBJZiBhbnkgb2YgdGhlIHZhbHVlcyBhcmUgc2V0IHRvIGBpbmhlcml0YCwgd2UgY2FuJ3QgdXNlIHRoZSBzaG9ydGhhbmRcbiAgLy8gc28gd2UgZmFsbCBiYWNrIHRvIHBhc3NpbmcgaW4gdGhlIGluZGl2aWR1YWwgcHJvcGVydGllcy5cbiAgQGlmICgkZm9udC1zaXplID09IGluaGVyaXQgb3JcbiAgICAgICAkZm9udC13ZWlnaHQgPT0gaW5oZXJpdCBvclxuICAgICAgICRsaW5lLWhlaWdodCA9PSBpbmhlcml0IG9yXG4gICAgICAgJGZvbnQtZmFtaWx5ID09IGluaGVyaXQgb3JcbiAgICAgICAkZm9udC1zaXplID09IG51bGwgb3JcbiAgICAgICAkZm9udC13ZWlnaHQgPT0gbnVsbCBvclxuICAgICAgICRsaW5lLWhlaWdodCA9PSBudWxsIG9yXG4gICAgICAgJGZvbnQtZmFtaWx5ID09IG51bGwpIHtcblxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gT3RoZXJ3aXNlIHVzZSB0aGUgc2hvcnRoYW5kIGBmb250YCwgYmVjYXVzZSBpdCdzIHRoZSBsZWFzdCBhbW91bnQgb2YgYnl0ZXMuIE5vdGVcbiAgICAvLyB0aGF0IHdlIG5lZWQgdG8gdXNlIGludGVycG9sYXRpb24gZm9yIGBmb250LXNpemUvbGluZS1oZWlnaHRgIGluIG9yZGVyIHRvIHByZXZlbnRcbiAgICAvLyBTYXNzIGZyb20gZGl2aWRpbmcgdGhlIHR3byB2YWx1ZXMuXG4gICAgZm9udDogJGZvbnQtd2VpZ2h0ICN7JGZvbnQtc2l6ZX0vI3skbGluZS1oZWlnaHR9ICRmb250LWZhbWlseTtcbiAgfVxufVxuXG4vLyBDb252ZXJ0cyBhIHR5cG9ncmFwaHkgbGV2ZWwgaW50byBDU1Mgc3R5bGVzLlxuQG1peGluIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCAkbGV2ZWwpIHtcbiAgJGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCAkbGV2ZWwpO1xuICAkZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCAkbGV2ZWwpO1xuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCAkbGV2ZWwpO1xuICAkZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCAkbGV2ZWwpO1xuXG4gIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWZvbnQtc2hvcnRoYW5kKCRmb250LXNpemUsICRmb250LXdlaWdodCwgJGxpbmUtaGVpZ2h0LCAkZm9udC1mYW1pbHkpO1xuICBsZXR0ZXItc3BhY2luZzogbWF0LWxldHRlci1zcGFjaW5nKCRjb25maWcsICRsZXZlbCk7XG59XG5cblxuQG1peGluIG1hdC1vcHRpb24tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcblxuICAubWF0LW9wdGlvbiB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gICAgJjpmb2N1czpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICAgIH1cblxuICAgIC8vIEluIG11bHRpcGxlIG1vZGUgdGhlcmUgaXMgYSBjaGVja2JveCB0byBzaG93IHRoYXQgdGhlIG9wdGlvbiBpcyBzZWxlY3RlZC5cbiAgICAmLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgfVxuXG4gICAgJi5tYXQtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuXG4gICAgJi5tYXQtb3B0aW9uLWRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1wcmltYXJ5IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtYWNjZW50IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC13YXJuIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1vcHRpb24ge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBzdWJoZWFkaW5nLTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1vcHRpb24tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LW9wdGlvbi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtb3B0aW9uJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGlvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LW9wdGlvbi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LW9wdGdyb3VwLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtb3B0Z3JvdXAtbGFiZWwge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtb3B0Z3JvdXAtZGlzYWJsZWQgLm1hdC1vcHRncm91cC1sYWJlbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LW9wdGdyb3VwLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LW9wdGdyb3VwLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1vcHRncm91cC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtb3B0Z3JvdXAtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LW9wdGdyb3VwJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGdyb3VwLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtb3B0Z3JvdXAtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1vcHRncm91cC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbkBtaXhpbiBtYXQtcHNldWRvLWNoZWNrYm94LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLy8gTk9URSh0cmF2aXNrYXVmbWFuKTogV2hpbGUgdGhlIHNwZWMgY2FsbHMgZm9yIHRyYW5zbHVjZW50IGJsYWNrcy93aGl0ZXMgZm9yIGRpc2FibGVkIGNvbG9ycyxcbiAgLy8gdGhpcyBkb2VzIG5vdCB3b3JrIHdlbGwgd2l0aCBlbGVtZW50cyBsYXllcmVkIG9uIHRvcCBvZiBvbmUgYW5vdGhlci4gVG8gZ2V0IGFyb3VuZCB0aGlzIHdlXG4gIC8vIGJsZW5kIHRoZSBjb2xvcnMgdG9nZXRoZXIgYmFzZWQgb24gdGhlIGJhc2UgY29sb3IgYW5kIHRoZSB0aGVtZSBiYWNrZ3JvdW5kLlxuICAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrOiAjNjg2ODY4O1xuICAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodDogI2IwYjBiMDtcbiAgJGRpc2FibGVkLWNvbG9yOiBpZigkaXMtZGFyay10aGVtZSwgJHdoaXRlLTMwcGN0LW9wYWNpdHktb24tZGFyaywgJGJsYWNrLTI2cGN0LW9wYWNpdHktb24tbGlnaHQpO1xuICAkY29sb3JlZC1ib3gtc2VsZWN0b3I6ICcubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLCAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlJztcblxuICAubWF0LXBzZXVkby1jaGVja2JveCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpLCBzZWNvbmRhcnktdGV4dCk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcbiAgICB9XG4gIH1cblxuICAubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSkpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCB0byB0aGUgYWNjZW50IGNvbG9yLiBOb3RlIHRoYXQgdGhlIHBzZXVkbyBjaGVja2JveGVzIGFyZSBtZWFudCB0byBpbmhlcml0IHRoZVxuICAvLyB0aGVtZSBmcm9tIHRoZWlyIHBhcmVudCwgcmF0aGVyIHRoYW4gaW1wbGVtZW50aW5nIHRoZWlyIG93biB0aGVtaW5nLCB3aGljaCBpcyB3aHkgd2VcbiAgLy8gZG9uJ3QgYXR0YWNoIHRvIHRoZSBgbWF0LSpgIGNsYXNzZXMuIEFsc28gbm90ZSB0aGF0IHRoaXMgbmVlZHMgdG8gYmUgYmVsb3cgYC5tYXQtcHJpbWFyeWBcbiAgLy8gaW4gb3JkZXIgdG8gYWxsb3cgZm9yIHRoZSBjb2xvciB0byBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgY2hlY2tib3ggaXMgaW5zaWRlIGEgcGFyZW50IHRoYXRcbiAgLy8gaGFzIGBtYXQtYWNjZW50YCBhbmQgaXMgcGxhY2VkIGluc2lkZSBhbm90aGVyIHBhcmVudCB0aGF0IGhhcyBgbWF0LXByaW1hcnlgLlxuICAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlLFxuICAubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCBhY2NlbnQpKTtcbiAgfVxuXG4gIC5tYXQtd2FybiAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgd2FybikpO1xuICB9XG5cbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgJi5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wc2V1ZG8tY2hlY2tib3gtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1wc2V1ZG8tY2hlY2tib3gtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXBzZXVkby1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcHNldWRvLWNoZWNrYm94Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBzZXVkby1jaGVja2JveC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXBzZXVkby1jaGVja2JveC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBzZXVkby1jaGVja2JveC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFJlcHJlc2VudHMgYSB0eXBvZ3JhcGh5IGxldmVsIGZyb20gdGhlIE1hdGVyaWFsIGRlc2lnbiBzcGVjLlxuQGZ1bmN0aW9uIG1hdC10eXBvZ3JhcGh5LWxldmVsKFxuICAkZm9udC1zaXplLFxuICAkbGluZS1oZWlnaHQ6ICRmb250LXNpemUsXG4gICRmb250LXdlaWdodDogNDAwLFxuICAkZm9udC1mYW1pbHk6IG51bGwsXG4gICRsZXR0ZXItc3BhY2luZzogbm9ybWFsKSB7XG5cbiAgQHJldHVybiAoXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLFxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQsXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodCxcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LFxuICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmdcbiAgKTtcbn1cblxuLy8gUmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2YgdHlwb2dyYXBoeSBsZXZlbHMuXG4vLyBEZWZhdWx0cyBjb21lIGZyb20gaHR0cHM6Ly9tYXRlcmlhbC5pby9ndWlkZWxpbmVzL3N0eWxlL3R5cG9ncmFwaHkuaHRtbFxuLy8gTm90ZTogVGhlIHNwZWMgZG9lc24ndCBtZW50aW9uIGxldHRlciBzcGFjaW5nLiBUaGUgdmFsdWVzIGhlcmUgY29tZSBmcm9tXG4vLyBleWViYWxsaW5nIGl0IHVudGlsIGl0IGxvb2tlZCBleGFjdGx5IGxpa2UgdGhlIHNwZWMgZXhhbXBsZXMuXG5AZnVuY3Rpb24gbWF0LXR5cG9ncmFwaHktY29uZmlnKFxuICAkZm9udC1mYW1pbHk6ICAgJ1JvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmJyxcbiAgJGRpc3BsYXktNDogICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDExMnB4LCAxMTJweCwgMzAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW0pLFxuICAkZGlzcGxheS0zOiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoNTZweCwgNTZweCwgNDAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW0pLFxuICAkZGlzcGxheS0yOiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoNDVweCwgNDhweCwgNDAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjAwNWVtKSxcbiAgJGRpc3BsYXktMTogICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDM0cHgsIDQwcHgsIDQwMCksXG4gICRoZWFkbGluZTogICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgyNHB4LCAzMnB4LCA0MDApLFxuICAkdGl0bGU6ICAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMjBweCwgMzJweCwgNTAwKSxcbiAgJHN1YmhlYWRpbmctMjogIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE2cHgsIDI4cHgsIDQwMCksXG4gICRzdWJoZWFkaW5nLTE6ICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxNXB4LCAyNHB4LCA0MDApLFxuICAkYm9keS0yOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMjRweCwgNTAwKSxcbiAgJGJvZHktMTogICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE0cHgsIDIwcHgsIDQwMCksXG4gICRjYXB0aW9uOiAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxMnB4LCAyMHB4LCA0MDApLFxuICAkYnV0dG9uOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMTRweCwgNTAwKSxcbiAgLy8gTGluZS1oZWlnaHQgbXVzdCBiZSB1bml0LWxlc3MgZnJhY3Rpb24gb2YgdGhlIGZvbnQtc2l6ZS5cbiAgJGlucHV0OiAgICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKGluaGVyaXQsIDEuMTI1LCA0MDApXG4pIHtcblxuICAvLyBEZWNsYXJlIGFuIGluaXRpYWwgbWFwIHdpdGggYWxsIG9mIHRoZSBsZXZlbHMuXG4gICRjb25maWc6IChcbiAgICBkaXNwbGF5LTQ6ICAgICAgJGRpc3BsYXktNCxcbiAgICBkaXNwbGF5LTM6ICAgICAgJGRpc3BsYXktMyxcbiAgICBkaXNwbGF5LTI6ICAgICAgJGRpc3BsYXktMixcbiAgICBkaXNwbGF5LTE6ICAgICAgJGRpc3BsYXktMSxcbiAgICBoZWFkbGluZTogICAgICAgJGhlYWRsaW5lLFxuICAgIHRpdGxlOiAgICAgICAgICAkdGl0bGUsXG4gICAgc3ViaGVhZGluZy0yOiAgICRzdWJoZWFkaW5nLTIsXG4gICAgc3ViaGVhZGluZy0xOiAgICRzdWJoZWFkaW5nLTEsXG4gICAgYm9keS0yOiAgICAgICAgICRib2R5LTIsXG4gICAgYm9keS0xOiAgICAgICAgICRib2R5LTEsXG4gICAgY2FwdGlvbjogICAgICAgICRjYXB0aW9uLFxuICAgIGJ1dHRvbjogICAgICAgICAkYnV0dG9uLFxuICAgIGlucHV0OiAgICAgICAgICAkaW5wdXQsXG4gICk7XG5cbiAgLy8gTG9vcCB0aHJvdWdoIHRoZSBsZXZlbHMgYW5kIHNldCB0aGUgYGZvbnQtZmFtaWx5YCBvZiB0aGUgb25lcyB0aGF0IGRvbid0IGhhdmUgb25lIHRvIHRoZSBiYXNlLlxuICAvLyBOb3RlIHRoYXQgU2FzcyBjYW4ndCBtb2RpZnkgbWFwcyBpbiBwbGFjZSwgd2hpY2ggbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIG1lcmdlIGFuZCByZS1hc3NpZ24uXG4gIEBlYWNoICRrZXksICRsZXZlbCBpbiAkY29uZmlnIHtcbiAgICBAaWYgbWFwLWdldCgkbGV2ZWwsIGZvbnQtZmFtaWx5KSA9PSBudWxsIHtcbiAgICAgICRuZXctbGV2ZWw6IG1hcC1tZXJnZSgkbGV2ZWwsIChmb250LWZhbWlseTogJGZvbnQtZmFtaWx5KSk7XG4gICAgICAkY29uZmlnOiBtYXAtbWVyZ2UoJGNvbmZpZywgKCRrZXk6ICRuZXctbGV2ZWwpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBZGQgdGhlIGJhc2UgZm9udCBmYW1pbHkgdG8gdGhlIGNvbmZpZy5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJGNvbmZpZywgKGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHkpKTtcbn1cblxuLy8gV2hldGhlciBhIGNvbmZpZyBpcyBmb3IgdGhlIE1hdGVyaWFsIERlc2lnbiAyMDE4IHR5cG9ncmFwaHkgc3lzdGVtLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxOC1jb25maWcoJGNvbmZpZykge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtMSkgIT0gbnVsbDtcbn1cblxuLy8gV2hldGhlciBhIGNvbmZpZyBpcyBmb3IgdGhlIE1hdGVyaWFsIERlc2lnbiAyMDE0IHR5cG9ncmFwaHkgc3lzdGVtLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxNC1jb25maWcoJGNvbmZpZykge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUpICE9IG51bGw7XG59XG5cbi8vIEdpdmVuIGEgY29uZmlnIGZvciBlaXRoZXIgdGhlIDIwMTQgb3IgMjAxOCBNYXRlcmlhbCBEZXNpZ24gdHlwb2dyYXBoeSBzeXN0ZW0sXG4vLyBwcm9kdWNlcyBhIG5vcm1hbGl6ZWQgdHlwb2dyYXBoeSBjb25maWcgZm9yIHRoZSAyMDE0IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbS5cbi8vIDIwMTQgLSBodHRwczovL21hdGVyaWFsLmlvL2FyY2hpdmUvZ3VpZGVsaW5lcy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWwjdHlwb2dyYXBoeS1zdHlsZXNcbi8vIDIwMTggLSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi90eXBvZ3JhcGh5L3RoZS10eXBlLXN5c3RlbS5odG1sI3R5cGUtc2NhbGVcbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LXRvLTIwMTQtY29uZmlnKCRjb25maWcpIHtcbiAgQGlmIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxOC1jb25maWcoJGNvbmZpZykge1xuICAgIEByZXR1cm4gbWF0LXR5cG9ncmFwaHktY29uZmlnKFxuICAgICAgICAkZGlzcGxheS00OiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTEpLFxuICAgICAgICAkZGlzcGxheS0zOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTIpLFxuICAgICAgICAkZGlzcGxheS0yOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTMpLFxuICAgICAgICAkZGlzcGxheS0xOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTQpLFxuICAgICAgICAkaGVhZGxpbmU6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtNSksXG4gICAgICAgICR0aXRsZTogbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZS02KSxcbiAgICAgICAgJHN1YmhlYWRpbmctMjogbWFwLWdldCgkY29uZmlnLCBzdWJ0aXRsZS0xKSxcbiAgICAgICAgJHN1YmhlYWRpbmctMTogbWFwLWdldCgkY29uZmlnLCBzdWJ0aXRsZS0yKSxcbiAgICAgICAgJGJvZHktMjogbWFwLWdldCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgICAkYm9keS0xOiBtYXAtZ2V0KCRjb25maWcsIGJvZHktMiksXG4gICAgICAgICRidXR0b246IG1hcC1nZXQoJGNvbmZpZywgYnV0dG9uKSxcbiAgICAgICAgJGNhcHRpb246IG1hcC1nZXQoJGNvbmZpZywgY2FwdGlvbiksXG4gICAgKTtcbiAgfVxuICBAcmV0dXJuICRjb25maWc7XG59XG5cbi8vIEdpdmVuIGEgY29uZmlnIGZvciBlaXRoZXIgdGhlIDIwMTQgb3IgMjAxOCBNYXRlcmlhbCBEZXNpZ24gdHlwb2dyYXBoeSBzeXN0ZW0sXG4vLyBwcm9kdWNlcyBhIG5vcm1hbGl6ZWQgdHlwb2dyYXBoeSBjb25maWcgZm9yIHRoZSAyMDE4IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbS5cbi8vIDIwMTQgLSBodHRwczovL21hdGVyaWFsLmlvL2FyY2hpdmUvZ3VpZGVsaW5lcy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWwjdHlwb2dyYXBoeS1zdHlsZXNcbi8vIDIwMTggLSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi90eXBvZ3JhcGh5L3RoZS10eXBlLXN5c3RlbS5odG1sI3R5cGUtc2NhbGVcbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LXRvLTIwMTgtY29uZmlnKCRjb25maWcpIHtcbiAgQGlmIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxNC1jb25maWcoJGNvbmZpZykge1xuICAgIEByZXR1cm4gKFxuICAgICAgICBoZWFkbGluZS0xOiBtYXAtZ2V0KCRjb25maWcsIGRpc3BsYXktNCksXG4gICAgICAgIGhlYWRsaW5lLTI6IG1hcC1nZXQoJGNvbmZpZywgZGlzcGxheS0zKSxcbiAgICAgICAgaGVhZGxpbmUtMzogbWFwLWdldCgkY29uZmlnLCBkaXNwbGF5LTIpLFxuICAgICAgICBoZWFkbGluZS00OiBtYXAtZ2V0KCRjb25maWcsIGRpc3BsYXktMSksXG4gICAgICAgIGhlYWRsaW5lLTU6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUpLFxuICAgICAgICBoZWFkbGluZS02OiBtYXAtZ2V0KCRjb25maWcsIHRpdGxlKSxcbiAgICAgICAgc3VidGl0bGUtMTogbWFwLWdldCgkY29uZmlnLCBzdWJoZWFkaW5nLTIpLFxuICAgICAgICBzdWJ0aXRsZS0yOiBtYXAtZ2V0KCRjb25maWcsIHN1YmhlYWRpbmctMSksXG4gICAgICAgIGJvZHktMTogbWFwLWdldCgkY29uZmlnLCBib2R5LTIpLFxuICAgICAgICBib2R5LTI6IG1hcC1nZXQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgICAgYnV0dG9uOiBtYXAtZ2V0KCRjb25maWcsIGJ1dHRvbiksXG4gICAgICAgIGNhcHRpb246IG1hcC1nZXQoJGNvbmZpZywgY2FwdGlvbiksXG4gICAgKTtcbiAgfVxuICBAcmV0dXJuICRjb25maWc7XG59XG5cbi8vIEFkZHMgdGhlIGJhc2UgdHlwb2dyYXBoeSBzdHlsZXMsIGJhc2VkIG9uIGEgY29uZmlnLlxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1hdGVyaWFsL3RoZW1lLW1peGluLWFwaSAqL1xuQG1peGluIG1hdC1iYXNlLXR5cG9ncmFwaHkoJGNvbmZpZywgJHNlbGVjdG9yOiAnLm1hdC10eXBvZ3JhcGh5Jykge1xuICAubWF0LWgxLCAubWF0LWhlYWRsaW5lLCAjeyRzZWxlY3Rvcn0gaDEge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBoZWFkbGluZSk7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC5tYXQtaDIsIC5tYXQtdGl0bGUsICN7JHNlbGVjdG9yfSBoMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHRpdGxlKTtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICB9XG5cbiAgLm1hdC1oMywgLm1hdC1zdWJoZWFkaW5nLTIsICN7JHNlbGVjdG9yfSBoMyB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC5tYXQtaDQsIC5tYXQtc3ViaGVhZGluZy0xLCAjeyRzZWxlY3Rvcn0gaDQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBzdWJoZWFkaW5nLTEpO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gIH1cblxuICAvLyBOb3RlOiB0aGUgc3BlYyBkb2Vzbid0IGhhdmUgYW55dGhpbmcgdGhhdCB3b3VsZCBjb3JyZXNwb25kIHRvIGg1IGFuZCBoNiwgYnV0IHdlIGFkZCB0aGVzZSBmb3JcbiAgLy8gY29uc2lzdGVuY3kuIFRoZSBmb250IHNpemVzIGNvbWUgZnJvbSB0aGUgQ2hyb21lIHVzZXIgYWdlbnQgc3R5bGVzIHdoaWNoIGhhdmUgaDUgYXQgMC44M2VtXG4gIC8vIGFuZCBoNiBhdCAwLjY3ZW0uXG4gIC5tYXQtaDUsICN7JHNlbGVjdG9yfSBoNSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoXG4gICAgICAgLy8gY2FsYyBpcyB1c2VkIGhlcmUgdG8gc3VwcG9ydCBjc3MgdmFyaWFibGVzXG4gICAgICBjYWxjKCN7bWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpfSAqIDAuODMpLFxuICAgICAgbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgIG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpXG4gICAgKTtcblxuICAgIG1hcmdpbjogMCAwIDEycHg7XG4gIH1cblxuICAubWF0LWg2LCAjeyRzZWxlY3Rvcn0gaDYge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWZvbnQtc2hvcnRoYW5kKFxuICAgICAgIC8vIGNhbGMgaXMgdXNlZCBoZXJlIHRvIHN1cHBvcnQgY3NzIHZhcmlhYmxlc1xuICAgICAgY2FsYygje21hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKX0gKiAwLjY3KSxcbiAgICAgIG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKVxuICAgICk7XG5cbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICB9XG5cbiAgLm1hdC1ib2R5LXN0cm9uZywgLm1hdC1ib2R5LTIge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTIpO1xuICB9XG5cbiAgLm1hdC1ib2R5LCAubWF0LWJvZHktMSwgI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0xKTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICB9XG4gIH1cblxuICAubWF0LXNtYWxsLCAubWF0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBjYXB0aW9uKTtcbiAgfVxuXG4gIC5tYXQtZGlzcGxheS00LCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTQpO1xuICAgIG1hcmdpbjogMCAwIDU2cHg7XG4gIH1cblxuICAubWF0LWRpc3BsYXktMywgI3skc2VsZWN0b3J9IC5tYXQtZGlzcGxheS0zIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgZGlzcGxheS0zKTtcbiAgICBtYXJnaW46IDAgMCA2NHB4O1xuICB9XG5cbiAgLm1hdC1kaXNwbGF5LTIsICN7JHNlbGVjdG9yfSAubWF0LWRpc3BsYXktMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGRpc3BsYXktMik7XG4gICAgbWFyZ2luOiAwIDAgNjRweDtcbiAgfVxuXG4gIC5tYXQtZGlzcGxheS0xLCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTEge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTEpO1xuICAgIG1hcmdpbjogMCAwIDY0cHg7XG4gIH1cbn1cblxuXG5cblxuQG1peGluIG1hdC1hdXRvY29tcGxldGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuXG4gIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgIC8vIFNlbGVjdGVkIG9wdGlvbnMgaW4gYXV0b2NvbXBsZXRlcyBzaG91bGQgbm90IGJlIGdyYXksIGJ1dCB3ZVxuICAgIC8vIG9ubHkgd2FudCB0byBvdmVycmlkZSB0aGUgYmFja2dyb3VuZCBmb3Igc2VsZWN0ZWQgb3B0aW9ucyBpZlxuICAgIC8vIHRoZXkgYXJlICpub3QqIGluIGhvdmVyIG9yIGZvY3VzIHN0YXRlLiBUaGlzIGNoYW5nZSBoYXMgdG8gYmVcbiAgICAvLyBtYWRlIGhlcmUgYmVjYXVzZSBiYXNlIG9wdGlvbiBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZVxuICAgIC8vIGF1dG9jb21wbGV0ZSBhbmQgdGhlIHNlbGVjdC5cbiAgICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuXG4gICAgICAmOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1hdXRvY29tcGxldGUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1hdXRvY29tcGxldGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWF1dG9jb21wbGV0ZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYXV0b2NvbXBsZXRlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWF1dG9jb21wbGV0ZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhpcyBjb250YWlucyBhbGwgb2YgdGhlIHN0eWxlcyBmb3IgdGhlIGJhZGdlXG4vLyByYXRoZXIgdGhhbiBqdXN0IHRoZSBjb2xvci90aGVtZSBiZWNhdXNlIG9mXG4vLyBubyBzdHlsZSBzaGVldCBzdXBwb3J0IGZvciBkaXJlY3RpdmVzLlxuXG5cblxuXG5cbiRtYXQtYmFkZ2UtZm9udC1zaXplOiAxMnB4O1xuJG1hdC1iYWRnZS1mb250LXdlaWdodDogNjAwO1xuJG1hdC1iYWRnZS1kZWZhdWx0LXNpemU6IDIycHggIWRlZmF1bHQ7XG4kbWF0LWJhZGdlLXNtYWxsLXNpemU6ICRtYXQtYmFkZ2UtZGVmYXVsdC1zaXplIC0gNjtcbiRtYXQtYmFkZ2UtbGFyZ2Utc2l6ZTogJG1hdC1iYWRnZS1kZWZhdWx0LXNpemUgKyA2O1xuXG4vLyBNaXhpbiBmb3IgYnVpbGRpbmcgb2Zmc2V0IGdpdmVuIGRpZmZlcmVudCBzaXplc1xuQG1peGluIF9tYXQtYmFkZ2Utc2l6ZSgkc2l6ZSkge1xuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZTtcbiAgfVxuXG4gICYubWF0LWJhZGdlLWFib3ZlIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgdG9wOiAtJHNpemUgLyAyO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LWJhZGdlLWJlbG93IHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgYm90dG9tOiAtJHNpemUgLyAyO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LWJhZGdlLWJlZm9yZSB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGxlZnQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICBbZGlyPSdydGwnXSAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1hZnRlciB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgfVxuICB9XG5cbiAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1vdmVybGFwIHtcbiAgICAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgbGVmdDogLSRzaXplIC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBbZGlyPSdydGwnXSAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgcmlnaHQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYmFkZ2UtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIGRlZmF1bHQtY29udHJhc3QpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG5cbiAgICBAaW5jbHVkZSBjZGstaGlnaC1jb250cmFzdChhY3RpdmUsIG9mZikge1xuICAgICAgb3V0bGluZTogc29saWQgMXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlLWFjY2VudCB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1iYWRnZS13YXJuIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5tYXQtYmFkZ2UtaGlkZGVuIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlLWRpc2FibGVkIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgJGFwcC1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdiYWNrZ3JvdW5kJyk7XG4gICAgICAkYmFkZ2UtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtYnV0dG9uKTtcblxuICAgICAgLy8gVGhlIGRpc2FibGVkIGNvbG9yIHVzdWFsbHkgaGFzIHNvbWUga2luZCBvZiBvcGFjaXR5LCBidXQgYmVjYXVzZSB0aGUgYmFkZ2UgaXMgb3ZlcmxheWVkXG4gICAgICAvLyBvbiB0b3Agb2Ygc29tZXRoaW5nIGVsc2UsIGl0IHdvbid0IGxvb2sgZ29vZCBpZiBpdCdzIG9wYXF1ZS4gSWYgaXQgaXMgYSBjb2xvciAqdHlwZSosXG4gICAgICAvLyB3ZSBjb252ZXJ0IGl0IGludG8gYSBzb2xpZCBjb2xvciBieSB0YWtpbmcgdGhlIG9wYWNpdHkgZnJvbSB0aGUgcmdiYSB2YWx1ZSBhbmQgdXNpbmdcbiAgICAgIC8vIHRoZSB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgdG8gcHV0IGludG8gZm9yZWdyb3VuZCB3aGVuXG4gICAgICAvLyBtaXhpbmcgdGhlIGNvbG9ycyB0b2dldGhlci5cbiAgICAgIEBpZiAodHlwZS1vZigkYmFkZ2UtY29sb3IpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRhcHAtYmFja2dyb3VuZCkgPT0gY29sb3IpIHtcbiAgICAgICAgJGJhZGdlLW9wYWNpdHk6IG9wYWNpdHkoJGJhZGdlLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZDogbWl4KCRhcHAtYmFja2dyb3VuZCwgcmdiYSgkYmFkZ2UtY29sb3IsIDEpLCAoMSAtICRiYWRnZS1vcGFjaXR5KSAqIDEwMCUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLm5nLWFuaW1hdGUtZGlzYWJsZWQgLm1hdC1iYWRnZS1jb250ZW50LFxuICAubWF0LWJhZGdlLWNvbnRlbnQuX21hdC1hbmltYXRpb24tbm9vcGFibGUge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBUaGUgYWN0aXZlIGNsYXNzIGlzIGFkZGVkIGFmdGVyIHRoZSBlbGVtZW50IGlzIGFkZGVkXG4gIC8vIHNvIGl0IGNhbiBhbmltYXRlIHNjYWxlIHRvIGRlZmF1bHRcbiAgLm1hdC1iYWRnZS1jb250ZW50Lm1hdC1iYWRnZS1hY3RpdmUge1xuICAgIC8vIFNjYWxlIHRvIGBub25lYCBpbnN0ZWFkIG9mIGAxYCB0byBhdm9pZCBibHVycnkgdGV4dCBpbiBzb21lIGJyb3dzZXJzLlxuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5tYXQtYmFkZ2Utc21hbGwge1xuICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2Utc2l6ZSgkbWF0LWJhZGdlLXNtYWxsLXNpemUpO1xuICB9XG4gIC5tYXQtYmFkZ2UtbWVkaXVtIHtcbiAgICBAaW5jbHVkZSBfbWF0LWJhZGdlLXNpemUoJG1hdC1iYWRnZS1kZWZhdWx0LXNpemUpO1xuICB9XG4gIC5tYXQtYmFkZ2UtbGFyZ2Uge1xuICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2Utc2l6ZSgkbWF0LWJhZGdlLWxhcmdlLXNpemUpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtYmFkZ2UtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgZm9udC13ZWlnaHQ6ICRtYXQtYmFkZ2UtZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1iYWRnZS1zbWFsbCAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIC8vIFNldCB0aGUgZm9udCBzaXplIHRvIDc1JSBvZiB0aGUgb3JpZ2luYWwuXG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZSAqIDAuNzU7XG4gIH1cblxuICAubWF0LWJhZGdlLWxhcmdlIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZSAqIDI7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtYmFkZ2UtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWJhZGdlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1iYWRnZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1iYWRnZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWJhZGdlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYmFkZ2UtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMTYsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1ib3R0b20tc2hlZXQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYm90dG9tLXNoZWV0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWJvdHRvbS1zaGVldC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4kX21hdC1idXR0b24tcmlwcGxlLW9wYWNpdHk6IDAuMTtcblxuLy8gQXBwbGllcyBhIGZvY3VzIHN0eWxlIHRvIGFuIG1hdC1idXR0b24gZWxlbWVudCBmb3IgZWFjaCBvZiB0aGUgc3VwcG9ydGVkIHBhbGV0dGVzLlxuQG1peGluIF9tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXktY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgJi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICB9XG5cbiAgJi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgfVxuXG4gICYubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgfVxuXG4gICYubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLyBBcHBsaWVzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhIHJpcHBsZS4gSWYgdGhlIHZhbHVlIHByb3ZpZGVkIGlzIG5vdCBhIFNhc3MgY29sb3IsXG4vLyB3ZSBhc3N1bWUgdGhhdCB3ZSd2ZSBiZWVuIGdpdmVuIGEgQ1NTIHZhcmlhYmxlLiBTaW5jZSB3ZSBjYW4ndCBwZXJmb3JtIGFscGhhLWJsZW5kaW5nXG4vLyBvbiBhIENTUyB2YXJpYWJsZSwgd2UgaW5zdGVhZCBhZGQgdGhlIG9wYWNpdHkgZGlyZWN0bHkgdG8gdGhlIHJpcHBsZSBlbGVtZW50LlxuQG1peGluIF9tYXQtYnV0dG9uLXJpcHBsZS1iYWNrZ3JvdW5kKCRwYWxldHRlLCAkaHVlLCAkb3BhY2l0eSkge1xuICAkYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkaHVlLCAkb3BhY2l0eSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBAaWYgKHR5cGUtb2YoJGJhY2tncm91bmQtY29sb3IpICE9IGNvbG9yKSB7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtYnV0dG9uLXJpcHBsZS1jb2xvcigkdGhlbWUsICRodWUsICRvcGFjaXR5OiAkX21hdC1idXR0b24tcmlwcGxlLW9wYWNpdHkpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG5cbiAgJi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtYmFja2dyb3VuZCgkcHJpbWFyeSwgJGh1ZSwgJG9wYWNpdHkpO1xuICB9XG5cbiAgJi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXJpcHBsZS1iYWNrZ3JvdW5kKCRhY2NlbnQsICRodWUsICRvcGFjaXR5KTtcbiAgfVxuXG4gICYubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tcmlwcGxlLWJhY2tncm91bmQoJHdhcm4sICRodWUsICRvcGFjaXR5KTtcbiAgfVxufVxuXG4vLyBBcHBsaWVzIGEgcHJvcGVydHkgdG8gYW4gbWF0LWJ1dHRvbiBlbGVtZW50IGZvciBlYWNoIG9mIHRoZSBzdXBwb3J0ZWQgcGFsZXR0ZXMuXG5AbWl4aW4gX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJHRoZW1lLCAkcHJvcGVydHksICRodWUpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG5cbiAgJi5tYXQtcHJpbWFyeSB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHByaW1hcnksICRodWUpO1xuICB9XG4gICYubWF0LWFjY2VudCB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJGFjY2VudCwgJGh1ZSk7XG4gIH1cbiAgJi5tYXQtd2FybiB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHdhcm4sICRodWUpO1xuICB9XG5cbiAgJi5tYXQtcHJpbWFyeSwgJi5tYXQtYWNjZW50LCAmLm1hdC13YXJuLCAmLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICAgICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICAkcGFsZXR0ZTogaWYoJHByb3BlcnR5ID09ICdjb2xvcicsICRmb3JlZ3JvdW5kLCAkYmFja2dyb3VuZCk7XG4gICAgICAjeyRwcm9wZXJ0eX06IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGlzYWJsZWQtYnV0dG9uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1idXR0b24tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWJ1dHRvbiwgLm1hdC1pY29uLWJ1dHRvbiwgLm1hdC1zdHJva2VkLWJ1dHRvbiB7XG4gICAgLy8gQnV0dG9ucyB3aXRob3V0IGEgYmFja2dyb3VuZCBjb2xvciBzaG91bGQgaW5oZXJpdCB0aGUgZm9udCBjb2xvci4gVGhpcyBpcyBuZWNlc3NhcnkgdG9cbiAgICAvLyBlbnN1cmUgdGhhdCB0aGUgYnV0dG9uIGlzIHJlYWRhYmxlIG9uIGN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9ycy4gSXQncyB3cm9uZyB0byBhbHdheXMgYXNzdW1lXG4gICAgLy8gdGhhdCB0aG9zZSBidXR0b25zIGFyZSBhbHdheXMgcGxhY2VkIGluc2lkZSBvZiBjb250YWluZXJzIHdpdGggdGhlIGRlZmF1bHQgYmFja2dyb3VuZFxuICAgIC8vIGNvbG9yIG9mIHRoZSB0aGVtZSAoZS5nLiB0aGVtZWQgdG9vbGJhcnMpLlxuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2NvbG9yJywgdGV4dCk7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tZm9jdXMtb3ZlcmxheS1jb2xvcigkY29uZmlnKTtcblxuICAgIC8vIFNldHVwIHRoZSByaXBwbGUgY29sb3IgdG8gYmUgYmFzZWQgb24gdGhlIHRleHQgY29sb3IuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSByaXBwbGVzXG4gICAgLy8gYXJlIG1hdGNoaW5nIHdpdGggdGhlIGN1cnJlbnQgdGhlbWUgcGFsZXR0ZSBhbmQgYXJlIGluIGNvbnRyYXN0IHRvIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4gICAgLy8gKGUuZyBpbiB0aGVtZWQgdG9vbGJhcnMpLlxuICAgIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgb3BhY2l0eTogJF9tYXQtYnV0dG9uLXJpcHBsZS1vcGFjaXR5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuICB9XG5cbiAgLy8gTm90ZTogdGhpcyBuZWVkcyBhIGJpdCBleHRyYSBzcGVjaWZpY2l0eSwgYmVjYXVzZSB3ZSdyZSBub3QgZ3VhcmFudGVlZCB0aGUgaW5jbHVzaW9uXG4gIC8vIG9yZGVyIG9mIHRoZSB0aGVtZSBzdHlsZXMgYW5kIHRoZSBidXR0b24gcmVzZXQgbWF5IGVuZCB1cCByZXNldHRpbmcgdGhpcyBhcyB3ZWxsLlxuICAubWF0LXN0cm9rZWQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtZmxhdC1idXR0b24sIC5tYXQtcmFpc2VkLWJ1dHRvbiwgLm1hdC1mYWIsIC5tYXQtbWluaS1mYWIge1xuICAgIC8vIERlZmF1bHQgZm9udCBhbmQgYmFja2dyb3VuZCBjb2xvciB3aGVuIG5vdCB1c2luZyBhbnkgY29sb3IgcGFsZXR0ZS5cbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHJhaXNlZC1idXR0b24pO1xuXG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2NvbG9yJywgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2JhY2tncm91bmQtY29sb3InLCBkZWZhdWx0KTtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtY29sb3IoJGNvbmZpZywgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICAubWF0LXN0cm9rZWQtYnV0dG9uLCAubWF0LWZsYXQtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXJhaXNlZC1idXR0b24ge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigyLCAkY29uZmlnKTtcblxuICAgICY6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDgsICRjb25maWcpO1xuICAgIH1cblxuICAgICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mYWIsIC5tYXQtbWluaS1mYWIge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbig2LCAkY29uZmlnKTtcblxuICAgICY6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDEyLCAkY29uZmlnKTtcbiAgICB9XG5cbiAgICAmLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDAsICRjb25maWcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1idXR0b24sIC5tYXQtcmFpc2VkLWJ1dHRvbiwgLm1hdC1pY29uLWJ1dHRvbiwgLm1hdC1zdHJva2VkLWJ1dHRvbixcbiAgLm1hdC1mbGF0LWJ1dHRvbiwgLm1hdC1mYWIsIC5tYXQtbWluaS1mYWIge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJ1dHRvbik7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJ1dHRvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1idXR0b24tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYnV0dG9uJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciBoaWdoZXN0IGRlbnNpdHkgY2FuIHZhcnkgYmFzZWQgb24gdGhlIGNvbnRlbnQgdGhhdCBkZXZlbG9wZXJzXG4vLyBwcm9qZWN0IGludG8gYnV0dG9uLXRvZ2dsZSdzLiBXZSB1c2UgYSBtaW5pbXVtIG9mIGAyNHB4YCB0aG91Z2ggYmVjYXVzZSBjb21tb25seVxuLy8gaWNvbnMgb3IgdGV4dCBhcmUgZGlzcGxheWVkLiBJY29ucyBieSBkZWZhdWx0IGhhdmUgYSBzaXplIG9mIGAyNHB4YC5cbiRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1taW5pbXVtLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbiRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1tYXhpbXVtLWhlaWdodDogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZGl2aWRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcblxuICAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZSxcbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMiwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLFxuICAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcblxuICAgIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZm9jdXNlZC1idXR0b24pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuXG4gICAgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBmb2N1c2VkLWJ1dHRvbiwgMSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlICsgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4ICRkaXZpZGVyLWNvbG9yO1xuICB9XG5cbiAgW2Rpcj0ncnRsJ10gLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlICsgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAkZGl2aWRlci1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkLm1hdC1idXR0b24tdG9nZ2xlLXZlcnRpY2FsIHtcbiAgICAubWF0LWJ1dHRvbi10b2dnbGUgKyAubWF0LWJ1dHRvbi10b2dnbGUge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggJGRpdmlkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgc2VsZWN0ZWQtYnV0dG9uKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG5cbiAgICAmLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlzYWJsZWQtYnV0dG9uLXRvZ2dsZSk7XG5cbiAgICAmLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICB9XG5cbiAgICAmLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBzZWxlY3RlZC1kaXNhYmxlZC1idXR0b24pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkZGl2aWRlci1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkc3RhbmRhcmQtaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnQge1xuICAgICAgbGluZS1oZWlnaHQ6ICRzdGFuZGFyZC1oZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYnV0dG9uLXRvZ2dsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRvZ2dsZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1jYXJkLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWNhcmQge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigxLCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgLy8gTmVlZHMgZXh0cmEgc3BlY2lmaWNpdHkgdG8gYmUgYWJsZSB0byBvdmVycmlkZSB0aGUgZWxldmF0aW9uIHNlbGVjdG9ycy5cbiAgICAmLm1hdC1jYXJkLWZsYXQge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDAsICRjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FyZC1zdWJ0aXRsZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtY2FyZC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jYXJkIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1jYXJkLXRpdGxlIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGhlYWRsaW5lKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIHRpdGxlKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhcmQtaGVhZGVyIC5tYXQtY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHRpdGxlKTtcbiAgfVxuXG4gIC5tYXQtY2FyZC1zdWJ0aXRsZSxcbiAgLm1hdC1jYXJkLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNhcmQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWNhcmQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWNhcmQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2FyZC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWNhcmQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jYXJkLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtY2hlY2tib3gtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cblxuICAvLyBUaGUgY29sb3Igb2YgdGhlIGNoZWNrYm94J3MgY2hlY2ttYXJrIC8gbWl4ZWRtYXJrLlxuICAkY2hlY2tib3gtbWFyay1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcblxuICAvLyBOT1RFKHRyYXZpc2thdWZtYW4pOiBXaGlsZSB0aGUgc3BlYyBjYWxscyBmb3IgdHJhbnNsdWNlbnQgYmxhY2tzL3doaXRlcyBmb3IgZGlzYWJsZWQgY29sb3JzLFxuICAvLyB0aGlzIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGVsZW1lbnRzIGxheWVyZWQgb24gdG9wIG9mIG9uZSBhbm90aGVyLiBUbyBnZXQgYXJvdW5kIHRoaXMgd2VcbiAgLy8gYmxlbmQgdGhlIGNvbG9ycyB0b2dldGhlciBiYXNlZCBvbiB0aGUgYmFzZSBjb2xvciBhbmQgdGhlIHRoZW1lIGJhY2tncm91bmQuXG4gICR3aGl0ZS0zMHBjdC1vcGFjaXR5LW9uLWRhcms6ICM2ODY4Njg7XG4gICRibGFjay0yNnBjdC1vcGFjaXR5LW9uLWxpZ2h0OiAjYjBiMGIwO1xuICAkZGlzYWJsZWQtY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrLCAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodCk7XG5cbiAgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrIHtcbiAgICBmaWxsOiAkY2hlY2tib3gtbWFyay1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGgge1xuICAgIC8vICFpbXBvcnRhbnQgaXMgbmVlZGVkIGhlcmUgYmVjYXVzZSBhIHN0cm9rZSBtdXN0IGJlIHNldCBhcyBhblxuICAgIC8vIGF0dHJpYnV0ZSBvbiB0aGUgU1ZHIGluIG9yZGVyIGZvciBsaW5lIGFuaW1hdGlvbiB0byB3b3JrIHByb3Blcmx5LlxuICAgIHN0cm9rZTogJGNoZWNrYm94LW1hcmstY29sb3IgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hlY2tib3gtbWFyay1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSwgLm1hdC1jaGVja2JveC1jaGVja2VkIHtcbiAgICAmLm1hdC1wcmltYXJ5IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jaGVja2JveC1kaXNhYmxlZCB7XG4gICAgJi5tYXQtY2hlY2tib3gtY2hlY2tlZCxcbiAgICAmLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICAgIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LWNoZWNrYm94LWNoZWNrZWQpIHtcbiAgICAgIC5tYXQtY2hlY2tib3gtZnJhbWUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LWNoZWNrYm94LWxhYmVsIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAvLyBTd2l0Y2ggdGhpcyB0byBhIHNvbGlkIGNvbG9yIHNpbmNlIHdlJ3JlIHVzaW5nIGBvcGFjaXR5YFxuICAvLyB0byBjb250cm9sIGhvdyBvcGFxdWUgdGhlIHJpcHBsZSBzaG91bGQgYmUuXG4gIC5tYXQtY2hlY2tib3ggLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldChtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpLCBiYXNlKTtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2tlZDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCksXG4gIC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKSB7XG4gICAgJi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWNoZWNrYm94IHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLy8gVE9ETyhrYXJhKTogUmVtb3ZlIHRoaXMgc3R5bGUgd2hlbiBmaXhpbmcgdmVydGljYWwgYmFzZWxpbmVcbiAgLm1hdC1jaGVja2JveC1sYXlvdXQgLm1hdC1jaGVja2JveC1sYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNoZWNrYm94LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY2hlY2tib3gnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2hlY2tib3gtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGVja2JveC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuJG1hdC1jaGlwLXJlbW92ZS1mb250LXNpemU6IDE4cHg7XG5cbkBtaXhpbiBfbWF0LWNoaXAtZWxlbWVudC1jb2xvcigkZm9yZWdyb3VuZCwgJGJhY2tncm91bmQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkZm9yZWdyb3VuZDtcblxuICAubWF0LWNoaXAtcmVtb3ZlIHtcbiAgICBjb2xvcjogJGZvcmVncm91bmQ7XG4gICAgb3BhY2l0eTogMC40O1xuICB9XG59XG5cblxuLy8gQXBwbGllcyB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgYSByaXBwbGUgZWxlbWVudC5cbi8vIElmIHRoZSBjb2xvciB2YWx1ZSBwcm92aWRlZCBpcyBub3QgYSBTYXNzIGNvbG9yLFxuLy8gd2UgYXNzdW1lIHRoYXQgd2UndmUgYmVlbiBnaXZlbiBhIENTUyB2YXJpYWJsZS5cbi8vIFNpbmNlIHdlIGNhbid0IHBlcmZvcm0gYWxwaGEtYmxlbmRpbmcgb24gYSBDU1MgdmFyaWFibGUsXG4vLyB3ZSBpbnN0ZWFkIGFkZCB0aGUgb3BhY2l0eSBkaXJlY3RseSB0byB0aGUgcmlwcGxlIGVsZW1lbnQuXG5AbWl4aW4gX21hdC1jaGlwcy1yaXBwbGUtYmFja2dyb3VuZCgkcGFsZXR0ZSwgJGRlZmF1bHQtY29udHJhc3QsICRvcGFjaXR5KSB7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICRkZWZhdWx0LWNvbnRyYXN0LCAkb3BhY2l0eSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBAaWYgKHR5cGUtb2YoJGJhY2tncm91bmQtY29sb3IpICE9IGNvbG9yKSB7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkcGFsZXR0ZSkge1xuICBAaW5jbHVkZSBfbWF0LWNoaXAtZWxlbWVudC1jb2xvcihtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpLCBtYXQtY29sb3IoJHBhbGV0dGUpKTtcblxuICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWNoaXBzLXJpcHBsZS1iYWNrZ3JvdW5kKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjEpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtY2hpcHMtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgJHVuc2VsZWN0ZWQtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCB1bnNlbGVjdGVkLWNoaXApO1xuICAkdW5zZWxlY3RlZC1mb3JlZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcCB7XG4gICAgQGluY2x1ZGUgX21hdC1jaGlwLWVsZW1lbnQtY29sb3IoJHVuc2VsZWN0ZWQtZm9yZWdyb3VuZCwgJHVuc2VsZWN0ZWQtYmFja2dyb3VuZCk7XG5cbiAgICAmOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpIHtcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDMsICRjb25maWcpO1xuICAgICAgfVxuXG4gICAgICAubWF0LWNoaXAtcmVtb3ZlOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC41NDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hdC1jaGlwLWRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3JlZ3JvdW5kLCBiYXNlKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQge1xuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwLXRoZW1lLWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkd2Fybik7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkYWNjZW50KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1jaGlwcy10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jaGlwIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgICBmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMik7XG5cbiAgICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbixcbiAgICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogJG1hdC1jaGlwLXJlbW92ZS1mb250LXNpemU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNoaXBzLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1jaGlwcy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY2hpcHMnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2hpcHMtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwcy1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNoaXBzLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIG1hdC1kaXZpZGVyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtZGl2aWRlci12ZXJ0aWNhbCB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGl2aWRlci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LWRpdmlkZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWRpdmlkZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRpdmlkZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGl2aWRlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRpdmlkZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaXZpZGVyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtdGFibGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtdGFibGUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtdGFibGUgdGhlYWQsIC5tYXQtdGFibGUgdGJvZHksIC5tYXQtdGFibGUgdGZvb3QsXG4gIG1hdC1oZWFkZXItcm93LCBtYXQtcm93LCBtYXQtZm9vdGVyLXJvdyxcbiAgW21hdC1oZWFkZXItcm93XSwgW21hdC1yb3ddLCBbbWF0LWZvb3Rlci1yb3ddLFxuICAubWF0LXRhYmxlLXN0aWNreSB7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgfVxuXG4gIG1hdC1yb3csIG1hdC1oZWFkZXItcm93LCBtYXQtZm9vdGVyLXJvdyxcbiAgdGgubWF0LWhlYWRlci1jZWxsLCB0ZC5tYXQtY2VsbCwgdGQubWF0LWZvb3Rlci1jZWxsIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jZWxsLCAubWF0LWZvb3Rlci1jZWxsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRhYmxlLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRhYmxlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxuXG4gIC5tYXQtY2VsbCwgLm1hdC1mb290ZXItY2VsbCB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFibGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXRhYmxlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10YWJsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10YWJsZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRhYmxlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdGFibGUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbiRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC10b2RheS1ib3gtc2hhZG93LXdpZHRoOiAxcHg7XG4kbWF0LWRhdGVwaWNrZXItc2VsZWN0ZWQtZmFkZS1hbW91bnQ6IDAuNjtcbiRtYXQtZGF0ZXBpY2tlci1yYW5nZS1mYWRlLWFtb3VudDogMC4yO1xuJG1hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50OiAwLjI7XG4kbWF0LWNhbGVuZGFyLWJvZHktZm9udC1zaXplOiAxM3B4ICFkZWZhdWx0O1xuJG1hdC1jYWxlbmRhci13ZWVrZGF5LXRhYmxlLWZvbnQtc2l6ZTogMTFweCAhZGVmYXVsdDtcblxuQG1peGluIF9tYXQtZGF0ZXBpY2tlci1jb2xvcigkcGFsZXR0ZSkge1xuICBAaW5jbHVkZSBtYXQtZGF0ZS1yYW5nZS1jb2xvcnMoXG4gICAgbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LCAkbWF0LWRhdGVwaWNrZXItcmFuZ2UtZmFkZS1hbW91bnQpKTtcblxuICAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgICRiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRiYWNrZ3JvdW5kKSA9PSBjb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZS1vdXQoJGJhY2tncm91bmQsICRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC1mYWRlLWFtb3VudCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIElmIHdlIGNvdWxkbid0IHJlc29sdmUgdG8gYmFja2dyb3VuZCB0byBhIGNvbG9yIChlLmcuIGl0J3MgYSBDU1MgdmFyaWFibGUpLFxuICAgICAgLy8gZmFsbCBiYWNrIHRvIGZhZGluZyB0aGUgY29udGVudCBvdXQgdmlhIGBvcGFjaXR5YC5cbiAgICAgIG9wYWNpdHk6ICRtYXQtZGF0ZXBpY2tlci10b2RheS1mYWRlLWFtb3VudDtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC10b2RheS1ib3gtc2hhZG93LXdpZHRoXG4gICAgICAgICAgICAgICAgbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyLFxuICAuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZSxcbiAgLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZSB7XG4gICAgJiA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgMC4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVXRpbGl0eSBtaXhpbiB0byB0YXJnZXQgY2VsbHMgdGhhdCBhcmVuJ3Qgc2VsZWN0ZWQuIFVzZWQgdG8gbWFrZSBzZWxlY3RvciBlYXNpZXIgdG8gZm9sbG93LlxuQG1peGluIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAmOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRhdGVwaWNrZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG5cbiAgLm1hdC1jYWxlbmRhci1hcnJvdyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBpY29uKTtcbiAgfVxuXG4gIC8vIFRoZSBwcmV2L25leHQgYnV0dG9ucyBuZWVkIGEgYml0IG1vcmUgc3BlY2lmaWNpdHkgdG9cbiAgLy8gYXZvaWQgYmVpbmcgb3ZlcndyaXR0ZW4gYnkgdGhlIC5tYXQtaWNvbi1idXR0b24uXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUsXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24sXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBpY29uKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQsXG4gIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3Ige1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItdW5zZWxlY3RlZC1jZWxsIHtcbiAgICAgIGNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3Ige1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tcHJldmlldyB7XG4gICAgJGRpdmlkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG5cbiAgICBAaWYgdHlwZS1vZigkZGl2aWRlci1jb2xvcikgPT0gY29sb3Ige1xuICAgICAgLy8gVGhlIGRpdmlkZXIgY29sb3IgaXMgc2V0IHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgaXQnbGwgYmUgdXNlZFxuICAgICAgLy8gZm9yIGEgc29saWQgYm9yZGVyLCBidXQgYmVjYXVzZSB3ZSdyZSB1c2luZyBhIGRhc2hlZCBib3JkZXIgZm9yIHRoZVxuICAgICAgLy8gcHJldmlldyByYW5nZSwgd2UgbmVlZCB0byBidW1wIGl0cyBvcGFjaXR5IHRvIGVuc3VyZSB0aGF0IGl0J3MgdmlzaWJsZS5cbiAgICAgIGNvbG9yOiByZ2JhKCRkaXZpZGVyLWNvbG9yLCBtaW4ob3BhY2l0eSgkZGl2aWRlci1jb2xvcikgKiAyLCAxKSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGNvbG9yOiAkZGl2aWRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkge1xuICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAgICAgLy8gTm90ZTogdGhvdWdoIGl0J3Mgbm90IHRleHQsIHRoZSBib3JkZXIgaXMgYSBoaW50IGFib3V0IHRoZSBmYWN0IHRoYXQgdGhpcyBpcyB0b2RheSdzIGRhdGUsXG4gICAgICAvLyBzbyB3ZSB1c2UgdGhlIGhpbnQgY29sb3IuXG4gICAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkge1xuICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAgICAgJGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG5cbiAgICAgIEBpZiAodHlwZS1vZigkY29sb3IpID09IGNvbG9yKSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZmFkZS1vdXQoJGNvbG9yLCAkbWF0LWRhdGVwaWNrZXItdG9kYXktZmFkZS1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBJZiB0aGUgY29sb3IgZGlkbid0IHJlc29sdmUgdG8gYSBjb2xvciB2YWx1ZSwgYnV0IHNvbWV0aGluZyBsaWtlIGEgQ1NTIHZhcmlhYmxlLCB3ZSBjYW4ndFxuICAgICAgICAvLyBmYWRlIGl0IG91dCBzbyB3ZSBmYWxsIGJhY2sgdG8gcmVkdWNpbmcgdGhlIGVsZW1lbnQgb3BhY2l0eS4gTm90ZSB0aGF0IHdlIGRvbid0IHVzZSB0aGVcbiAgICAgICAgLy8gJG1hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50LCBiZWNhdXNlIGhpbnQgdGV4dCB1c3VhbGx5IGhhcyBzb21lIG9wYWNpdHkgYXBwbGllZFxuICAgICAgICAvLyB0byBpdCBhbHJlYWR5IGFuZCB3ZSBkb24ndCB3YW50IHRoZW0gdG8gc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItY29sb3IobWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KSk7XG5cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbig0LCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci1jb2xvcihtYXAtZ2V0KCRjb25maWcsIGFjY2VudCkpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgd2FybikpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50LXRvdWNoIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpLCB0ZXh0KTtcblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KSwgdGV4dCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgd2FybiksIHRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1pbm5lcltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGF0ZXBpY2tlci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jYWxlbmRhciB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keSB7XG4gICAgZm9udC1zaXplOiAkbWF0LWNhbGVuZGFyLWJvZHktZm9udC1zaXplO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsLFxuICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24ge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJ1dHRvbik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGgge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6ICRtYXQtY2FsZW5kYXItd2Vla2RheS10YWJsZS1mb250LXNpemU7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRhdGUtcmFuZ2UtY29sb3JzKFxuICAkcmFuZ2UtY29sb3IsXG4gICRjb21wYXJpc29uLWNvbG9yOiByZ2JhKCNmOWFiMDAsICRtYXQtZGF0ZXBpY2tlci1yYW5nZS1mYWRlLWFtb3VudCksXG4gICRvdmVybGFwLWNvbG9yOiAjYThkYWI1LFxuICAkb3ZlcmxhcC1zZWxlY3RlZC1jb2xvcjogZGFya2VuKCRvdmVybGFwLWNvbG9yLCAzMCUpKSB7XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRyYW5nZS1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbXBhcmlzb24tY29sb3I7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSxcbiAgW2Rpcj0ncnRsJ10gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRyYW5nZS1jb2xvciA1MCUsICRjb21wYXJpc29uLWNvbG9yIDUwJSk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmUsXG4gIFtkaXI9J3J0bCddIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJHJhbmdlLWNvbG9yIDUwJSwgJGNvbXBhcmlzb24tY29sb3IgNTAlKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZSA+IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3ZlcmxhcC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGFwLXNlbGVjdGVkLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWRhdGVwaWNrZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWRhdGVwaWNrZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRhdGVwaWNrZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGF0ZXBpY2tlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kYXRlcGlja2VyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWRpYWxvZy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMjQsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRpYWxvZy10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1kaWFsb2ctdGl0bGUge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCB0aXRsZSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtZGlhbG9nLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1kaWFsb2ctdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRpYWxvZycpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1kaWFsb2ctZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4vLyBEZWZhdWx0IG1pbmltdW0gYW5kIG1heGltdW0gaGVpZ2h0IGZvciBjb2xsYXBzZWQgcGFuZWwgaGVhZGVycy5cbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtaGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1taW5pbXVtLWhlaWdodDogMzZweCAhZGVmYXVsdDtcbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtbWF4aW11bS1oZWlnaHQ6XG4gICAgJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgbWluaW11bSBhbmQgbWF4aW11bSBoZWlnaHQgZm9yIGV4cGFuZGVkIHBhbmVsIGhlYWRlcnMuXG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtaGVpZ2h0OiA2NHB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1pbmltdW0taGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1heGltdW0taGVpZ2h0OlxuICAgICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vIERlbnNpdHkgY29uZmlndXJhdGlvbiBmb3IgdGhlIGV4cGFuc2lvbiBwYW5lbC4gQ2FwdHVyZXMgdGhlXG4vLyBoZWlnaHQgZm9yIGJvdGggZXhwYW5kZWQgYW5kIGNvbGxhcHNlZCBwYW5lbCBoZWFkZXJzLlxuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlbnNpdHktY29uZmlnOiAoXG4gIGNvbGxhcHNlZC1oZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtbWluaW11bS1oZWlnaHQsXG4gICksXG4gIGV4cGFuZGVkLWhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuLy8gTm90ZTogS2VlcCB0aGlzIGluIHN5bmMgd2l0aCB0aGUgYW5pbWF0aW9uIHRpbWluZyBmb3IgdGhlIHRvZ2dsZSBpbmRpY2F0b3Jcbi8vIGFuZCBib2R5IGV4cGFuc2lvbi4gVGhlc2UgYXJlIGFuaW1hdGVkIHVzaW5nIEFuZ3VsYXIgYW5pbWF0aW9ucy5cbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10cmFuc2l0aW9uOiAyMjVtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXG5AbWl4aW4gbWF0LXByaXZhdGUtZXhwYW5zaW9uLWZvY3VzIHtcbiAgLm1hdC1leHBhbnNpb24tcGFuZWwge1xuICAgICYgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAgICYgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQsXG4gICAgJjpub3QoLm1hdC1leHBhbmRlZCkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyIHtcbiAgICAgICY6bm90KFthcmlhLWRpc2FibGVkPSd0cnVlJ10pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMiwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtYWN0aW9uLXJvdyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWV4cGFuc2lvbi1mb2N1cyB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gIH1cblxuICAvLyBEaXNhYmxlIHRoZSBob3ZlciBvbiB0b3VjaCBkZXZpY2VzIHNpbmNlIGl0IGNhbiBhcHBlYXIgbGlrZSBpdCBpcyBzdHVjay4gV2UgY2FuJ3QgdXNlXG4gIC8vIGBAbWVkaWEgKGhvdmVyKWAgYWJvdmUsIGJlY2F1c2UgdGhlIGRlc2t0b3Agc3VwcG9ydCBicm93c2VyIHN1cHBvcnQgaXNuJ3QgZ3JlYXQuXG4gIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCk6bm90KFthcmlhLWRpc2FibGVkPSd0cnVlJ10pXG4gICAgICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uLFxuICAubWF0LWV4cGFuc2lvbi1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24pO1xuXG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxlLFxuICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIHN1YmhlYWRpbmctMSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZXhwYW5kZWQtaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAgICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGV4cGFuZGVkLWhlaWdodCk7XG4gICRjb2xsYXBzZWQtaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBjb2xsYXBzZWQtaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6ICRjb2xsYXBzZWQtaGVpZ2h0O1xuXG4gICAgICAmLm1hdC1leHBhbmRlZCB7XG4gICAgICAgIGhlaWdodDogJGV4cGFuZGVkLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWV4cGFuc2lvbi1wYW5lbCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1leHBhbnNpb24tcGFuZWwtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuLy8gVGhpcyBtaXhpbiB3aWxsIGVuc3VyZSB0aGF0IGxpbmVzIHRoYXQgb3ZlcmZsb3cgdGhlIGNvbnRhaW5lciB3aWxsIGhpZGUgdGhlIG92ZXJmbG93IGFuZFxuLy8gdHJ1bmNhdGUgbmVhdGx5IHdpdGggYW4gZWxsaXBzaXMuXG5AbWl4aW4gbWF0LXRydW5jYXRlLWxpbmUoKSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vLyBNaXhpbiB0byBwcm92aWRlIGFsbCBtYXQtbGluZSBzdHlsZXMsIGNoYW5naW5nIHNlY29uZGFyeSBmb250IHNpemUgYmFzZWQgb24gd2hldGhlciB0aGUgbGlzdFxuLy8gaXMgaW4gZGVuc2UgbW9kZS5cbkBtaXhpbiBtYXQtbGluZS1iYXNlKCRzZWNvbmRhcnktZm9udC1zaXplKSB7XG4gIC5tYXQtbGluZSB7XG4gICAgQGluY2x1ZGUgbWF0LXRydW5jYXRlLWxpbmUoKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLy8gYWxsIGxpbmVzIGJ1dCB0aGUgdG9wIGxpbmUgc2hvdWxkIGhhdmUgc21hbGxlciB0ZXh0XG4gICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICBmb250LXNpemU6ICRzZWNvbmRhcnktZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIG1peGluIG5vcm1hbGl6ZXMgZGVmYXVsdCBlbGVtZW50IHN0eWxlcywgZS5nLiBmb250IHdlaWdodCBmb3IgaGVhZGluZyB0ZXh0LlxuQG1peGluIG1hdC1ub3JtYWxpemUtdGV4dCgpIHtcbiAgJiA+ICoge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFRoaXMgbWl4aW4gcHJvdmlkZXMgYmFzZSBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIGFyb3VuZCBtYXQtbGluZSBlbGVtZW50cyBpbiBhIGxpc3QuXG5AbWl4aW4gbWF0LWxpbmUtd3JhcHBlci1iYXNlKCkge1xuICBAaW5jbHVkZSBtYXQtbm9ybWFsaXplLXRleHQoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIE11c3QgcmVtb3ZlIHdyYXBwZXIgd2hlbiBsaW5lcyBhcmUgZW1wdHkgb3IgaXQgdGFrZXMgdXAgaG9yaXpvbnRhbFxuICAvLyBzcGFjZSBhbmQgcHVzaGVzIG90aGVyIGVsZW1lbnRzIHRvIHRoZSByaWdodC5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cblxuLy8gSW5jbHVkZSB0aGlzIGVtcHR5IG1peGluIGZvciBjb25zaXN0ZW5jeSB3aXRoIHRoZSBvdGhlciBjb21wb25lbnRzLlxuQG1peGluIG1hdC1ncmlkLWxpc3QtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1ncmlkLWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtZ3JpZC10aWxlLWhlYWRlcixcbiAgLm1hdC1ncmlkLXRpbGUtZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbikpO1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWdyaWQtbGlzdC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZ3JpZC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1ncmlkLWxpc3QnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZ3JpZC1saXN0LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuQG1peGluIG1hdC1pY29uLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1pY29uIHtcbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtaWNvbi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LWljb24tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWljb24tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWljb24nKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtaWNvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWljb24tZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1pY29uLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuLy8gUmVuZGVycyBhIGdyYWRpZW50IGZvciBzaG93aW5nIHRoZSBkYXNoZWQgbGluZSB3aGVuIHRoZSBpbnB1dCBpcyBkaXNhYmxlZC5cbi8vIFVubGlrZSB1c2luZyBhIGJvcmRlciwgYSBncmFkaWVudCBhbGxvd3MgdXMgdG8gYWRqdXN0IHRoZSBzcGFjaW5nIG9mIHRoZSBkb3R0ZWQgbGluZVxuLy8gdG8gbWF0Y2ggdGhlIE1hdGVyaWFsIERlc2lnbiBzcGVjLlxuQG1peGluIG1hdC1wcml2YXRlLWNvbnRyb2wtZGlzYWJsZWQtdW5kZXJsaW5lKCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjb2xvciAwJSwgJGNvbG9yIDMzJSwgdHJhbnNwYXJlbnQgMCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDRweCAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIEZpZ3VyZXMgb3V0IHRoZSBjb2xvciBvZiB0aGUgcGxhY2Vob2xkZXIgZm9yIGEgZm9ybSBjb250cm9sLlxuLy8gVXNlZCBwcmltYXJpbHkgdG8gcHJldmVudCB0aGUgdmFyaW91cyBmb3JtIGNvbnRyb2xzIGZyb21cbi8vIGJlY29taW5nIG91dCBvZiBzeW5jIHNpbmNlIHRoZXNlIGNvbG9ycyBhcmVuJ3QgaW4gYSBwYWxldHRlLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWNvbnRyb2wtcGxhY2Vob2xkZXItY29sb3IoJGNvbmZpZykge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gIEByZXR1cm4gbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNSwgMC40MikpO1xufVxuXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIG1hdGVyaWFsL25vLXByZWZpeGVzICovXG5AbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlKSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbiAgLW1vei11c2VyLXNlbGVjdDogJHZhbHVlO1xuICAtbXMtdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbiAgdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbn1cblxuQG1peGluIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gY3Vyc29yLWdyYWIge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiO1xufVxuXG5AbWl4aW4gY3Vyc29yLWdyYWJiaW5nIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmFsdWUpIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmFsdWU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2YWx1ZTtcbn1cblxuQG1peGluIHBvc2l0aW9uLXN0aWNreSgkaW1wb3J0YW50OiBmYWxzZSkge1xuICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kgI3tpZigkaW1wb3J0YW50LCAnIWltcG9ydGFudCcsICcnKX07XG4gIHBvc2l0aW9uOiBzdGlja3kgI3tpZigkaW1wb3J0YW50LCAnIWltcG9ydGFudCcsICcnKX07XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cblxuXG5AbWl4aW4gbWF0LWlucHV0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWlucHV0LWVsZW1lbnQ6ZGlzYWJsZWQsXG4gIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG5cbiAgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcblxuICAgIEBpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiBtYXQtcHJpdmF0ZS1jb250cm9sLXBsYWNlaG9sZGVyLWNvbG9yKCRjb25maWcpO1xuICAgIH1cblxuICAgIC8vIE9uIGRhcmsgdGhlbWVzIHdlIHNldCB0aGUgbmF0aXZlIGBzZWxlY3RgIGNvbG9yIHRvIHNvbWUgc2hhZGUgb2Ygd2hpdGUsXG4gICAgLy8gaG93ZXZlciB0aGUgY29sb3IgcHJvcGFnYXRlcyB0byBhbGwgb2YgdGhlIGBvcHRpb25gIGVsZW1lbnRzLCB3aGljaCBhcmVcbiAgICAvLyBhbHdheXMgb24gYSB3aGl0ZSBiYWNrZ3JvdW5kIGluc2lkZSB0aGUgZHJvcGRvd24sIGNhdXNpbmcgdGhlbSB0byBibGVuZCBpbi5cbiAgICAvLyBTaW5jZSB3ZSBjYW4ndCBjaGFuZ2UgYmFja2dyb3VuZCBvZiB0aGUgZHJvcGRvd24sIHdlIG5lZWQgdG8gZXhwbGljaXRseVxuICAgIC8vIHJlc2V0IHRoZSBjb2xvciBvZiB0aGUgb3B0aW9ucyB0byBzb21ldGhpbmcgZGFyay5cbiAgICBAaWYgKG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyaykpIHtcbiAgICAgIG9wdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkZGFyay1wcmltYXJ5LXRleHQ7XG4gICAgICB9XG5cbiAgICAgIG9wdGlvbjpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkZGFyay1kaXNhYmxlZC10ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtYWNjZW50IC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgY2FyZXQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtd2FybiAubWF0LWlucHV0LWVsZW1lbnQsXG4gIC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgY2FyZXQtY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtaW5wdXQtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcblxuICAvLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gdGhlIHRvcCBvZiB0aGUgbGluZSBhbmQgdGhlIHRvcCBvZiB0aGUgYWN0dWFsIHRleHRcbiAgLy8gKGFzIGEgZnJhY3Rpb24gb2YgdGhlIGZvbnQtc2l6ZSkuXG4gICRsaW5lLXNwYWNpbmc6ICgkbGluZS1oZWlnaHQgLSAxKSAvIDI7XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50cyBzZWVtIHRvIGhhdmUgdGhlaXIgaGVpZ2h0IHNldCBzbGlnaHRseSB0b28gbGFyZ2Ugb24gU2FmYXJpIGNhdXNpbmcgdGhlIHRleHQgdG9cbiAgLy8gYmUgbWlzYWxpZ25lZCB3LnIudC4gdGhlIHBsYWNlaG9sZGVyLiBBZGRpbmcgdGhpcyBtYXJnaW4gY29ycmVjdHMgaXQuXG4gIGlucHV0Lm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBtYXJnaW4tdG9wOiAtJGxpbmUtc3BhY2luZyAqIDFlbTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1pbnB1dC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtaW5wdXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWlucHV0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWlucHV0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtaW5wdXQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1pbnB1dC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1saXN0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWxpc3QtYmFzZSB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN1YmhlYWRlciB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1saXN0LWl0ZW0tZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlzYWJsZWQtbGlzdC1vcHRpb24pO1xuICB9XG5cbiAgLm1hdC1saXN0LW9wdGlvbixcbiAgLm1hdC1uYXYtbGlzdCAubWF0LWxpc3QtaXRlbSxcbiAgLm1hdC1hY3Rpb24tbGlzdCAubWF0LWxpc3QtaXRlbSB7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdob3ZlcicpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIsIDAuMTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuXG4gIC5tYXQtbGlzdC1pdGVtIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB9XG5cbiAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgbGlzdFxuICAubWF0LWxpc3QtYmFzZSB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKSk7XG4gICAgfVxuXG4gICAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpKTtcbiAgICB9XG5cbiAgICAubWF0LXN1YmhlYWRlciB7XG4gICAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJvZHktMik7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9XG4gIH1cblxuICAvLyBEZW5zZSBsaXN0XG4gIC5tYXQtbGlzdC1iYXNlW2RlbnNlXSB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pKTtcbiAgICB9XG5cbiAgICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKSk7XG4gICAgfVxuXG4gICAgLm1hdC1zdWJoZWFkZXIge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtbGlzdC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtbGlzdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtbGlzdCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1saXN0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtbGlzdC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWxpc3QtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtbWVudS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1tZW51LXBhbmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnY2FyZCcpO1xuICB9XG5cbiAgLm1hdC1tZW51LWl0ZW0ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsICd0ZXh0Jyk7XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAmLFxuICAgICAgJjo6YWZ0ZXIsXG4gICAgICAubWF0LWljb24tbm8tY29sb3Ige1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnZGlzYWJsZWQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LW1lbnUtaXRlbSAubWF0LWljb24tbm8tY29sb3IsXG4gIC5tYXQtbWVudS1pdGVtLXN1Ym1lbnUtdHJpZ2dlcjo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsICdpY29uJyk7XG4gIH1cblxuICAubWF0LW1lbnUtaXRlbTpob3ZlcixcbiAgLm1hdC1tZW51LWl0ZW0uY2RrLXByb2dyYW0tZm9jdXNlZCxcbiAgLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gIC5tYXQtbWVudS1pdGVtLWhpZ2hsaWdodGVkIHtcbiAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdob3ZlcicpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LW1lbnUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtbWVudS1pdGVtIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0xKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtbWVudS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtbWVudS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtbWVudScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1tZW51LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtbWVudS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW1lbnUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4kbWF0LXBhZ2luYXRvci1oZWlnaHQ6IDU2cHggIWRlZmF1bHQ7XG4vLyBNaW5pbXVtIGhlaWdodCBmb3IgcGFnaW5hdG9yJ3MgaW4gdGhlIGhpZ2hlc3QgZGVuc2l0eSBpcyBkZXRlcm1pbmVkIGJhc2VkIG9uIGhvd1xuLy8gbXVjaCB0aGUgcGFnaW5hdG9yIGNhbiBzaHJpbmsgdW50aWwgdGhlIGNvbnRlbnQgZXhjZWVkcyAoaS5lLiBuYXZpZ2F0aW9uIGJ1dHRvbnMpLlxuJG1hdC1wYWdpbmF0b3ItbWluaW11bS1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kbWF0LXBhZ2luYXRvci1tYXhpbXVtLWhlaWdodDogJG1hdC1wYWdpbmF0b3ItaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbWF0LXBhZ2luYXRvci1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXBhZ2luYXRvci1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1wYWdpbmF0b3ItbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1wYWdpbmF0b3ItbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIG1hdC1wYWdpbmF0b3ItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuXG4gIC5tYXQtcGFnaW5hdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gIH1cblxuICAubWF0LXBhZ2luYXRvcixcbiAgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCxcbiAgLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnaWNvbicpO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2ljb24nKTtcbiAgfVxuXG4gIC5tYXQtcGFnaW5hdG9yLWZpcnN0LFxuICAubWF0LXBhZ2luYXRvci1sYXN0IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnaWNvbicpO1xuICB9XG5cbiAgLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCxcbiAgICAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnQsXG4gICAgLm1hdC1wYWdpbmF0b3ItZmlyc3QsXG4gICAgLm1hdC1wYWdpbmF0b3ItbGFzdCB7XG4gICAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2Rpc2FibGVkJyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcGFnaW5hdG9yLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXBhZ2luYXRvcixcbiAgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wYWdpbmF0b3ItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoJG1hdC1wYWdpbmF0b3ItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1wYWdpbmF0b3ItY29udGFpbmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcGFnaW5hdG9yLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1wYWdpbmF0b3InKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3MtYmFyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICAgIGZpbGw6IG1hdC1jb2xvcigkcHJpbWFyeSwgbGlnaHRlcik7XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci1idWZmZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgbGlnaHRlcik7XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC1hY2NlbnQge1xuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICAgICAgZmlsbDogbWF0LWNvbG9yKCRhY2NlbnQsIGxpZ2h0ZXIpO1xuICAgIH1cblxuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC13YXJuIHtcbiAgICAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5kIHtcbiAgICAgIGZpbGw6IG1hdC1jb2xvcigkd2FybiwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2FybiwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wcm9ncmVzcy1iYXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1wcm9ncmVzcy1iYXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLWJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcHJvZ3Jlc3MtYmFyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXByb2dyZXNzLWJhci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLXNwaW5uZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgLm1hdC1wcm9ncmVzcy1zcGlubmVyLCAubWF0LXNwaW5uZXIge1xuICAgIGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXByb2dyZXNzLXNwaW5uZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLXNwaW5uZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXByb2dyZXNzLXNwaW5uZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXByb2dyZXNzLXNwaW5uZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1zcGlubmVyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBfbWF0LXJhZGlvLWNvbG9yKCRwYWxldHRlKSB7XG4gICYubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgfVxuXG4gIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLFxuICAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSxcbiAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLFxuICAmOmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtcmFkaW8tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtcmFkaW8tYnV0dG9uIHtcbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcmFkaW8tY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXJhZGlvLWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1yYWRpby1jb2xvcigkd2Fybik7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBuZWVkcyBleHRyYSBzcGVjaWZpY2l0eSwgYmVjYXVzZSB0aGUgY2xhc3NlcyBhYm92ZSBhcmUgY29tYmluZWRcbiAgICAvLyAoZS5nLiBgLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudGApIHdoaWNoIGluY3JlYXNlcyB0aGVpciBzcGVjaWZpY2l0eSBhIGxvdC5cbiAgICAvLyBUT0RPOiBjb25zaWRlciBtYWtpbmcgdGhlIHNlbGVjdG9ycyBpbnRvIGRlc2NlbmRhbnRzIChgLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8tYnV0dG9uYCkuXG4gICAgJi5tYXQtcmFkaW8tZGlzYWJsZWQge1xuICAgICAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICAgIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudCxcbiAgICAgIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZCk7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudCB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTd2l0Y2ggdGhpcyB0byBhIHNvbGlkIGNvbG9yIHNpbmNlIHdlJ3JlIHVzaW5nIGBvcGFjaXR5YFxuICAgIC8vIHRvIGNvbnRyb2wgaG93IG9wYXF1ZSB0aGUgcmlwcGxlIHNob3VsZCBiZS5cbiAgICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXJhZGlvLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXJhZGlvLWJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1yYWRpby1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtcmFkaW8tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXJhZGlvJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXJhZGlvLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcmFkaW8tZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1yYWRpby10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LXNlbGVjdC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtc2VsZWN0LXZhbHVlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogbWF0LXByaXZhdGUtY29udHJvbC1wbGFjZWhvbGRlci1jb2xvcigkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LXZhbHVlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LXNlbGVjdC1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG5cbiAgICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyLCAwLjEyKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQge1xuICAgICYubWF0LWZvY3VzZWQge1xuICAgICAgJi5tYXQtcHJpbWFyeSAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICAgICAgfVxuXG4gICAgICAmLm1hdC1hY2NlbnQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICAgICAgfVxuXG4gICAgICAmLm1hdC13YXJuIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1pbnZhbGlkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICAgIH1cblxuICAgIC5tYXQtc2VsZWN0Lm1hdC1zZWxlY3QtZGlzYWJsZWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2VsZWN0LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG5cbiAgLm1hdC1zZWxlY3Qge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgICBoZWlnaHQ6ICRsaW5lLWhlaWdodCAqIDFlbTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zZWxlY3QtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNlbGVjdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2VsZWN0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNlbGVjdC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNlbGVjdC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNlbGVjdC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LXNpZGVuYXYtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAkZHJhd2VyLWJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgJGRyYXdlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcjogIG1hdC1jb2xvcigkYmFja2dyb3VuZCwgYmFja2dyb3VuZCk7XG4gICRkcmF3ZXItcHVzaC1iYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGRpYWxvZyk7XG4gICRkcmF3ZXItc2lkZS1ib3JkZXI6IHNvbGlkIDFweCBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuXG4gIC5tYXQtZHJhd2VyLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyYXdlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZHJhd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJhd2VyLWJhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmLm1hdC1kcmF3ZXItcHVzaCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJhd2VyLXB1c2gtYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LWRyYXdlci1zaWRlKSB7XG4gICAgICAvLyBUaGUgZWxldmF0aW9uIG9mIHotMTYgaXMgbm90ZWQgaW4gdGhlIGRlc2lnbiBzcGVjaWZpY2F0aW9ucy5cbiAgICAgIC8vIFNlZSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb21wb25lbnRzL25hdmlnYXRpb24tZHJhd2VyLmh0bWxcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigxNiwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1kcmF3ZXItc2lkZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAkZHJhd2VyLXNpZGUtYm9yZGVyO1xuXG4gICAgJi5tYXQtZHJhd2VyLWVuZCB7XG4gICAgICBib3JkZXItbGVmdDogJGRyYXdlci1zaWRlLWJvcmRlcjtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB9XG4gIH1cblxuICBbZGlyPSdydGwnXSAubWF0LWRyYXdlci1zaWRlIHtcbiAgICBib3JkZXItbGVmdDogJGRyYXdlci1zaWRlLWJvcmRlcjtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAmLm1hdC1kcmF3ZXItZW5kIHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkZHJhd2VyLXNpZGUtYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZHJhd2VyLWJhY2tkcm9wLm1hdC1kcmF3ZXItc2hvd24ge1xuICAgICRvcGFjaXR5OiAwLjY7XG4gICAgJGJhY2tkcm9wLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQsICRvcGFjaXR5KTtcblxuICAgIEBpZiAodHlwZS1vZigkYmFja2Ryb3AtY29sb3IpID09IGNvbG9yKSB7XG4gICAgICAvLyBXZSB1c2UgaW52ZXJ0KCkgaGVyZSB0byBoYXZlIHRoZSBkYXJrZW4gdGhlIGJhY2tncm91bmQgY29sb3IgZXhwZWN0ZWQgdG8gYmUgdXNlZC4gSWYgdGhlXG4gICAgICAvLyBiYWNrZ3JvdW5kIGlzIGxpZ2h0LCB3ZSB1c2UgYSBkYXJrIGJhY2tkcm9wLiBJZiB0aGUgYmFja2dyb3VuZCBpcyBkYXJrLFxuICAgICAgLy8gd2UgdXNlIGEgbGlnaHQgYmFja2Ryb3AuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbnZlcnQoJGJhY2tkcm9wLWNvbG9yKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gSWYgd2UgY291bGRuJ3QgcmVzb2x2ZSB0aGUgYmFja2Ryb3AgY29sb3IgdG8gYSBjb2xvciB2YWx1ZSwgZmFsbCBiYWNrIHRvIHVzaW5nXG4gICAgICAvLyBgb3BhY2l0eWAgdG8gbWFrZSBpdCBvcGFxdWUgc2luY2UgaXRzIGVuZCB2YWx1ZSBjb3VsZCBiZSBhIHNvbGlkIGNvbG9yLlxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tkcm9wLWNvbG9yO1xuICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2lkZW5hdi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXNpZGVuYXYtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNpZGVuYXYtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNpZGVuYXYnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2lkZW5hdi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNpZGVuYXYtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zaWRlbmF2LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSkge1xuICAmLm1hdC1jaGVja2VkIHtcbiAgICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgfVxuXG4gICAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgICAgIC8vIE9wYWNpdHkgaXMgZGV0ZXJtaW5lZCBmcm9tIHRoZSBzcGVjcyBmb3IgdGhlIHNlbGVjdGlvbiBjb250cm9scy5cbiAgICAgIC8vIFNlZTogaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29tcG9uZW50cy9zZWxlY3Rpb24tY29udHJvbHMuaHRtbCNzcGVjc1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkdGh1bWItY2hlY2tlZC1odWUsIDAuNTQpO1xuICAgIH1cblxuICAgIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgLy8gU2V0IG5vIG9wYWNpdHkgZm9yIHRoZSByaXBwbGVzIGJlY2F1c2UgdGhlIHJpcHBsZSBvcGFjaXR5IHdpbGwgYmUgYWRqdXN0ZWQgZHluYW1pY2FsbHlcbiAgICAgIC8vIGJhc2VkIG9uIHRoZSB0eXBlIG9mIGludGVyYWN0aW9uIHdpdGggdGhlIHNsaWRlLXRvZ2dsZSAoZS5nLiBmb3IgaG92ZXIsIGZvY3VzKVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkdGh1bWItY2hlY2tlZC1odWUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaXMtZGFyazogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAvLyBDb2xvciBodWVzIGFyZSBiYXNlZCBvbiB0aGUgc3BlY3Mgd2hpY2ggYnJpZWZseSBzaG93IHRoZSBodWVzIHRoYXQgYXJlIGFwcGxpZWQgdG8gYSBzd2l0Y2guXG4gIC8vIFRoZSAyMDE4IHNwZWNzIG5vIGxvbmdlciBkZXNjcmliZSBob3cgZGFyayBzd2l0Y2hlcyBzaG91bGQgbG9vayBsaWtlLiBEdWUgdG8gdGhlIGxhY2sgb2ZcbiAgLy8gaW5mb3JtYXRpb24gZm9yIGRhcmsgdGhlbWVkIHN3aXRjaGVzLCB3ZSBwYXJ0aWFsbHkga2VlcCB0aGUgb2xkIGJlaGF2aW9yIHRoYXQgaXMgYmFzZWQgb25cbiAgLy8gdGhlIHByZXZpb3VzIHNwZWNpZmljYXRpb25zLiBGb3IgdGhlIGNoZWNrZWQgY29sb3Igd2UgYWx3YXlzIHVzZSB0aGUgYGRlZmF1bHRgIGh1ZSBiZWNhdXNlXG4gIC8vIHRoYXQgZm9sbG93cyBNREMgYW5kIGFsc28gbWFrZXMgaXQgZWFzaWVyIGZvciBwZW9wbGUgdG8gY3JlYXRlIGEgY3VzdG9tIHRoZW1lIHdpdGhvdXQgbmVlZGluZ1xuICAvLyB0byBzcGVjaWZ5IGVhY2ggaHVlIGluZGl2aWR1YWxseS5cbiAgJHRodW1iLXVuY2hlY2tlZC1odWU6IGlmKCRpcy1kYXJrLCA0MDAsIDUwKTtcbiAgJHRodW1iLWNoZWNrZWQtaHVlOiBkZWZhdWx0O1xuXG4gICRiYXItdW5jaGVja2VkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgJHJpcHBsZS11bmNoZWNrZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSk7XG5cbiAgLm1hdC1zbGlkZS10b2dnbGUge1xuICAgIEBpbmNsdWRlIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJGFjY2VudCwgJHRodW1iLWNoZWNrZWQtaHVlKTtcblxuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgX21hdC1zbGlkZS10b2dnbGUtY2hlY2tlZCgkcHJpbWFyeSwgJHRodW1iLWNoZWNrZWQtaHVlKTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJHdhcm4sICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgfVxuXG4gICAgJjpub3QoLm1hdC1jaGVja2VkKSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIC8vIFNldCBubyBvcGFjaXR5IGZvciB0aGUgcmlwcGxlcyBiZWNhdXNlIHRoZSByaXBwbGUgb3BhY2l0eSB3aWxsIGJlIGFkanVzdGVkIGR5bmFtaWNhbGx5XG4gICAgICAvLyBiYXNlZCBvbiB0aGUgdHlwZSBvZiBpbnRlcmFjdGlvbiB3aXRoIHRoZSBzbGlkZS10b2dnbGUgKGUuZy4gZm9yIGhvdmVyLCBmb2N1cylcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyaXBwbGUtdW5jaGVja2VkLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMSwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRtYXQtZ3JleSwgJHRodW1iLXVuY2hlY2tlZC1odWUpO1xuICB9XG5cbiAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFyLXVuY2hlY2tlZC1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1zbGlkZS10b2dnbGUtY29udGVudCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbGlkZS10b2dnbGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2xpZGUtdG9nZ2xlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlLXRvZ2dsZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRwYWxldHRlKSB7XG4gIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsXG4gIC5tYXQtc2xpZGVyLXRodW1iLFxuICAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgfVxuXG4gIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpO1xuICB9XG5cbiAgLm1hdC1zbGlkZXItZm9jdXMtcmluZyB7XG4gICAgJG9wYWNpdHk6IDAuMjtcbiAgICAkY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdCwgJG9wYWNpdHkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAgIC8vIGBtYXQtY29sb3JgIHVzZXMgYHJnYmFgIGZvciB0aGUgb3BhY2l0eSB3aGljaCB3b24ndCB3b3JrIHdpdGhcbiAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgIEBpZiAodHlwZS1vZigkY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zbGlkZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAkbWF0LXNsaWRlci1vZmYtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZik7XG4gICRtYXQtc2xpZGVyLW9mZi1mb2N1c2VkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1vZmYtYWN0aXZlKTtcbiAgJG1hdC1zbGlkZXItZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZik7XG4gICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1taW4pO1xuICAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1sYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzbGlkZXItb2ZmKTtcbiAgJG1hdC1zbGlkZXItdGljay1vcGFjaXR5OiAwLjc7XG4gICRtYXQtc2xpZGVyLXRpY2stY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgJG1hdC1zbGlkZXItdGljay1vcGFjaXR5KTtcbiAgJG1hdC1zbGlkZXItdGljay1zaXplOiAycHg7XG5cbiAgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRwcmltYXJ5KTtcbiAgfVxuXG4gIC5tYXQtYWNjZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRhY2NlbnQpO1xuICB9XG5cbiAgLm1hdC13YXJuIHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCR3YXJuKTtcbiAgfVxuXG4gIC5tYXQtc2xpZGVyOmhvdmVyLFxuICAuY2RrLWZvY3VzZWQge1xuICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWZvY3VzZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItZGlzYWJsZWQge1xuICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsXG4gICAgLm1hdC1zbGlkZXItdHJhY2stZmlsbCxcbiAgICAubWF0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1taW4tdmFsdWUge1xuICAgIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcge1xuICAgICAgJG9wYWNpdHk6IDAuMTI7XG4gICAgICAkY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgJG9wYWNpdHkpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgICAgQGlmICh0eXBlLW9mKCRjb2xvcikgIT0gY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcge1xuICAgICAgLm1hdC1zbGlkZXItdGh1bWIsXG4gICAgICAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmNkay1mb2N1c2VkIHtcbiAgICAgICAgLm1hdC1zbGlkZXItdGh1bWIsXG4gICAgICAgIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1sYWJlbC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpIHtcbiAgICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWF0LXNsaWRlci1vZmYtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5jZGstZm9jdXNlZCB7XG4gICAgICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLW9mZi1mb2N1c2VkLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLXRpY2stY29sb3I7XG5cbiAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgLy8gQ1NTIHZhcmlhYmxlcyBzbyB3ZSBuZWVkIHRvIHVzZSBgb3BhY2l0eWAgYXMgYSBmYWxsYmFjay5cbiAgICBAaWYgKHR5cGUtb2YoJG1hdC1zbGlkZXItdGljay1jb2xvcikgIT0gY29sb3IpIHtcbiAgICAgIG9wYWNpdHk6ICRtYXQtc2xpZGVyLXRpY2stb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuICAgIC8vIEZpcmVmb3ggZG9lc24ndCBkcmF3IHRoZSBncmFkaWVudCBjb3JyZWN0bHkgd2l0aCAndG8gcmlnaHQnXG4gICAgLy8gKHNlZSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE0MzE5KS5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMC4wMDAxZGVnLCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgQGlmICh0eXBlLW9mKCRtYXQtc2xpZGVyLXRpY2stY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgQGlmICh0eXBlLW9mKCRtYXQtc2xpZGVyLXRpY2stY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2xpZGVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0IHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbGlkZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNsaWRlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2xpZGVyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4kbWF0LXN0ZXBwZXItaGVhZGVyLWhlaWdodDogNzJweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciBoaWdoZXN0IGRlbnNpdHkgc3RlcHBlcidzIGlzIGRldGVybWluZWQgYmFzZWQgb24gaG93IG11Y2hcbi8vIHN0ZXBwZXIgaGVhZGVycyBjYW4gc2hyaW5rIHVudGlsIHRoZSBzdGVwIGljb24gb3Igc3RlcCBsYWJlbCBleGNlZWQuIFdlIGNhbid0IHVzZVxuLy8gYSB2YWx1ZSBiZWxvdyBgNDJweGAgYmVjYXVzZSB0aGUgb3B0aW9uYWwgbGFiZWwgZm9yIHN0ZXBzIHdvdWxkIG90aGVyd2lzZSBleGNlZWQuXG4kbWF0LXN0ZXBwZXItaGVhZGVyLW1pbmltdW0taGVpZ2h0OiA0MnB4ICFkZWZhdWx0O1xuJG1hdC1zdGVwcGVyLWhlYWRlci1tYXhpbXVtLWhlaWdodDogJG1hdC1zdGVwcGVyLWhlYWRlci1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtc3RlcHBlci1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXN0ZXBwZXItaGVhZGVyLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LXN0ZXBwZXItaGVhZGVyLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtc3RlcHBlci1oZWFkZXItbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGRlbm90ZWQgd2l0aCBgIWRlZmF1bHRgIGJlY2F1c2UgdGhleSBhcmUgdXNlZCBpbiB0aGUgbm9uLXRoZW1lXG4vLyBjb21wb25lbnQgc3R5bGVzLiBNb2RpZnlpbmcgdGhlc2UgdmFyaWFibGVzIGRvZXMgbm90IGhhdmUgdGhlIGRlc2lyZWQgZWZmZWN0IGZvciBjb25zdW1lcnMuXG4kbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodDogMjRweDtcbiRtYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20tdG9wLWdhcDogMTZweDtcbiRtYXQtc3RlcHBlci1sYWJlbC1taW4td2lkdGg6IDUwcHg7XG5cbiRtYXQtdmVydGljYWwtc3RlcHBlci1jb250ZW50LW1hcmdpbjogMzZweDtcblxuJG1hdC1zdGVwcGVyLXNpZGUtZ2FwOiAyNHB4O1xuJG1hdC1zdGVwcGVyLWxpbmUtd2lkdGg6IDFweDtcbiRtYXQtc3RlcHBlci1saW5lLWdhcDogOHB4O1xuXG4kbWF0LXN0ZXAtc3ViLWxhYmVsLWZvbnQtc2l6ZTogMTJweDtcbiRtYXQtc3RlcC1oZWFkZXItaWNvbi1zaXplOiAxNnB4O1xuXG5cbkBtaXhpbiBtYXQtc3RlcHBlci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtc3RlcC1oZWFkZXIge1xuICAgICYuY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gICAgJi5jZGstcHJvZ3JhbS1mb2N1c2VkLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgfVxuXG4gICAgLy8gT24gdG91Y2ggZGV2aWNlcyB0aGUgOmhvdmVyIHN0YXRlIHdpbGwgbGluZ2VyIG9uIHRoZSBlbGVtZW50IGFmdGVyIGEgdGFwLlxuICAgIC8vIFJlc2V0IGl0IHZpYSBgQG1lZGlhYCBhZnRlciB0aGUgZGVjbGFyYXRpb24sIGJlY2F1c2UgdGhlIG1lZGlhIHF1ZXJ5IGlzbid0XG4gICAgLy8gc3VwcG9ydGVkIGJ5IGFsbCBicm93c2VycyB5ZXQuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWxhYmVsLFxuICAgIC5tYXQtc3RlcC1vcHRpb25hbCB7XG4gICAgICAvLyBUT0RPKGpvc2VwaHBlcnJvdHQpOiBVcGRhdGUgdG8gdXNpbmcgYSBjb3JyZWN0ZWQgZGlzYWJsZWQtdGV4dCBjb250cmFzdFxuICAgICAgLy8gaW5zdGVhZCBvZiBzZWNvbmRhcnktdGV4dC5cbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtaWNvbiB7XG4gICAgICAvLyBUT0RPKGpvc2VwaHBlcnJvdHQpOiBVcGRhdGUgdG8gdXNpbmcgYSBjb3JyZWN0ZWQgZGlzYWJsZWQtdGV4dCBjb250cmFzdFxuICAgICAgLy8gaW5zdGVhZCBvZiBzZWNvbmRhcnktdGV4dC5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsXG4gICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZG9uZSxcbiAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgLm1hdC1zdGVwLWljb24ge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCxcbiAgICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgLm1hdC1zdGVwLWljb24ge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLFxuICAgICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVycm9yIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtbGFiZWwubWF0LXN0ZXAtbGFiZWwtZXJyb3Ige1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zdGVwcGVyLWhvcml6b250YWwsIC5tYXQtc3RlcHBlci12ZXJ0aWNhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgfVxuXG4gIC5tYXQtc3RlcHBlci12ZXJ0aWNhbC1saW5lOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjpiZWZvcmUsXG4gIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcjo6YWZ0ZXIsXG4gIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zdGVwcGVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXN0ZXBwZXItdmVydGljYWwsIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1zdGVwLWxhYmVsIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIH07XG4gIH1cblxuICAubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLm1hdC1zdGVwLWxhYmVsLWVycm9yIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxuXG4gIC5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZCB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTIpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9O1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc3RlcHBlci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRoZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZSgkbWF0LXN0ZXBwZXItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuICAkdmVydGljYWwtcGFkZGluZzogKCRoZWlnaHQgLSAkbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodCkgLyAyO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXBwZXItbGFiZWwtcG9zaXRpb24tYm90dG9tIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcixcbiAgICAubWF0LXZlcnRpY2FsLXN0ZXBwZXItaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6ICR2ZXJ0aWNhbC1wYWRkaW5nICRtYXQtc3RlcHBlci1zaWRlLWdhcDtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmVzIHRoYXQgdGhlIHZlcnRpY2FsIGxpbmVzIGZvciB0aGUgc3RlcCBjb250ZW50IGV4Y2VlZCBpbnRvIHRoZSBzdGVwXG4gICAgLy8gaGVhZGVycyB3aXRoIGEgZ2l2ZW4gZGlzdGFuY2UgKGAkbWF0LXN0ZXBwZXItbGluZS1nYXBgKSB0byB0aGUgc3RlcCBpY29uLlxuICAgIC5tYXQtc3RlcHBlci12ZXJ0aWNhbC1saW5lOjpiZWZvcmUge1xuICAgICAgdG9wOiAkbWF0LXN0ZXBwZXItbGluZS1nYXAgLSAkdmVydGljYWwtcGFkZGluZztcbiAgICAgIGJvdHRvbTogJG1hdC1zdGVwcGVyLWxpbmUtZ2FwIC0gJHZlcnRpY2FsLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBob3Jpem9udGFsIGxpbmVzIGZvciB0aGUgc3RlcCBoZWFkZXIgYXJlIGNlbnRlcmVkIHZlcnRpY2FsbHkuXG4gICAgLm1hdC1zdGVwcGVyLWxhYmVsLXBvc2l0aW9uLWJvdHRvbSAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXIge1xuICAgICAgJjo6YWZ0ZXIsICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJHZlcnRpY2FsLXBhZGRpbmcgKyAkbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodCAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBob3Jpem9udGFsIGxpbmUgZm9yIHRoZSBzdGVwIGNvbnRlbnQgaXMgYWxpZ25lZCBjZW50ZXJlZCB2ZXJ0aWNhbGx5LlxuICAgIC5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1zdGVwcGVyLWhvcml6b250YWwtbGluZSB7XG4gICAgICB0b3A6ICR2ZXJ0aWNhbC1wYWRkaW5nICsgJG1hdC1zdGVwcGVyLWxhYmVsLWhlYWRlci1oZWlnaHQgLyAyO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXN0ZXBwZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXN0ZXBwZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc3RlcHBlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc3RlcHBlci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5AbWl4aW4gbWF0LXNvcnQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtc29ydC1oZWFkZXItYXJyb3cge1xuICAgICR0YWJsZS1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gICAgJHRleHQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuXG4gICAgLy8gQmVjYXVzZSB0aGUgYXJyb3cgaXMgbWFkZSB1cCBvZiBtdWx0aXBsZSBlbGVtZW50cyB0aGF0IGFyZSBzdGFja2VkIG9uIHRvcCBvZiBlYWNoIG90aGVyLFxuICAgIC8vIHdlIGNhbid0IHVzZSB0aGUgc2VtaS10cmFuc3BhcmVudCBjb2xvciBmcm9tIHRoZSB0aGVtZSBkaXJlY3RseS4gSWYgdGhlIHZhbHVlIGlzIGEgY29sb3JcbiAgICAvLyAqdHlwZSosIHdlIGNvbnZlcnQgaXQgaW50byBhIHNvbGlkIGNvbG9yIGJ5IHRha2luZyB0aGUgb3BhY2l0eSBmcm9tIHRoZSByZ2JhIHZhbHVlIGFuZFxuICAgIC8vIHVzaW5nIHRoZSB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgdG8gcHV0IGludG8gZm9yZWdyb3VuZFxuICAgIC8vIHdoZW4gbWl4aW5nIHRoZSBjb2xvcnMgdG9nZXRoZXIuIE90aGVyd2lzZSwgaWYgaXQgcmVzb2x2ZXMgdG8gc29tZXRoaW5nIGRpZmZlcmVudFxuICAgIC8vIChlLmcuIGl0IHJlc29sdmVzIHRvIGEgQ1NTIHZhcmlhYmxlKSwgd2UgdXNlIHRoZSBjb2xvciBkaXJlY3RseS5cbiAgICBAaWYgKHR5cGUtb2YoJHRhYmxlLWJhY2tncm91bmQpID09IGNvbG9yIGFuZCB0eXBlLW9mKCR0ZXh0LWNvbG9yKSA9PSBjb2xvcikge1xuICAgICAgJHRleHQtb3BhY2l0eTogb3BhY2l0eSgkdGV4dC1jb2xvcik7XG4gICAgICBjb2xvcjogbWl4KCR0YWJsZS1iYWNrZ3JvdW5kLCByZ2JhKCR0ZXh0LWNvbG9yLCAxKSwgKDEgLSAkdGV4dC1vcGFjaXR5KSAqIDEwMCUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc29ydC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXNvcnQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNvcnQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNvcnQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc29ydC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNvcnQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zb3J0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtdGFicy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaGVhZGVyLWJvcmRlcjogMXB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG5cbiAgLm1hdC10YWItbmF2LWJhcixcbiAgLm1hdC10YWItaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciB7XG4gICAgLm1hdC10YWItbmF2LWJhcixcbiAgICAubWF0LXRhYi1oZWFkZXIge1xuICAgICAgYm9yZGVyLXRvcDogJGhlYWRlci1ib3JkZXI7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtdGFiLWxhYmVsLCAubWF0LXRhYi1saW5rIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICYubWF0LXRhYi1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gIH1cblxuICAvLyBSZW1vdmUgaGVhZGVyIGJvcmRlciB3aGVuIHRoZXJlIGlzIGEgYmFja2dyb3VuZCBjb2xvclxuICAubWF0LXRhYi1ncm91cFtjbGFzcyo9J21hdC1iYWNrZ3JvdW5kLSddIC5tYXQtdGFiLWhlYWRlcixcbiAgLm1hdC10YWItbmF2LWJhcltjbGFzcyo9J21hdC1iYWNrZ3JvdW5kLSddIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cblxuICAubWF0LXRhYi1ncm91cCwgLm1hdC10YWItbmF2LWJhciB7XG4gICAgJHRoZW1lLWNvbG9yczogKFxuICAgICAgcHJpbWFyeTogJHByaW1hcnksXG4gICAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgICB3YXJuOiAkd2FyblxuICAgICk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICR0aGVtZS1jb2xvcnMge1xuICAgICAgLy8gU2V0IHRoZSBmb3JlZ3JvdW5kIGNvbG9yIG9mIHRoZSB0YWJzXG4gICAgICAmLm1hdC0jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtdGFiLWxhYmVsLWZvY3VzKCRjb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtaW5rLWJhcigkY29sb3IpO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIGluayBiYXIgd2hlbiBiYWNrZ3JvdW5kIGNvbG9yIGlzIHRoZSBzYW1lXG4gICAgICAgICYubWF0LWJhY2tncm91bmQtI3skbmFtZX0ge1xuICAgICAgICAgID4gLm1hdC10YWItaGVhZGVyLCA+IC5tYXQtdGFiLWxpbmstY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9tYXQtaW5rLWJhcigkY29sb3IsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgICAvLyBTZXQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgdGFicyBhbmQgb3ZlcnJpZGUgZm9jdXMgY29sb3JcbiAgICAgICYubWF0LWJhY2tncm91bmQtI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LXRhYi1sYWJlbC1mb2N1cygkY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBfbWF0LXRhYnMtYmFja2dyb3VuZCgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1pbmstYmFyKCRjb2xvciwgJGh1ZTogZGVmYXVsdCkge1xuICAubWF0LWluay1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkY29sb3IsICRodWUpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRhYi1sYWJlbC1mb2N1cygkdGFiLWZvY3VzLWNvbG9yKSB7XG4gIC5tYXQtdGFiLWxhYmVsLFxuICAubWF0LXRhYi1saW5rIHtcbiAgICAmLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAgICYuY2RrLXByb2dyYW0tZm9jdXNlZCB7XG4gICAgICAmOm5vdCgubWF0LXRhYi1kaXNhYmxlZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHRhYi1mb2N1cy1jb2xvciwgbGlnaHRlciwgMC4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFicy1iYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kLWNvbG9yKSB7XG4gIC8vIE5vdGUgdGhhdCB0aGVzZSBzZWxlY3RvcnMgdGFyZ2V0IGRpcmVjdCBkZXNjZW5kYW50cyBzb1xuICAvLyB0aGF0IHRoZSBzdHlsZXMgZG9uJ3QgYXBwbHkgdG8gYW55IG5lc3RlZCB0YWIgZ3JvdXBzLlxuXG4gIC8vIFNldCBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdGFiIGdyb3VwXG4gID4gLm1hdC10YWItaGVhZGVyLCA+IC5tYXQtdGFiLWxpbmstY29udGFpbmVyLCA+IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQtY29sb3IpO1xuICB9XG5cbiAgLy8gU2V0IGxhYmVscyB0byBjb250cmFzdCBhZ2FpbnN0IGJhY2tncm91bmRcbiAgPiAubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwsID4gLm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluayB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCk7XG5cbiAgICAmLm1hdC10YWItZGlzYWJsZWQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCwgMC40KTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgcGFnaW5hdGlvbiBjaGV2cm9ucyB0byBjb250cmFzdCBiYWNrZ3JvdW5kXG4gID4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixcbiAgPiAubWF0LXRhYi1saW5rcyAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLFxuICA+IC5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICA+IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24ge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjQpO1xuICB9XG5cbiAgLy8gU2V0IHJpcHBsZXMgY29sb3IgdG8gYmUgdGhlIGNvbnRyYXN0IGNvbG9yIG9mIHRoZSBuZXcgYmFja2dyb3VuZC4gT3RoZXJ3aXNlIHRoZSByaXBwbGVcbiAgLy8gY29sb3Igd2lsbCBiZSBiYXNlZCBvbiB0aGUgYXBwIGJhY2tncm91bmQgY29sb3IuXG4gID4gLm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsXG4gID4gLm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjEyKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRhYnMtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdGFiLWdyb3VwIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC10YWItbGFiZWwsIC5tYXQtdGFiLWxpbmsge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJ1dHRvbik7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJ1dHRvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC10YWJzLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC10YWJzLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10YWJzJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRhYnMtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC10YWJzLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdGFicy10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbi8vIE1pbmltdW0gaGVpZ2h0IGZvciB0b29sYmFyJ3MgaW4gdGhlIGhpZ2hlc3QgZGVuc2l0eSBpcyBkaWZmaWN1bHQgdG8gZGV0ZXJtaW5lIGJlY2F1c2Vcbi8vIGRldmVsb3BlcnMgY2FuIHByb2plY3QgYXJiaXRyYXJ5IGNvbnRlbnQuIFdlIHVzZSBhIG1pbmltdW0gdmFsdWUgdGhhdCBlbnN1cmVzIHRoYXQgbW9zdFxuLy8gY29tbW9uIGNvbnRlbnQgKGUuZy4gaWNvbiBidXR0b25zKSBkb2VzIG5vdCBleGNlZWQgdGhlIHJvdyBib3VuZGFyaWVzIGluIGhpZ2hlc3QgZGVuc2l0eS5cbiRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodDogNDRweCAhZGVmYXVsdDtcblxuJG1hdC10b29sYmFyLWhlaWdodC1kZXNrdG9wOiA2NHB4ICFkZWZhdWx0O1xuJG1hdC10b29sYmFyLW1heGltdW0taGVpZ2h0LWRlc2t0b3A6ICRtYXQtdG9vbGJhci1oZWlnaHQtZGVza3RvcCAhZGVmYXVsdDtcbiRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodC1kZXNrdG9wOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtdG9vbGJhci1oZWlnaHQtbW9iaWxlOiA1NnB4ICFkZWZhdWx0O1xuJG1hdC10b29sYmFyLW1heGltdW0taGVpZ2h0LW1vYmlsZTogJG1hdC10b29sYmFyLWhlaWdodC1tb2JpbGUgIWRlZmF1bHQ7XG4kbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQtbW9iaWxlOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtdG9vbGJhci1kZXNrdG9wLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtdG9vbGJhci1oZWlnaHQtZGVza3RvcCxcbiAgICBtYXhpbXVtOiAkbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtZGVza3RvcCxcbiAgICBtaW5pbXVtOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQtZGVza3RvcCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuJG1hdC10b29sYmFyLW1vYmlsZS1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXRvb2xiYXItaGVpZ2h0LW1vYmlsZSxcbiAgICBtYXhpbXVtOiAkbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtbW9iaWxlLFxuICAgIG1pbmltdW06ICRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodC1tb2JpbGUsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIF9tYXQtdG9vbGJhci1oZWlnaHQoJGhlaWdodCkge1xuICAubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93cyB7XG4gICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgfVxuICAubWF0LXRvb2xiYXItcm93LCAubWF0LXRvb2xiYXItc2luZ2xlLXJvdyB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRvb2xiYXItY29sb3IoJHBhbGV0dGUpIHtcbiAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG59XG5cbkBtaXhpbiBfbWF0LXRvb2xiYXItZm9ybS1maWVsZC1vdmVycmlkZXMge1xuICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lLFxuICAubWF0LWZvcm0tZmllbGQtcmlwcGxlLFxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAubWF0LXNlbGVjdC12YWx1ZSxcbiAgLm1hdC1zZWxlY3QtYXJyb3csXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIGNhcmV0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC10b29sYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGFwcC1iYXIpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItY29sb3IoJGFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItY29sb3IoJHdhcm4pO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1mb3JtLWZpZWxkLW92ZXJyaWRlcztcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRvb2xiYXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdG9vbGJhcixcbiAgLm1hdC10b29sYmFyIGgxLFxuICAubWF0LXRvb2xiYXIgaDIsXG4gIC5tYXQtdG9vbGJhciBoMyxcbiAgLm1hdC10b29sYmFyIGg0LFxuICAubWF0LXRvb2xiYXIgaDUsXG4gIC5tYXQtdG9vbGJhciBoNiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHRpdGxlKTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGhlaWdodC1kZXNrdG9wOiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LXRvb2xiYXItZGVza3RvcC1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG4gICRoZWlnaHQtbW9iaWxlOiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LXRvb2xiYXItbW9iaWxlLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICAgIC8vIFNldCB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIHRoZSB0b29sYmFyLlxuICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1oZWlnaHQoJGhlaWdodC1kZXNrdG9wKTtcblxuICAgIC8vIEFzIHBlciBzcGVjcywgdG9vbGJhcnMgc2hvdWxkIGhhdmUgYSBkaWZmZXJlbnQgaGVpZ2h0IGluIG1vYmlsZSBkZXZpY2VzLiBUaGlzIGhhcyBiZWVuXG4gICAgLy8gc3BlY2lmaWVkIGluIHRoZSBvbGQgZ3VpZGVsaW5lcyBhbmQgaXMgc3RpbGwgb2JzZXJ2YWJsZSBpbiB0aGUgbmV3IHNwZWNpZmljYXRpb25zIGJ5XG4gICAgLy8gbG9va2luZyBhdCB0aGUgc3BlYyBpbWFnZXMuIFNlZTogaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29tcG9uZW50cy9hcHAtYmFycy10b3AuaHRtbCNhbmF0b215XG4gICAgQG1lZGlhICgkbWF0LXhzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWhlaWdodCgkaGVpZ2h0LW1vYmlsZSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtdG9vbGJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtdG9vbGJhcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdG9vbGJhci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4kbWF0LXRvb2x0aXAtdGFyZ2V0LWhlaWdodDogMjJweDtcbiRtYXQtdG9vbHRpcC1mb250LXNpemU6IDEwcHg7XG4kbWF0LXRvb2x0aXAtdmVydGljYWwtcGFkZGluZzogKCRtYXQtdG9vbHRpcC10YXJnZXQtaGVpZ2h0IC0gJG1hdC10b29sdGlwLWZvbnQtc2l6ZSkgLyAyO1xuXG4kbWF0LXRvb2x0aXAtaGFuZHNldC10YXJnZXQtaGVpZ2h0OiAzMHB4O1xuJG1hdC10b29sdGlwLWhhbmRzZXQtZm9udC1zaXplOiAxNHB4O1xuJG1hdC10b29sdGlwLWhhbmRzZXQtdmVydGljYWwtcGFkZGluZzpcbiAgICAoJG1hdC10b29sdGlwLWhhbmRzZXQtdGFyZ2V0LWhlaWdodCAtICRtYXQtdG9vbHRpcC1oYW5kc2V0LWZvbnQtc2l6ZSkgLyAyO1xuXG5AbWl4aW4gbWF0LXRvb2x0aXAtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLm1hdC10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHRvb2x0aXAsIDAuOSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sdGlwLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRvb2x0aXAge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gICAgZm9udC1zaXplOiAkbWF0LXRvb2x0aXAtZm9udC1zaXplO1xuICAgIHBhZGRpbmctdG9wOiAkbWF0LXRvb2x0aXAtdmVydGljYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogJG1hdC10b29sdGlwLXZlcnRpY2FsLXBhZGRpbmc7XG4gIH1cblxuICAubWF0LXRvb2x0aXAtaGFuZHNldCB7XG4gICAgZm9udC1zaXplOiAkbWF0LXRvb2x0aXAtaGFuZHNldC1mb250LXNpemU7XG4gICAgcGFkZGluZy10b3A6ICRtYXQtdG9vbHRpcC1oYW5kc2V0LXZlcnRpY2FsLXBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206ICRtYXQtdG9vbHRpcC1oYW5kc2V0LXZlcnRpY2FsLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdG9vbHRpcC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtdG9vbHRpcC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtdG9vbHRpcCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sdGlwLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbHRpcC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRvb2x0aXAtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtc25hY2stYmFyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG5cbiAgLm1hdC1zbmFjay1iYXItY29udGFpbmVyIHtcbiAgICAvLyBVc2UgdGhlIHByaW1hcnkgdGV4dCBvbiB0aGUgZGFyayB0aGVtZSwgZXZlbiB0aG91Z2ggdGhlIGxpZ2h0ZXIgb25lIHVzZXNcbiAgICAvLyBhIHNlY29uZGFyeSwgYmVjYXVzZSB0aGUgY29udHJhc3Qgb24gdGhlIGxpZ2h0IHByaW1hcnkgdGV4dCBpcyBwb29yLlxuICAgIGNvbG9yOiBpZigkaXMtZGFyay10aGVtZSwgJGRhcmstcHJpbWFyeS10ZXh0LCAkbGlnaHQtc2Vjb25kYXJ5LXRleHQpO1xuICAgIGJhY2tncm91bmQ6IGlmKCRpcy1kYXJrLXRoZW1lLCBtYXAtZ2V0KCRtYXQtZ3JleSwgNTApLCAjMzIzMjMyKTtcblxuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbig2LCAkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCBpbmhlcml0LCBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCkpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc25hY2stYmFyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXNpbXBsZS1zbmFja2JhciB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgICB9XG4gIH1cblxuICAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogaW5oZXJpdDtcbiAgICAgIHNpemU6IGluaGVyaXQ7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbmFjay1iYXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNuYWNrLWJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc25hY2stYmFyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNuYWNrLWJhci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vLyBUaGVtZSBzdHlsZXMgdGhhdCBvbmx5IGFwcGx5IHRvIHRoZSBmaWxsIGFwcGVhcmFuY2Ugb2YgdGhlIGZvcm0tZmllbGQuXG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1maWxsLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkZmlsbC1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGJhc2UsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjEsIDAuMDQpKTtcbiAgJGZpbGwtZGlzYWJsZWQtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlLCBpZigkaXMtZGFyay10aGVtZSwgMC4wNSwgMC4wMikpO1xuICAkdW5kZXJsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjUsIDAuNDIpKTtcbiAgJGxhYmVsLWRpc2FibGVkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwge1xuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsbC1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQge1xuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRsYWJlbC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlOiAwO1xuXG4vLyBBcHBsaWVzIGEgZmxvYXRpbmcgbGFiZWwgYWJvdmUgdGhlIGZvcm0gZmllbGQgY29udHJvbCBpdHNlbGYuXG5AbWl4aW4gX21hdC1mb3JtLWZpZWxkLWZpbGwtbGFiZWwtZmxvYXRpbmcoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGUpXG4gICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICB3aWR0aDogMTAwJSAvICRmb250LXNjYWxlICsgJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1maWxsLWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlICsgMC4wMDAwMSAhZ2xvYmFsO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtZmlsbC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgZmxvYXRpbmcgbGFiZWwgYW5kIHN1YnNjcmlwdC5cbiAgJHN1YnNjcmlwdC1mb250LXNjYWxlOiAwLjc1O1xuICAvLyBUaGUgcGFkZGluZyBvbiB0b3Agb2YgdGhlIGluZml4LlxuICAkaW5maXgtcGFkZGluZy10b3A6IDAuMjVlbTtcbiAgLy8gVGhlIHBhZGRpbmcgYmVsb3cgdGhlIGluZml4LlxuICAkaW5maXgtcGFkZGluZy1ib3R0b206IDAuNzVlbTtcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIGFtb3VudCB3ZSBvZmZzZXQgdGhlIGxhYmVsIGZyb20gdGhlIGlucHV0IHRleHQgaW4gdGhlIGZpbGwgYXBwZWFyYW5jZS5cbiAgJGZpbGwtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQ6IC0wLjVlbTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIHtcbiAgICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgICAgcGFkZGluZzogJGluZml4LXBhZGRpbmctdG9wIDAgJGluZml4LXBhZGRpbmctYm90dG9tIDA7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZy10b3A7XG4gICAgICBtYXJnaW4tdG9wOiAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldDtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1maWxsLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmctdG9wICsgJGZpbGwtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWZpbGwtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZy10b3AgKyAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtZmlsbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZm9ybS1maWVsZC1maWxsJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZmlsbC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWZpbGwtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbi8vIFRoZW1lIHN0eWxlcyB0aGF0IG9ubHkgYXBwbHkgdG8gdGhlIGxlZ2FjeSBhcHBlYXJhbmNlIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtbGVnYWN5LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAkdW5kZXJsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjcsIDAuNDIpKTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kge1xuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgIH1cblxuICAgIC5tYXQtaGludCB7XG4gICAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY29udHJvbC1kaXNhYmxlZC11bmRlcmxpbmUoJHVuZGVybGluZS1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgLy8gV2UgdXNlIHBlcnNwZWN0aXZlIHRvIGZpeCB0aGUgdGV4dCBibHVycmluZXNzIGFzIGRlc2NyaWJlZCBoZXJlOlxuICAvLyBodHRwOi8vd3d3LnVzZXJhZ2VudG1hbi5jb20vYmxvZy8yMDE0LzA1LzA0L2ZpeGluZy10eXBvZ3JhcGh5LWluc2lkZS1vZi0yLWQtY3NzLXRyYW5zZm9ybXMvXG4gIC8vIFRoaXMgcmVzdWx0cyBpbiBhIHNtYWxsIGppdHRlciBhZnRlciB0aGUgbGFiZWwgZmxvYXRzIG9uIEZpcmVmb3gsIHdoaWNoIHRoZVxuICAvLyB0cmFuc2xhdGVaIGZpeGVzLlxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcpIHNjYWxlKCRmb250LXNjYWxlKSBwZXJzcGVjdGl2ZSgxMDBweClcbiAgdHJhbnNsYXRlWigwLjAwMXB4ICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUpO1xuICAvLyBUaGUgdHJpY2tzIGFib3ZlIHVzZWQgdG8gc21vb3RoIG91dCB0aGUgYW5pbWF0aW9uIG9uIGNocm9tZSBhbmQgZmlyZWZveCBhY3R1YWxseSBtYWtlIHRoaW5nc1xuICAvLyB3b3JzZSBvbiBJRSwgc28gd2UgZG9uJ3QgaW5jbHVkZSB0aGVtIGluIHRoZSBJRSB2ZXJzaW9uLlxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUpXG4gICAgICAgICAgICAgICAgICBzY2FsZSgkZm9udC1zY2FsZSk7XG5cbiAgd2lkdGg6IDEwMCUgLyAkZm9udC1zY2FsZSArICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuLy8gU2FtZSBhcyBtaXhpbiBhYm92ZSwgYnV0IG9taXRzIHRoZSB0cmFuc2xhdGVaIGZvciBwcmludGluZyBwdXJwb3Nlcy5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgLy8gVGhpcyByZXN1bHRzIGluIGEgc21hbGwgaml0dGVyIGFmdGVyIHRoZSBsYWJlbCBmbG9hdHMgb24gRmlyZWZveCwgd2hpY2ggdGhlXG4gIC8vIHRyYW5zbGF0ZVogZml4ZXMuXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlKVxuICAgICAgICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICAvLyBUaGUgdHJpY2tzIGFib3ZlIHVzZWQgdG8gc21vb3RoIG91dCB0aGUgYW5pbWF0aW9uIG9uIGNocm9tZSBhbmQgZmlyZWZveCBhY3R1YWxseSBtYWtlIHRoaW5nc1xuICAvLyB3b3JzZSBvbiBJRSwgc28gd2UgZG9uJ3QgaW5jbHVkZSB0aGVtIGluIHRoZSBJRSB2ZXJzaW9uLlxuICAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIHRoZSB0b3Agb2YgdGhlIGxpbmUgYW5kIHRoZSB0b3Agb2YgdGhlIGFjdHVhbCB0ZXh0XG4gIC8vIChhcyBhIGZyYWN0aW9uIG9mIHRoZSBmb250LXNpemUpLlxuICAkbGluZS1zcGFjaW5nOiAoJGxpbmUtaGVpZ2h0IC0gMSkgLyAyO1xuICAvLyBUaGUgcGFkZGluZyBvbiB0aGUgaW5maXguIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLCBidXQgc2VlbSB0byBtZWFzdXJlIGZyb20gdGhlIGVkZ2VcbiAgLy8gb2YgdGhlIHRleHQgaXRzZWxmLCBub3QgdGhlIGVkZ2Ugb2YgdGhlIGxpbmU7IHRoZXJlZm9yZSB3ZSBzdWJ0cmFjdCBvZmYgdGhlIGxpbmUgc3BhY2luZy5cbiAgJGluZml4LXBhZGRpbmc6IDAuNWVtIC0gJGxpbmUtc3BhY2luZztcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIHNwYWNlIGJldHdlZW4gdGhlIGJvdHRvbSBvZiB0aGUgLm1hdC1mb3JtLWZpZWxkLWZsZXggYXJlYSBhbmQgdGhlIHN1YnNjcmlwdCB3cmFwcGVyLlxuICAvLyBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZSwgYnV0IHRoaXMgbWFyZ2luIGlzIGFwcGxpZWQgdG8gYW4gZWxlbWVudCB3aXRoIHRoZSBzdWJzY3JpcHRcbiAgLy8gdGV4dCBmb250IHNpemUsIHNvIHdlIG5lZWQgdG8gZGl2aWRlIGJ5IHRoZSBzY2FsZSBmYWN0b3IgdG8gbWFrZSBpdCBoYWxmIG9mIHRoZSBvcmlnaW5hbCB0ZXh0XG4gIC8vIHNpemUuIFdlIGFnYWluIG5lZWQgdG8gc3VidHJhY3Qgb2ZmIHRoZSBsaW5lIHNwYWNpbmcgc2luY2UgdGhlIG1vY2tzIG1lYXN1cmUgdG8gdGhlIGVkZ2Ugb2YgdGhlXG4gIC8vIHRleHQsIG5vdCB0aGUgIGVkZ2Ugb2YgdGhlIGxpbmUuXG4gICRzdWJzY3JpcHQtbWFyZ2luLXRvcDogMC41ZW0gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGUgLSAoJGxpbmUtc3BhY2luZyAqIDIpO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IHtcbiAgICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHdyYXBwZXItcGFkZGluZy1ib3R0b207XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAgIHBhZGRpbmc6ICRpbmZpeC1wYWRkaW5nIDA7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCB3aWxsIHJlbHkgb24gQXV0b2ZpbGxNb25pdG9yIGluc3RlYWQuXG4gICAgICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbDotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIC8vIFdlIHdhbnQgdGhlIHVuZGVybGluZSB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50LlxuICAgICAgYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogJHN1YnNjcmlwdC1tYXJnaW4tdG9wO1xuXG4gICAgICAvLyBXZSB3YW50IHRoZSBzdWJzY3JpcHQgdG8gc3RhcnQgYXQgdGhlIGVuZCBvZiB0aGUgY29udGVudCBib3gsIG5vdCB0aGUgcGFkZGluZyBib3gsXG4gICAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudCAoYWRqdXN0ZWQgZm9yIHRoZSBzbWFsbGVyIGZvbnQgc2l6ZSk7XG4gICAgICB0b3A6IGNhbGMoMTAwJSAtICN7JHdyYXBwZXItcGFkZGluZy1ib3R0b20gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGV9KTtcbiAgICB9XG4gIH1cblxuICAvLyB0cmFuc2xhdGVaIGNhdXNlcyB0aGUgbGFiZWwgdG8gbm90IGFwcGVhciB3aGlsZSBwcmludGluZywgc28gd2Ugb3ZlcnJpZGUgaXQgdG8gbm90XG4gIC8vIGFwcGx5IHRyYW5zbGF0ZVogd2hpbGUgcHJpbnRpbmdcbiAgQG1lZGlhIHByaW50IHtcbiAgICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KFxuICAgICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCB3aWxsIHJlbHkgb24gQXV0b2ZpbGxNb25pdG9yIGluc3RlYWQuXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmctcHJpbnQoXG4gICAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KFxuICAgICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWxlZ2FjeS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtbGVnYWN5Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtbGVnYWN5LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtbGVnYWN5LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbi8vIFRoZW1lIHN0eWxlcyB0aGF0IG9ubHkgYXBwbHkgdG8gdGhlIG91dGxpbmUgYXBwZWFyYW5jZSBvZiB0aGUgZm9ybS1maWVsZC5cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkbGFiZWwtZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICRvdXRsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjMsIDAuMTIpKTtcbiAgJG91dGxpbmUtY29sb3ItaG92ZXI6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDEsIDAuODcpKTtcbiAgJG91dGxpbmUtY29sb3ItcHJpbWFyeTogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgJG91dGxpbmUtY29sb3ItYWNjZW50OiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICRvdXRsaW5lLWNvbG9yLXdhcm46IG1hdC1jb2xvcigkd2Fybik7XG4gICRvdXRsaW5lLWNvbG9yLWRpc2FibGVkOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjE1LCAwLjA2KSk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUge1xuICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1ob3ZlcjtcbiAgICB9XG5cbiAgICAmLm1hdC1mb2N1c2VkIHtcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLXByaW1hcnk7XG4gICAgICB9XG5cbiAgICAgICYubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1hY2NlbnQ7XG4gICAgICB9XG5cbiAgICAgICYubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGFzcyByZXBlYXRlZCBzbyB0aGF0IHJ1bGUgaXMgc3BlY2lmaWMgZW5vdWdoIHRvIG92ZXJyaWRlIGZvY3VzZWQgYWNjZW50IGNvbG9yIGNhc2UuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1pbnZhbGlkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQge1xuICAgICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIHtcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkbGFiZWwtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLWRpc2FibGVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBVc2VkIHRvIG1ha2UgaW5zdGFuY2VzIG9mIHRoZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcgbWl4aW4gbmVnbGlnaWJseSBkaWZmZXJlbnQsXG4vLyBhbmQgcHJldmVudCBHb29nbGUncyBDU1MgT3B0aW1pemVyIGZyb20gY29sbGFwc2luZyB0aGUgZGVjbGFyYXRpb25zLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHNvbWVcbi8vIG9mIHRoZSBzZWxlY3RvcnMgY29udGFpbiBwc2V1ZG8tY2xhc3NlcyBub3QgcmVjb2duaXplZCBpbiBhbGwgYnJvd3NlcnMuIElmIGEgYnJvd3NlciBlbmNvdW50ZXJzXG4vLyBhbiB1bmtub3duIHBzZXVkby1jbGFzcyBpdCB3aWxsIGRpc2NhcmQgdGhlIGVudGlyZSBydWxlIHNldC5cbiRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZTogMDtcblxuLy8gQXBwbGllcyBhIGZsb2F0aW5nIGxhYmVsIGFib3ZlIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wgaXRzZWxmLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWxhYmVsLWZsb2F0aW5nKCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlKVxuICBzY2FsZSgkZm9udC1zY2FsZSk7XG4gIHdpZHRoOiAxMDAlIC8gJGZvbnQtc2NhbGUgKyAkbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGU7XG5cbiAgJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG4gIC8vIFRoZSBhbW91bnQgdG8gc2NhbGUgdGhlIGZvbnQgZm9yIHRoZSBmbG9hdGluZyBsYWJlbCBhbmQgc3Vic2NyaXB0LlxuICAkc3Vic2NyaXB0LWZvbnQtc2NhbGU6IDAuNzU7XG4gIC8vIFRoZSBwYWRkaW5nIGFib3ZlIGFuZCBiZWxvdyB0aGUgaW5maXguXG4gICRpbmZpeC1wYWRkaW5nOiAxZW07XG4gIC8vIFRoZSBtYXJnaW4gYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC1pbmZpeCB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgZmxvYXRpbmcgbGFiZWwuXG4gICRpbmZpeC1tYXJnaW4tdG9wOiAxZW0gKiAkbGluZS1oZWlnaHQgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBzcGFjZSBiZXR3ZWVuIHRoZSBib3R0b20gb2YgdGhlIC5tYXQtZm9ybS1maWVsZC1mbGV4IGFyZWEgYW5kIHRoZSBzdWJzY3JpcHQgd3JhcHBlci5cbiAgLy8gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUsIGJ1dCB0aGlzIG1hcmdpbiBpcyBhcHBsaWVkIHRvIGFuIGVsZW1lbnQgd2l0aCB0aGUgc3Vic2NyaXB0XG4gIC8vIHRleHQgZm9udCBzaXplLCBzbyB3ZSBuZWVkIHRvIGRpdmlkZSBieSB0aGUgc2NhbGUgZmFjdG9yIHRvIG1ha2UgaXQgaGFsZiBvZiB0aGUgb3JpZ2luYWwgdGV4dFxuICAvLyBzaXplLlxuICAkc3Vic2NyaXB0LW1hcmdpbi10b3A6IDAuNWVtIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBhbW91bnQgd2Ugb2Zmc2V0IHRoZSBsYWJlbCBmcm9tIHRoZSBpbnB1dCB0ZXh0IGluIHRoZSBvdXRsaW5lIGFwcGVhcmFuY2UuXG4gICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0OiAtMC4yNWVtO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUge1xuICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgICBwYWRkaW5nOiAkaW5maXgtcGFkZGluZyAwICRpbmZpeC1wYWRkaW5nIDA7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgICAgIG1hcmdpbi10b3A6ICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0O1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IHtcbiAgICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLW91dGxpbmUtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZyArICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2VydmVyLXNpZGUgcmVuZGVyZWQgbWF0SW5wdXQgd2l0aCBhIGxhYmVsIGF0dHJpYnV0ZSBidXQgbGFiZWwgbm90IHNob3duXG4gICAgICAvLyAodXNlZCBhcyBhIHB1cmUgQ1NTIHN0YW5kLWluIGZvciBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQpLlxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcgKyAkb3V0bGluZS1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLW91dGxpbmUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZm9ybS1maWVsZC1vdXRsaW5lJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtb3V0bGluZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLW91dGxpbmUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgc3RhbmRhcmQgYXBwZWFyYW5jZSBvZiB0aGUgZm9ybS1maWVsZC5cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkdW5kZXJsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjcsIDAuNDIpKTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jb250cm9sLWRpc2FibGVkLXVuZGVybGluZSgkdW5kZXJsaW5lLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtc3RhbmRhcmQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLXN0YW5kYXJkLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb2xvciBzdHlsZXMgdGhhdCBhcHBseSB0byBhbGwgYXBwZWFyYW5jZXMgb2YgdGhlIGZvcm0tZmllbGQuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG5cbiAgLy8gTGFiZWwgY29sb3JzLiBSZXF1aXJlZCBpcyB1c2VkIGZvciB0aGUgYCpgIHN0YXIgc2hvd24gaW4gdGhlIGxhYmVsLlxuICAkbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjcsIDAuNikpO1xuICAkZm9jdXNlZC1sYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcbiAgJHJlcXVpcmVkLWxhYmVsLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG5cbiAgLy8gVW5kZXJsaW5lIGNvbG9ycy5cbiAgJHVuZGVybGluZS1jb2xvci1iYXNlOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAxLCAwLjg3KSk7XG4gICR1bmRlcmxpbmUtY29sb3ItYWNjZW50OiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG4gICR1bmRlcmxpbmUtY29sb3Itd2FybjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgJHVuZGVybGluZS1mb2N1c2VkLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtaGludCB7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgIGNvbG9yOiAkZm9jdXNlZC1sYWJlbC1jb2xvcjtcblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci1hY2NlbnQ7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyIHtcbiAgICBjb2xvcjogJHJlcXVpcmVkLWxhYmVsLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci1iYXNlO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtZm9jdXNlZC1jb2xvcjtcblxuICAgICAgJi5tYXQtYWNjZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci1hY2NlbnQ7XG4gICAgICB9XG5cbiAgICAgICYubWF0LXdhcm4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvY3VzZWQ6bm90KC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkKSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1mb2N1c2VkLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLWFjY2VudDtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsaW5nIGZvciB0aGUgZXJyb3Igc3RhdGUgb2YgdGhlIGZvcm0gZmllbGQuIE5vdGUgdGhhdCB3aGlsZSB0aGUgc2FtZSBjYW4gYmVcbiAgLy8gYWNoaWV2ZWQgd2l0aCB0aGUgbmctKiBjbGFzc2VzLCB3ZSB1c2UgdGhpcyBhcHByb2FjaCBpbiBvcmRlciB0byBlbnN1cmUgdGhhdCB0aGUgc2FtZVxuICAvLyBsb2dpYyBpcyB1c2VkIHRvIHN0eWxlIHRoZSBlcnJvciBzdGF0ZSBhbmQgdG8gc2hvdyB0aGUgZXJyb3IgbWVzc2FnZXMuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcblxuICAgICAgJi5tYXQtYWNjZW50LFxuICAgICAgLm1hdC1mb3JtLWZpZWxkLXJlcXVpcmVkLW1hcmtlciB7XG4gICAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSxcbiAgICAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZXJyb3Ige1xuICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gIH1cblxuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktY29sb3IoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLWNvbG9yKCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1maWxsLWNvbG9yKCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWNvbG9yKCRjb25maWcpO1xufVxuXG4vLyBVc2VkIHRvIG1ha2UgaW5zdGFuY2VzIG9mIHRoZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcgbWl4aW4gbmVnbGlnaWJseSBkaWZmZXJlbnQsXG4vLyBhbmQgcHJldmVudCBHb29nbGUncyBDU1MgT3B0aW1pemVyIGZyb20gY29sbGFwc2luZyB0aGUgZGVjbGFyYXRpb25zLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHNvbWVcbi8vIG9mIHRoZSBzZWxlY3RvcnMgY29udGFpbiBwc2V1ZG8tY2xhc3NlcyBub3QgcmVjb2duaXplZCBpbiBhbGwgYnJvd3NlcnMuIElmIGEgYnJvd3NlciBlbmNvdW50ZXJzXG4vLyBhbiB1bmtub3duIHBzZXVkby1jbGFzcyBpdCB3aWxsIGRpc2NhcmQgdGhlIGVudGlyZSBydWxlIHNldC5cbiRtYXQtZm9ybS1maWVsZC1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtZGVkdXBlKVxuICAgICAgICAgICAgIHNjYWxlKCRmb250LXNjYWxlKTtcbiAgd2lkdGg6IDEwMCUgLyAkZm9udC1zY2FsZSArICRtYXQtZm9ybS1maWVsZC1kZWR1cGU7XG5cbiAgJG1hdC1mb3JtLWZpZWxkLWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG5cbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIHByZWZpeCBhbmQgc3VmZml4IGljb25zLlxuICAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2NhbGU6IDEuNTtcblxuICAvLyBUaGUgcGFkZGluZyBvbiB0aGUgaW5maXguIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLlxuICAkaW5maXgtcGFkZGluZzogMC41ZW07XG4gIC8vIFRoZSBtYXJnaW4gYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC1pbmZpeCB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgZmxvYXRpbmcgbGFiZWwuXG4gICRpbmZpeC1tYXJnaW4tdG9wOiAxZW0gKiAkbGluZS1oZWlnaHQgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIEZvbnQgc2l6ZSB0byB1c2UgZm9yIHRoZSBsYWJlbCBhbmQgc3Vic2NyaXB0IHRleHQuXG4gICRzdWJzY3JpcHQtZm9udC1zaXplOiAkc3Vic2NyaXB0LWZvbnQtc2NhbGUgKiAxMDAlO1xuICAvLyBGb250IHNpemUgdG8gdXNlIGZvciB0aGUgZm9yIHRoZSBwcmVmaXggYW5kIHN1ZmZpeCBpY29ucy5cbiAgJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNpemU6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZSAqIDEwMCU7XG4gIC8vIFRoZSBzcGFjZSBiZXR3ZWVuIHRoZSBib3R0b20gb2YgdGhlIC5tYXQtZm9ybS1maWVsZC1mbGV4IGFyZWEgYW5kIHRoZSBzdWJzY3JpcHQgd3JhcHBlci5cbiAgLy8gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUsIGJ1dCB0aGlzIG1hcmdpbiBpcyBhcHBsaWVkIHRvIGFuIGVsZW1lbnQgd2l0aCB0aGUgc3Vic2NyaXB0XG4gIC8vIHRleHQgZm9udCBzaXplLCBzbyB3ZSBuZWVkIHRvIGRpdmlkZSBieSB0aGUgc2NhbGUgZmFjdG9yIHRvIG1ha2UgaXQgaGFsZiBvZiB0aGUgb3JpZ2luYWwgdGV4dFxuICAvLyBzaXplLlxuICAkc3Vic2NyaXB0LW1hcmdpbi10b3A6IDAuNWVtIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG5cbiAgLm1hdC1mb3JtLWZpZWxkIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgaW5wdXQpO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1wcmVmaXgsXG4gIC5tYXQtZm9ybS1maWVsZC1zdWZmaXgge1xuICAgIC8vIEFsbG93IGljb25zIGluIGEgcHJlZml4IG9yIHN1ZmZpeCB0byBhZGFwdCB0byB0aGUgY29ycmVjdCBzaXplLlxuICAgIC5tYXQtaWNvbiB7XG4gICAgICBmb250LXNpemU6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBpY29uIGJ1dHRvbnMgaW4gYSBwcmVmaXggb3Igc3VmZml4IHRvIGFkYXB0IHRvIHRoZSBjb3JyZWN0IHNpemUuXG4gICAgLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZSAqIDFlbTtcbiAgICAgIHdpZHRoOiAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2NhbGUgKiAxZW07XG5cbiAgICAgIC5tYXQtaWNvbiB7XG4gICAgICAgIGhlaWdodDogJGxpbmUtaGVpZ2h0ICogMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgcGFkZGluZzogJGluZml4LXBhZGRpbmcgMDtcbiAgICAvLyBUaHJvd3Mgb2ZmIHRoZSBiYXNlbGluZSBpZiB3ZSBkbyBpdCBhcyBhIHJlYWwgbWFyZ2luLCBzbyB3ZSBkbyBpdCBhcyBhIGJvcmRlciBpbnN0ZWFkLlxuICAgIGJvcmRlci10b3A6ICRpbmZpeC1tYXJnaW4tdG9wIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgIH1cblxuICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIHtcbiAgICB0b3A6IC0kaW5maXgtbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGluZml4LW1hcmdpbi10b3A7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgIC8vIFdlIHdhbnQgdGhlIHVuZGVybGluZSB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudC5cbiAgICBib3R0b206ICR3cmFwcGVyLXBhZGRpbmctYm90dG9tO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgICBmb250LXNpemU6ICRzdWJzY3JpcHQtZm9udC1zaXplO1xuICAgIG1hcmdpbi10b3A6ICRzdWJzY3JpcHQtbWFyZ2luLXRvcDtcblxuICAgIC8vIFdlIHdhbnQgdGhlIHN1YnNjcmlwdCB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudCAoYWRqdXN0ZWQgZm9yIHRoZSBzbWFsbGVyIGZvbnQgc2l6ZSk7XG4gICAgdG9wOiBjYWxjKDEwMCUgLSAjeyR3cmFwcGVyLXBhZGRpbmctYm90dG9tIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlfSk7XG4gIH1cblxuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZmlsbC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtbGVnYWN5LWRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLXN0YW5kYXJkLWRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtb3V0bGluZS1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlKTtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1mb3JtLWZpZWxkJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbiRtYXQtdHJlZS1ub2RlLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciB0cmVlIG5vZGVzIGluIGhpZ2hlc3QgZGVuc2l0eSBpcyBkaWZmaWN1bHQgdG8gZGV0ZXJtaW5lIGFzXG4vLyBkZXZlbG9wZXJzIGNhbiBkaXNwbGF5IGFyYml0cmFyeSBjb250ZW50LiBXZSB1c2UgYSBtaW5pbXVtIGhlaWdodCB3aGljaCBlbnN1cmVzXG4vLyB0aGF0IGNvbW1vbiBjb250ZW50IHBsYWNlZCBpbiB0cmVlIG5vZGVzIGRvZXMgbm90IGV4Y2VlZCAoZS5nLiBpY29ucywgY2hlY2tib3hlcykuXG4kbWF0LXRyZWUtbm9kZS1taW5pbXVtLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbiRtYXQtdHJlZS1ub2RlLW1heGltdW0taGVpZ2h0OiAkbWF0LXRyZWUtbm9kZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtdHJlZS1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXRyZWUtbm9kZS1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC10cmVlLW5vZGUtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC10cmVlLW5vZGUtbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIG1hdC10cmVlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXRyZWUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtdHJlZS1ub2RlLFxuICAubWF0LW5lc3RlZC10cmVlLW5vZGUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdHJlZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC10cmVlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC10cmVlLW5vZGUsXG4gIC5tYXQtbmVzdGVkLXRyZWUtbm9kZSB7XG4gICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdHJlZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRoZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZSgkbWF0LXRyZWUtZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC10cmVlLW5vZGUge1xuICAgICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC10cmVlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10cmVlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRyZWUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRyZWUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10cmVlLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG4vLyBJbmNsdWRlcyBhbGwgb2YgdGhlIHR5cG9ncmFwaGljIHN0eWxlcy5cbkBtaXhpbiBhbmd1bGFyLW1hdGVyaWFsLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZTogbnVsbCkge1xuICAkY29uZmlnOiBpZihtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJGNvbmZpZy1vci10aGVtZSksXG4gICAgICBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpLCAkY29uZmlnLW9yLXRoZW1lKTtcblxuICAvLyBJZiBubyBhY3R1YWwgY29sb3IgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBzcGVjaWZpZWQsIGNyZWF0ZSBhIGRlZmF1bHQgb25lLlxuICBAaWYgbm90ICRjb25maWcge1xuICAgICRjb25maWc6IG1hdC10eXBvZ3JhcGh5LWNvbmZpZygpO1xuICB9XG5cbiAgLy8gVE9ETzogQ09NUC0zMDk6IERvIG5vdCB1c2UgaW5kaXZpZHVhbCBtaXhpbnMuIEluc3RlYWQsIHVzZSB0aGUgYWxsLXRoZW1lIG1peGluIGFuZCBvbmx5XG4gIC8vIHNwZWNpZnkgYSBgdHlwb2dyYXBoeWAgY29uZmlnIHdoaWxlIHNldHRpbmcgYGNvbG9yYCBhbmQgYGRlbnNpdHlgIHRvIGBudWxsYC4gVGhpcyBpcyBjdXJyZW50bHlcbiAgLy8gbm90IHBvc3NpYmxlIGFzIGl0IHdvdWxkIGludHJvZHVjZSBhIGNpcmN1bGFyIGRlcGVuZGVuY3kgZm9yIHR5cG9ncmFwaHkgYmVjYXVzZSB0aGUgYG1hdC1jb3JlYFxuICAvLyBtaXhpbiB0aGF0IGlzIHRyYW5zaXRpdmVseSBsb2FkZWQgYnkgdGhlIGBhbGwtdGhlbWVgIGZpbGUsIGltcG9ydHMgYGFsbC10eXBvZ3JhcGh5YCB3aGljaFxuICAvLyB3b3VsZCB0aGVuIGxvYWQgYGFsbC10aGVtZWAgYWdhaW4uIFRoaXMgdWx0aW1hdGVseSByZXN1bHRzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeS5cblxuICBAaW5jbHVkZSBtYXQtYmFkZ2UtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJhc2UtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYm90dG9tLXNoZWV0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1idXR0b24tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWNhcmQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1jaGlwcy10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZGl2aWRlci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdGFibGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWRhdGVwaWNrZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWRpYWxvZy10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1ncmlkLWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWljb24tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWlucHV0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1tZW51LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcmFkaW8tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNlbGVjdC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2lkZW5hdi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2xpZGUtdG9nZ2xlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zbGlkZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNvcnQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRhYnMtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRvb2xiYXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRvb2x0aXAtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtb3B0Z3JvdXAtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdHJlZS10eXBvZ3JhcGh5KCRjb25maWcpO1xufVxuXG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgc3R5bGVzIHRoYXQgYXJlIG5vdCB0aGVtZS1kZXBlbmRlbnQuXG5AbWl4aW4gbWF0LWNvcmUoJHR5cG9ncmFwaHktY29uZmlnOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeS1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcmlwcGxlKCk7XG4gIEBpbmNsdWRlIGNkay1hMTF5KCk7XG4gIEBpbmNsdWRlIGNkay1vdmVybGF5KCk7XG4gIEBpbmNsdWRlIGNkay10ZXh0LWZpZWxkKCk7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKTtcbiAgQGluY2x1ZGUgX21hdC1tZGMtY29yZSgpO1xufVxuXG5AbWl4aW4gbWF0LWNvcmUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gV3JhcHBlciBlbGVtZW50IHRoYXQgcHJvdmlkZXMgdGhlIHRoZW1lIGJhY2tncm91bmQgd2hlbiB0aGUgdXNlcidzIGNvbnRlbnQgaXNuJ3RcbiAgLy8gaW5zaWRlIG9mIGEgYG1hdC1zaWRlbmF2LWNvbnRhaW5lcmAuIE5vdGUgdGhhdCB3ZSBuZWVkIHRvIGV4Y2x1ZGUgdGhlIGFtcGVyc2FuZFxuICAvLyBzZWxlY3RvciBpbiBjYXNlIHRoZSBtaXhpbiBpcyBpbmNsdWRlZCBhdCB0aGUgdG9wIGxldmVsLlxuICAubWF0LWFwcC1iYWNrZ3JvdW5kI3tpZigmLCAnLCAmLm1hdC1hcHAtYmFja2dyb3VuZCcsICcnKX0ge1xuICAgICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAgICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC8vIFByb3ZpZGVzIGV4dGVybmFsIENTUyBjbGFzc2VzIGZvciBlYWNoIGVsZXZhdGlvbiB2YWx1ZS4gRWFjaCBDU1MgY2xhc3MgaXMgZm9ybWF0dGVkIGFzXG4gIC8vIGBtYXQtZWxldmF0aW9uLXokelZhbHVlYCB3aGVyZSBgJHpWYWx1ZWAgY29ycmVzcG9uZHMgdG8gdGhlIHotc3BhY2UgdG8gd2hpY2ggdGhlIGVsZW1lbnQgaXNcbiAgLy8gZWxldmF0ZWQuXG4gIEBmb3IgJHpWYWx1ZSBmcm9tIDAgdGhyb3VnaCAyNCB7XG4gICAgLiN7JG1hdC1lbGV2YXRpb24tcHJlZml4fSN7JHpWYWx1ZX0ge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKCR6VmFsdWUsICRjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1hcmtlciB0aGF0IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIHVzZXIgaGFzIGFkZGVkIGEgdGhlbWUgdG8gdGhlaXIgcGFnZS5cbiAgQGF0LXJvb3Qge1xuICAgIC5tYXQtdGhlbWUtbG9hZGVkLW1hcmtlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNaXhpbiB0aGF0IHJlbmRlcnMgYWxsIG9mIHRoZSBjb3JlIHN0eWxlcyB0aGF0IGRlcGVuZCBvbiB0aGUgdGhlbWUuXG5AbWl4aW4gbWF0LWNvcmUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIC8vIFdyYXAgdGhlIHN1Yi10aGVtZSBpbmNsdWRlcyBpbiB0aGUgZHVwbGljYXRlIHRoZW1lIHN0eWxlcyBtaXhpbi4gVGhpcyBlbnN1cmVzIHRoYXRcbiAgLy8gdGhlcmUgd29uJ3QgYmUgbXVsdGlwbGUgd2FybmluZ3MuIGUuZy4gaWYgYG1hdC1jb3JlLXRoZW1lYCByZXBvcnRzIGEgd2FybmluZywgdGhlblxuICAvLyB0aGUgaW1wb3J0ZWQgdGhlbWVzIChzdWNoIGFzIGBtYXQtcmlwcGxlLXRoZW1lYCkgc2hvdWxkIG5vdCByZXBvcnQgYWdhaW4uXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWNvcmUnKSB7XG4gICAgQGluY2x1ZGUgbWF0LXJpcHBsZS10aGVtZSgkdGhlbWUpO1xuICAgIEBpbmNsdWRlIG1hdC1vcHRpb24tdGhlbWUoJHRoZW1lKTtcbiAgICBAaW5jbHVkZSBtYXQtb3B0Z3JvdXAtdGhlbWUoJHRoZW1lKTtcbiAgICBAaW5jbHVkZSBtYXQtcHNldWRvLWNoZWNrYm94LXRoZW1lKCR0aGVtZSk7XG5cbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jb3JlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgTURDIHN0eWxlcy4gUHJpdmF0ZSBtaXhpbiBpbmNsdWRlZCB3aXRoIGBtYXQtY29yZWAuXG5AbWl4aW4gX21hdC1tZGMtY29yZSgpIHtcbiAgQGluY2x1ZGUgX21hdC1tZGMtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKTtcbn1cblxuLy8gTWl4aW4gdGhhdCBlbnN1cmVzIGZvY3VzIGluZGljYXRvciBob3N0IGVsZW1lbnRzIGFyZSBwb3NpdGlvbmVkIHNvIHRoYXQgdGhlIGZvY3VzIGluZGljYXRvclxuLy8gcHNldWRvIGVsZW1lbnQgd2l0aGluIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGhvc3QuIFByaXZhdGUgbWl4aW4gaW5jbHVkZWQgd2l0aGluXG4vLyBgX21hdC1tZGMtY29yZWAuXG5AbWl4aW4gX21hdC1tZGMtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKSB7XG4gIC5tYXQtbWRjLWZvY3VzLWluZGljYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vIENyZWF0ZSBhIHRoZW1lLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkZGVkdXBlLWtleTogJ2FuZ3VsYXItbWF0ZXJpYWwtdGhlbWUnO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZS1vci1jb2xvci1jb25maWcsICRkZWR1cGUta2V5KSB7XG4gICAgQGluY2x1ZGUgbWF0LWNvcmUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYmFkZ2UtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1jYXJkLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtY2hpcHMtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXRhYmxlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1kYXRlcGlja2VyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWRpdmlkZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1pY29uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1pbnB1dC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtbGlzdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtbWVudS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1iYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLXNwaW5uZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXJhZGlvLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zZWxlY3QtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNpZGVuYXYtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtc2xpZGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zdGVwcGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zb3J0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10YWJzLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10b29sdGlwLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10cmVlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zbmFjay1iYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIH1cbn1cblxuXG5cbi8vIEluY2x1ZGVzIGFsbCBvZiB0aGUgY29sb3Igc3R5bGVzLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAvLyBJbiBjYXNlIGEgdGhlbWUgb2JqZWN0IGhhcyBiZWVuIHBhc3NlZCBpbnN0ZWFkIG9mIGEgY29uZmlndXJhdGlvbiBmb3JcbiAgLy8gdGhlIGNvbG9yIHN5c3RlbSwgZXh0cmFjdCB0aGUgY29sb3IgY29uZmlnIGZyb20gdGhlIHRoZW1lIG9iamVjdC5cbiAgJGNvbmZpZzogaWYobWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCRjb25maWctb3ItdGhlbWUpLFxuICAgICAgbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSksICRjb25maWctb3ItdGhlbWUpO1xuXG4gIEBpZiAkY29uZmlnID09IG51bGwge1xuICAgIEBlcnJvciAnTm8gY29sb3IgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQuJztcbiAgfVxuXG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoKFxuICAgIGNvbG9yOiAkY29uZmlnLFxuICAgIHR5cG9ncmFwaHk6IG51bGwsXG4gICAgZGVuc2l0eTogbnVsbCxcbiAgKSk7XG59XG5cblxuXG5cblxuXG5cblxuXG5cbi8vIEluY2x1ZGVzIGFsbCBvZiB0aGUgZGVuc2l0eSBzdHlsZXMuXG5AbWl4aW4gYW5ndWxhci1tYXRlcmlhbC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgLy8gSW4gY2FzZSBhIHRoZW1lIG9iamVjdCBoYXMgYmVlbiBwYXNzZWQgaW5zdGVhZCBvZiBhIGNvbmZpZ3VyYXRpb24gZm9yXG4gIC8vIHRoZSBkZW5zaXR5IHN5c3RlbSwgZXh0cmFjdCB0aGUgZGVuc2l0eSBjb25maWcgZnJvbSB0aGUgdGhlbWUgb2JqZWN0LlxuICAkY29uZmlnOiBpZihtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJGNvbmZpZy1vci10aGVtZSksXG4gICAgICBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpLCAkY29uZmlnLW9yLXRoZW1lKTtcblxuICBAaWYgJGNvbmZpZyA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ05vIGRlbnNpdHkgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQuJztcbiAgfVxuXG4gIC8vIFRPRE86IENPTVAtMzA5OiBEbyBub3QgdXNlIGluZGl2aWR1YWwgbWl4aW5zLiBJbnN0ZWFkLCB1c2UgdGhlIGFsbC10aGVtZSBtaXhpbiBhbmQgb25seVxuICAvLyBzcGVjaWZ5IGEgYGRlbnNpdHlgIGNvbmZpZyB3aGlsZSBzZXR0aW5nIGBjb2xvcmAgYW5kIGB0eXBvZ3JhcGh5YCB0byBgbnVsbGAuIFRoaXMgaXMgY3VycmVudGx5XG4gIC8vIG5vdCBwb3NzaWJsZSBhcyBpdCB3b3VsZCBpbnRyb2R1Y2UgYSBjaXJjdWxhciBkZXBlbmRlbmN5IGZvciBkZW5zaXR5IGJlY2F1c2UgdGhlIGBtYXQtY29yZWBcbiAgLy8gbWl4aW4gdGhhdCBpcyB0cmFuc2l0aXZlbHkgbG9hZGVkIGJ5IHRoZSBgYWxsLXRoZW1lYCBmaWxlLCBpbXBvcnRzIGBhbGwtZGVuc2l0eWAgd2hpY2hcbiAgLy8gd291bGQgdGhlbiBsb2FkIGBhbGwtdGhlbWVgIGFnYWluLiBUaGlzIHVsdGltYXRlbHkgcmVzdWx0cyBhIGNpcmN1bGFyIGRlcGVuZGVuY3kuXG5cbiAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc3RlcHBlci1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdG9vbGJhci1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdHJlZS1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLWRlbnNpdHkoJGNvbmZpZyk7XG59XG5cblxuXG4iLCJAaW1wb3J0IFwiLi92YXIuc2Nzc1wiO1xyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWd1dHRlcik7XHJcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1ndXR0ZXIpO1xyXG5cclxuICBAc2NyZWVuIGxnIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiB0aGVtZSgnc2NyZWVucy5sZycpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FyZCB7XHJcbiAgLy8gQGFwcGx5IHJvdW5kZWQgc2hhZG93LTggYmctY2FyZDtcclxufVxyXG5cclxuLmF2YXRhciB7XHJcbiAgQGFwcGx5IGgtMTAgdy0xMCBvYmplY3QtY292ZXIgcm91bmRlZC1mdWxsIGJnLWhvdmVyO1xyXG59XHJcblxyXG4uaGlkZGVuLWlucHV0IHtcclxuICBAYXBwbHkgYm9yZGVyLTIgYm9yZGVyLXNvbGlkIGJvcmRlci10cmFuc3BhcmVudCBweS0xIHB4LTMgcm91bmRlZDtcclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBAYXBwbHkgYm9yZGVyLXByaW1hcnkgb3V0bGluZS1ub25lO1xyXG4gIH1cclxuXHJcbiAgJi5lbXB0eSB7XHJcbiAgICBAYXBwbHkgYm9yZGVyLXByaW1hcnk7XHJcbiAgfVxyXG59XHJcblxyXG4ubGlzdC1pdGVtIHtcclxuICBAYXBwbHkgcm91bmRlZCBoLTEyIHB4LTQgY3Vyc29yLXBvaW50ZXI7XHJcbn1cclxuXHJcbi5saXN0LWl0ZW06aG92ZXIge1xyXG4gIEBhcHBseSBiZy1ob3ZlcjtcclxufVxyXG5cclxuLnRleHRhcmVhLWNsZWFuIHtcclxuICByZXNpemU6IG5vbmU7XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIC5iZy1wYXR0ZXJuIHtcclxuLy8gICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1iYWNrZ3JvdW5kLWJhc2UpIDIycHgsIHZhcigtLWJhY2tncm91bmQtaG92ZXIpIDIycHgsIHZhcigtLWJhY2tncm91bmQtaG92ZXIpIDI0cHgsIHRyYW5zcGFyZW50IDI0cHgsIHRyYW5zcGFyZW50IDY3cHgsIHZhcigtLWJhY2tncm91bmQtaG92ZXIpIDY3cHgsIHZhcigtLWJhY2tncm91bmQtaG92ZXIpIDY5cHgsIHRyYW5zcGFyZW50IDY5cHgpLFxyXG4vLyAgIGxpbmVhci1ncmFkaWVudCgyMjVkZWcsIHZhcigtLWJhY2tncm91bmQtYmFzZSkgMjJweCwgdmFyKC0tYmFja2dyb3VuZC1ob3ZlcikgMjJweCwgdmFyKC0tYmFja2dyb3VuZC1ob3ZlcikgMjRweCwgdHJhbnNwYXJlbnQgMjRweCwgdHJhbnNwYXJlbnQgNjdweCwgdmFyKC0tYmFja2dyb3VuZC1ob3ZlcikgNjdweCwgdmFyKC0tYmFja2dyb3VuZC1ob3ZlcikgNjlweCwgdHJhbnNwYXJlbnQgNjlweCkgMCA2NHB4O1xyXG4vLyAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtYmFzZSk7XHJcbi8vICAgYmFja2dyb3VuZC1zaXplOiA2NHB4IDEyOHB4O1xyXG4vLyB9XHJcblxyXG4vLyBUcmFuc2l0aW9uc1xyXG5cclxuLnRyYW5zLWVhc2Utb3V0IHtcclxuICB0cmFuc2l0aW9uOiAkc3dpZnQtZWFzZS1vdXQ7XHJcbn1cclxuXHJcbi50cmFucy1zaGFkb3cge1xyXG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1kdXJhdGlvbiAkbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjtcclxufVxyXG5cclxuLnZleC1ibG9ncG9zdCB7XHJcbiAgcCB7XHJcbiAgICBAYXBwbHkgbXktMztcclxuICB9XHJcbn1cclxuIixudWxsXX0= */
[data-simplebar] {
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
}

.simplebar-wrapper {
  overflow: hidden;
  width: inherit;
  height: inherit;
  max-width: inherit;
  max-height: inherit;
}

.simplebar-mask {
  direction: inherit;
  position: absolute;
  overflow: hidden;
  padding: 0;
  margin: 0;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: auto !important;
  height: auto !important;
  z-index: 0;
}

.simplebar-offset {
  direction: inherit !important;
  box-sizing: inherit !important;
  resize: none !important;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch;
}

.simplebar-content-wrapper {
  direction: inherit;
  box-sizing: border-box !important;
  position: relative;
  display: block;
  height: 100%; /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */
  width: auto;
  max-width: 100%; /* Not required for horizontal scroll to trigger */
  max-height: 100%; /* Needed for vertical scroll to trigger */
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.simplebar-content:before,
.simplebar-content:after {
  content: ' ';
  display: table;
}

.simplebar-placeholder {
  max-height: 100%;
  max-width: 100%;
  width: 100%;
  pointer-events: none;
}

.simplebar-height-auto-observer-wrapper {
  box-sizing: inherit !important;
  height: 100%;
  width: 100%;
  max-width: 1px;
  position: relative;
  float: left;
  max-height: 1px;
  overflow: hidden;
  z-index: -1;
  padding: 0;
  margin: 0;
  pointer-events: none;
  flex-grow: inherit;
  flex-shrink: 0;
  flex-basis: 0;
}

.simplebar-height-auto-observer {
  box-sizing: inherit;
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 1000%;
  width: 1000%;
  min-height: 1px;
  min-width: 1px;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.simplebar-track {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden;
}

[data-simplebar].simplebar-dragging .simplebar-content {
  pointer-events: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-track {
  pointer-events: all;
}

.simplebar-scrollbar {
  position: absolute;
  left: 0;
  right: 0;
  min-height: 10px;
}

.simplebar-scrollbar:before {
  position: absolute;
  content: '';
  background: black;
  border-radius: 7px;
  left: 2px;
  right: 2px;
  opacity: 0;
  transition: opacity 0.2s linear;
}

.simplebar-scrollbar.simplebar-visible:before {
  /* When hovered, remove all transitions from drag handle */
  opacity: 0.5;
  transition: opacity 0s linear;
}

.simplebar-track.simplebar-vertical {
  top: 0;
  width: 11px;
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
  top: 2px;
  bottom: 2px;
}

.simplebar-track.simplebar-horizontal {
  left: 0;
  height: 11px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
  height: 100%;
  left: 2px;
  right: 2px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  right: auto;
  left: 0;
  top: 2px;
  height: 7px;
  min-height: 0;
  min-width: 10px;
  width: auto;
}

/* Rtl support */

[data-simplebar-direction='rtl'] .simplebar-track.simplebar-vertical {
  right: auto;
  left: 0;
}

.hs-dummy-scrollbar-size {
  direction: rtl;
  position: fixed;
  opacity: 0;
  visibility: hidden;
  height: 500px;
  width: 500px;
  overflow-y: hidden;
  overflow-x: scroll;
}

.simplebar-hide-scrollbar {
  position: fixed;
  left: 0;
  visibility: hidden;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/*
Date: 24 Fev 2015
Author: Pedro Oliveira <kanytu@gmail . com>
*/

.hljs {
  color: #a9b7c6;
  background: #282b2e;
  display: block;
  overflow-x: auto;
  padding: 0.5em;
}

.hljs-number,
.hljs-literal,
.hljs-symbol,
.hljs-bullet {
  color: #6897BB;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-deletion {
  color: #cc7832;
}

.hljs-variable,
.hljs-template-variable,
.hljs-link {
  color: #629755;
}

.hljs-comment,
.hljs-quote {
  color: #808080;
}

.hljs-meta {
  color: #bbb529;
}

.hljs-string,
.hljs-attribute,
.hljs-addition {
  color: #6A8759;
}

.hljs-section,
.hljs-title,
.hljs-type {
  color: #ffc66d;
}

.hljs-name,
.hljs-selector-id,
.hljs-selector-class {
  color: #e8bf6a;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-strong {
  font-weight: bold;
}

/* Colors for the ripple elements.*/

/* stylelint-disable-next-line material/theme-mixin-api */

/* stylelint-disable-next-line material/theme-mixin-api */

/* stylelint-disable material/no-prefixes */

/* stylelint-enable */

/* Colors for the ripple elements.*/

/* stylelint-disable-next-line material/theme-mixin-api */

/* stylelint-disable-next-line material/theme-mixin-api */

/* stylelint-disable material/no-prefixes */

/* stylelint-enable */

.vex-style-dark {
  --background-app-bar: #11151e;
  --footer-background: var(--background-card);
  --navigation-background: #1a202e;
  --toolbar-background: #1a202e;
  --background-base: #232b3e;
  --background-card: #1a202e;
  --footer-color: var(--text-color);
  --navigation-color: var(--text-color);
  --text-color: white;
  --toolbar-color: white;
  --text-color-light: rgba(0, 0, 0, 0.87);
  --foreground-divider: rgba(255, 255, 255, 0.12);
  --text-hint: rgba(255, 255, 255, 0.5);
  --text-hint-light: rgba(0, 0, 0, 0.38);
  --background-hover: rgba(255, 255, 255, 0.04);
  --text-secondary: rgba(255, 255, 255, 0.7);
  --text-secondary-light: rgba(0, 0, 0, 0.54);
  --secondary-toolbar-background: var(--background-card);
}

.vex-style-dark .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}

.vex-style-dark .mat-option {
  color: white;
}

.vex-style-dark .mat-option:hover:not(.mat-option-disabled), .vex-style-dark .mat-option:focus:not(.mat-option-disabled) {
  background: rgba(255, 255, 255, 0.04);
}

.vex-style-dark .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {
  background: rgba(255, 255, 255, 0.04);
}

.vex-style-dark .mat-option.mat-active {
  background: rgba(255, 255, 255, 0.04);
  color: white;
}

.vex-style-dark .mat-option.mat-option-disabled {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {
  color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {
  color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-optgroup-label {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-optgroup-disabled .mat-optgroup-label {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-pseudo-checkbox {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-pseudo-checkbox::after {
  color: #232b3e;
}

.vex-style-dark .mat-pseudo-checkbox-disabled {
  color: #686868;
}

.vex-style-dark .mat-primary .mat-pseudo-checkbox-checked,
.vex-style-dark .mat-primary .mat-pseudo-checkbox-indeterminate {
  background: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-pseudo-checkbox-checked,
.vex-style-dark .mat-pseudo-checkbox-indeterminate,
.vex-style-dark .mat-accent .mat-pseudo-checkbox-checked,
.vex-style-dark .mat-accent .mat-pseudo-checkbox-indeterminate {
  background: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-warn .mat-pseudo-checkbox-checked,
.vex-style-dark .mat-warn .mat-pseudo-checkbox-indeterminate {
  background: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,
.vex-style-dark .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {
  background: #686868;
}

.vex-style-dark .mat-app-background, .vex-style-dark.mat-app-background {
  background-color: #232b3e;
  color: white;
}

.vex-style-dark .mat-elevation-z0 {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.06), 0px 0px 0px 0px rgba(0, 0, 0, 0.042), 0px 0px 0px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z1 {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.042), 0px 1px 3px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z2 {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.06), 0px 2px 2px 0px rgba(0, 0, 0, 0.042), 0px 1px 5px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z3 {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.06), 0px 3px 4px 0px rgba(0, 0, 0, 0.042), 0px 1px 8px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z4 {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.06), 0px 4px 5px 0px rgba(0, 0, 0, 0.042), 0px 1px 10px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z5 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.06), 0px 5px 8px 0px rgba(0, 0, 0, 0.042), 0px 1px 14px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z6 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.06), 0px 6px 10px 0px rgba(0, 0, 0, 0.042), 0px 1px 18px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z7 {
  box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.06), 0px 7px 10px 1px rgba(0, 0, 0, 0.042), 0px 2px 16px 1px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z8 {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.06), 0px 8px 10px 1px rgba(0, 0, 0, 0.042), 0px 3px 14px 2px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z9 {
  box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.06), 0px 9px 12px 1px rgba(0, 0, 0, 0.042), 0px 3px 16px 2px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z10 {
  box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.06), 0px 10px 14px 1px rgba(0, 0, 0, 0.042), 0px 4px 18px 3px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z11 {
  box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.06), 0px 11px 15px 1px rgba(0, 0, 0, 0.042), 0px 4px 20px 3px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z12 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.06), 0px 12px 17px 2px rgba(0, 0, 0, 0.042), 0px 5px 22px 4px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z13 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.06), 0px 13px 19px 2px rgba(0, 0, 0, 0.042), 0px 5px 24px 4px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z14 {
  box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.06), 0px 14px 21px 2px rgba(0, 0, 0, 0.042), 0px 5px 26px 4px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z15 {
  box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.06), 0px 15px 22px 2px rgba(0, 0, 0, 0.042), 0px 6px 28px 5px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z16 {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.06), 0px 16px 24px 2px rgba(0, 0, 0, 0.042), 0px 6px 30px 5px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z17 {
  box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.06), 0px 17px 26px 2px rgba(0, 0, 0, 0.042), 0px 6px 32px 5px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z18 {
  box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.06), 0px 18px 28px 2px rgba(0, 0, 0, 0.042), 0px 7px 34px 6px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z19 {
  box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.06), 0px 19px 29px 2px rgba(0, 0, 0, 0.042), 0px 7px 36px 6px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z20 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.06), 0px 20px 31px 3px rgba(0, 0, 0, 0.042), 0px 8px 38px 7px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z21 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.06), 0px 21px 33px 3px rgba(0, 0, 0, 0.042), 0px 8px 40px 7px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z22 {
  box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.06), 0px 22px 35px 3px rgba(0, 0, 0, 0.042), 0px 8px 42px 7px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z23 {
  box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.06), 0px 23px 36px 3px rgba(0, 0, 0, 0.042), 0px 9px 44px 8px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-elevation-z24 {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.06), 0px 24px 38px 3px rgba(0, 0, 0, 0.042), 0px 9px 46px 8px rgba(0, 0, 0, 0.036);
}

.mat-theme-loaded-marker {
  display: none;
}

.vex-style-dark .mat-autocomplete-panel {
  background: #1a202e;
  color: white;
}

.vex-style-dark .mat-autocomplete-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.06), 0px 4px 5px 0px rgba(0, 0, 0, 0.042), 0px 1px 10px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {
  background: #1a202e;
}

.vex-style-dark .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {
  color: white;
}

.vex-style-dark .mat-badge-content {
  color: rgba(var(--color-primary-contrast), 1);
  background: rgba(var(--color-primary), 1);
}

.cdk-high-contrast-active .vex-style-dark .mat-badge-content {
  outline: solid 1px;
  border-radius: 0;
}

.vex-style-dark .mat-badge-accent .mat-badge-content {
  background: rgba(var(--color-accent), 1);
  color: rgba(var(--color-accent-contrast), 1);
}

.vex-style-dark .mat-badge-warn .mat-badge-content {
  color: rgba(var(--color-warn-contrast), 1);
  background: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-badge {
  position: relative;
}

.vex-style-dark .mat-badge-hidden .mat-badge-content {
  display: none;
}

.vex-style-dark .mat-badge-disabled .mat-badge-content {
  background: #656b78;
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-badge-content {
  position: absolute;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  transition: transform 200ms ease-in-out;
  transform: scale(0.6);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
}

.vex-style-dark .ng-animate-disabled .mat-badge-content,
.vex-style-dark .mat-badge-content._mat-animation-noopable {
  transition: none;
}

.vex-style-dark .mat-badge-content.mat-badge-active {
  transform: none;
}

.vex-style-dark .mat-badge-small .mat-badge-content {
  width: 16px;
  height: 16px;
  line-height: 16px;
}

.vex-style-dark .mat-badge-small.mat-badge-above .mat-badge-content {
  top: -8px;
}

.vex-style-dark .mat-badge-small.mat-badge-below .mat-badge-content {
  bottom: -8px;
}

.vex-style-dark .mat-badge-small.mat-badge-before .mat-badge-content {
  left: -16px;
}

[dir=rtl] .vex-style-dark .mat-badge-small.mat-badge-before .mat-badge-content {
  left: auto;
  right: -16px;
}

.vex-style-dark .mat-badge-small.mat-badge-after .mat-badge-content {
  right: -16px;
}

[dir=rtl] .vex-style-dark .mat-badge-small.mat-badge-after .mat-badge-content {
  right: auto;
  left: -16px;
}

.vex-style-dark .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -8px;
}

[dir=rtl] .vex-style-dark .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -8px;
}

.vex-style-dark .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -8px;
}

[dir=rtl] .vex-style-dark .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -8px;
}

.vex-style-dark .mat-badge-medium .mat-badge-content {
  width: 22px;
  height: 22px;
  line-height: 22px;
}

.vex-style-dark .mat-badge-medium.mat-badge-above .mat-badge-content {
  top: -11px;
}

.vex-style-dark .mat-badge-medium.mat-badge-below .mat-badge-content {
  bottom: -11px;
}

.vex-style-dark .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: -22px;
}

[dir=rtl] .vex-style-dark .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: auto;
  right: -22px;
}

.vex-style-dark .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: -22px;
}

[dir=rtl] .vex-style-dark .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: auto;
  left: -22px;
}

.vex-style-dark .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -11px;
}

[dir=rtl] .vex-style-dark .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -11px;
}

.vex-style-dark .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -11px;
}

[dir=rtl] .vex-style-dark .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -11px;
}

.vex-style-dark .mat-badge-large .mat-badge-content {
  width: 28px;
  height: 28px;
  line-height: 28px;
}

.vex-style-dark .mat-badge-large.mat-badge-above .mat-badge-content {
  top: -14px;
}

.vex-style-dark .mat-badge-large.mat-badge-below .mat-badge-content {
  bottom: -14px;
}

.vex-style-dark .mat-badge-large.mat-badge-before .mat-badge-content {
  left: -28px;
}

[dir=rtl] .vex-style-dark .mat-badge-large.mat-badge-before .mat-badge-content {
  left: auto;
  right: -28px;
}

.vex-style-dark .mat-badge-large.mat-badge-after .mat-badge-content {
  right: -28px;
}

[dir=rtl] .vex-style-dark .mat-badge-large.mat-badge-after .mat-badge-content {
  right: auto;
  left: -28px;
}

.vex-style-dark .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -14px;
}

[dir=rtl] .vex-style-dark .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -14px;
}

.vex-style-dark .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -14px;
}

[dir=rtl] .vex-style-dark .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -14px;
}

.vex-style-dark .mat-bottom-sheet-container {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.06), 0px 16px 24px 2px rgba(0, 0, 0, 0.042), 0px 6px 30px 5px rgba(0, 0, 0, 0.036);
  background: #1a202e;
  color: white;
}

.vex-style-dark .mat-button, .vex-style-dark .mat-icon-button, .vex-style-dark .mat-stroked-button {
  color: inherit;
  background: transparent;
}

.vex-style-dark .mat-button.mat-primary, .vex-style-dark .mat-icon-button.mat-primary, .vex-style-dark .mat-stroked-button.mat-primary {
  color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-button.mat-accent, .vex-style-dark .mat-icon-button.mat-accent, .vex-style-dark .mat-stroked-button.mat-accent {
  color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-button.mat-warn, .vex-style-dark .mat-icon-button.mat-warn, .vex-style-dark .mat-stroked-button.mat-warn {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-button.mat-primary.mat-button-disabled, .vex-style-dark .mat-button.mat-accent.mat-button-disabled, .vex-style-dark .mat-button.mat-warn.mat-button-disabled, .vex-style-dark .mat-button.mat-button-disabled.mat-button-disabled, .vex-style-dark .mat-icon-button.mat-primary.mat-button-disabled, .vex-style-dark .mat-icon-button.mat-accent.mat-button-disabled, .vex-style-dark .mat-icon-button.mat-warn.mat-button-disabled, .vex-style-dark .mat-icon-button.mat-button-disabled.mat-button-disabled, .vex-style-dark .mat-stroked-button.mat-primary.mat-button-disabled, .vex-style-dark .mat-stroked-button.mat-accent.mat-button-disabled, .vex-style-dark .mat-stroked-button.mat-warn.mat-button-disabled, .vex-style-dark .mat-stroked-button.mat-button-disabled.mat-button-disabled {
  color: rgba(255, 255, 255, 0.3);
}

.vex-style-dark .mat-button.mat-primary .mat-button-focus-overlay, .vex-style-dark .mat-icon-button.mat-primary .mat-button-focus-overlay, .vex-style-dark .mat-stroked-button.mat-primary .mat-button-focus-overlay {
  background-color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-button.mat-accent .mat-button-focus-overlay, .vex-style-dark .mat-icon-button.mat-accent .mat-button-focus-overlay, .vex-style-dark .mat-stroked-button.mat-accent .mat-button-focus-overlay {
  background-color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-button.mat-warn .mat-button-focus-overlay, .vex-style-dark .mat-icon-button.mat-warn .mat-button-focus-overlay, .vex-style-dark .mat-stroked-button.mat-warn .mat-button-focus-overlay {
  background-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-button.mat-button-disabled .mat-button-focus-overlay, .vex-style-dark .mat-icon-button.mat-button-disabled .mat-button-focus-overlay, .vex-style-dark .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay {
  background-color: transparent;
}

.vex-style-dark .mat-button .mat-ripple-element, .vex-style-dark .mat-icon-button .mat-ripple-element, .vex-style-dark .mat-stroked-button .mat-ripple-element {
  opacity: 0.1;
  background-color: currentColor;
}

.vex-style-dark .mat-button-focus-overlay {
  background: white;
}

.vex-style-dark .mat-stroked-button:not(.mat-button-disabled) {
  border-color: rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-flat-button, .vex-style-dark .mat-raised-button, .vex-style-dark .mat-fab, .vex-style-dark .mat-mini-fab {
  color: white;
  background-color: #424242;
}

.vex-style-dark .mat-flat-button.mat-primary, .vex-style-dark .mat-raised-button.mat-primary, .vex-style-dark .mat-fab.mat-primary, .vex-style-dark .mat-mini-fab.mat-primary {
  color: rgba(var(--color-primary-contrast), 1);
}

.vex-style-dark .mat-flat-button.mat-accent, .vex-style-dark .mat-raised-button.mat-accent, .vex-style-dark .mat-fab.mat-accent, .vex-style-dark .mat-mini-fab.mat-accent {
  color: rgba(var(--color-accent-contrast), 1);
}

.vex-style-dark .mat-flat-button.mat-warn, .vex-style-dark .mat-raised-button.mat-warn, .vex-style-dark .mat-fab.mat-warn, .vex-style-dark .mat-mini-fab.mat-warn {
  color: rgba(var(--color-warn-contrast), 1);
}

.vex-style-dark .mat-flat-button.mat-primary.mat-button-disabled, .vex-style-dark .mat-flat-button.mat-accent.mat-button-disabled, .vex-style-dark .mat-flat-button.mat-warn.mat-button-disabled, .vex-style-dark .mat-flat-button.mat-button-disabled.mat-button-disabled, .vex-style-dark .mat-raised-button.mat-primary.mat-button-disabled, .vex-style-dark .mat-raised-button.mat-accent.mat-button-disabled, .vex-style-dark .mat-raised-button.mat-warn.mat-button-disabled, .vex-style-dark .mat-raised-button.mat-button-disabled.mat-button-disabled, .vex-style-dark .mat-fab.mat-primary.mat-button-disabled, .vex-style-dark .mat-fab.mat-accent.mat-button-disabled, .vex-style-dark .mat-fab.mat-warn.mat-button-disabled, .vex-style-dark .mat-fab.mat-button-disabled.mat-button-disabled, .vex-style-dark .mat-mini-fab.mat-primary.mat-button-disabled, .vex-style-dark .mat-mini-fab.mat-accent.mat-button-disabled, .vex-style-dark .mat-mini-fab.mat-warn.mat-button-disabled, .vex-style-dark .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  color: rgba(255, 255, 255, 0.3);
}

.vex-style-dark .mat-flat-button.mat-primary, .vex-style-dark .mat-raised-button.mat-primary, .vex-style-dark .mat-fab.mat-primary, .vex-style-dark .mat-mini-fab.mat-primary {
  background-color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-flat-button.mat-accent, .vex-style-dark .mat-raised-button.mat-accent, .vex-style-dark .mat-fab.mat-accent, .vex-style-dark .mat-mini-fab.mat-accent {
  background-color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-flat-button.mat-warn, .vex-style-dark .mat-raised-button.mat-warn, .vex-style-dark .mat-fab.mat-warn, .vex-style-dark .mat-mini-fab.mat-warn {
  background-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-flat-button.mat-primary.mat-button-disabled, .vex-style-dark .mat-flat-button.mat-accent.mat-button-disabled, .vex-style-dark .mat-flat-button.mat-warn.mat-button-disabled, .vex-style-dark .mat-flat-button.mat-button-disabled.mat-button-disabled, .vex-style-dark .mat-raised-button.mat-primary.mat-button-disabled, .vex-style-dark .mat-raised-button.mat-accent.mat-button-disabled, .vex-style-dark .mat-raised-button.mat-warn.mat-button-disabled, .vex-style-dark .mat-raised-button.mat-button-disabled.mat-button-disabled, .vex-style-dark .mat-fab.mat-primary.mat-button-disabled, .vex-style-dark .mat-fab.mat-accent.mat-button-disabled, .vex-style-dark .mat-fab.mat-warn.mat-button-disabled, .vex-style-dark .mat-fab.mat-button-disabled.mat-button-disabled, .vex-style-dark .mat-mini-fab.mat-primary.mat-button-disabled, .vex-style-dark .mat-mini-fab.mat-accent.mat-button-disabled, .vex-style-dark .mat-mini-fab.mat-warn.mat-button-disabled, .vex-style-dark .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  background-color: rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-flat-button.mat-primary .mat-ripple-element, .vex-style-dark .mat-raised-button.mat-primary .mat-ripple-element, .vex-style-dark .mat-fab.mat-primary .mat-ripple-element, .vex-style-dark .mat-mini-fab.mat-primary .mat-ripple-element {
  background-color: rgba(var(--color-primary-contrast),0.1);
}

.vex-style-dark .mat-flat-button.mat-accent .mat-ripple-element, .vex-style-dark .mat-raised-button.mat-accent .mat-ripple-element, .vex-style-dark .mat-fab.mat-accent .mat-ripple-element, .vex-style-dark .mat-mini-fab.mat-accent .mat-ripple-element {
  background-color: rgba(var(--color-accent-contrast),0.1);
}

.vex-style-dark .mat-flat-button.mat-warn .mat-ripple-element, .vex-style-dark .mat-raised-button.mat-warn .mat-ripple-element, .vex-style-dark .mat-fab.mat-warn .mat-ripple-element, .vex-style-dark .mat-mini-fab.mat-warn .mat-ripple-element {
  background-color: rgba(var(--color-warn-contrast),0.1);
}

.vex-style-dark .mat-stroked-button:not([class*=mat-elevation-z]), .vex-style-dark .mat-flat-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.06), 0px 0px 0px 0px rgba(0, 0, 0, 0.042), 0px 0px 0px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-raised-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.06), 0px 2px 2px 0px rgba(0, 0, 0, 0.042), 0px 1px 5px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.06), 0px 8px 10px 1px rgba(0, 0, 0, 0.042), 0px 3px 14px 2px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.06), 0px 0px 0px 0px rgba(0, 0, 0, 0.042), 0px 0px 0px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-fab:not([class*=mat-elevation-z]), .vex-style-dark .mat-mini-fab:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.06), 0px 6px 10px 0px rgba(0, 0, 0, 0.042), 0px 1px 18px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]), .vex-style-dark .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.06), 0px 12px 17px 2px rgba(0, 0, 0, 0.042), 0px 5px 22px 4px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]), .vex-style-dark .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.06), 0px 0px 0px 0px rgba(0, 0, 0, 0.042), 0px 0px 0px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-button-toggle-standalone,
.vex-style-dark .mat-button-toggle-group {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.06), 0px 2px 2px 0px rgba(0, 0, 0, 0.042), 0px 1px 5px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.vex-style-dark .mat-button-toggle-group-appearance-standard {
  box-shadow: none;
}

.vex-style-dark .mat-button-toggle {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-button-toggle .mat-button-toggle-focus-overlay {
  background-color: rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-button-toggle-appearance-standard {
  color: white;
  background: #1a202e;
}

.vex-style-dark .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
  background-color: white;
}

.vex-style-dark .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: solid 1px rgba(255, 255, 255, 0.12);
}

.vex-style-dark [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: solid 1px rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: none;
  border-top: solid 1px rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-button-toggle-checked {
  background-color: #212121;
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-button-toggle-checked.mat-button-toggle-appearance-standard {
  color: white;
}

.vex-style-dark .mat-button-toggle-disabled {
  color: rgba(255, 255, 255, 0.3);
  background-color: black;
}

.vex-style-dark .mat-button-toggle-disabled.mat-button-toggle-appearance-standard {
  background: #1a202e;
}

.vex-style-dark .mat-button-toggle-disabled.mat-button-toggle-checked {
  background-color: #424242;
}

.vex-style-dark .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.vex-style-dark .mat-button-toggle-group-appearance-standard {
  border: solid 1px rgba(255, 255, 255, 0.12);
}

.mat-button-toggle-appearance-standard .mat-button-toggle-label-content {
  line-height: 48px;
}

.vex-style-dark .mat-card {
  background: #1a202e;
  color: white;
}

.vex-style-dark .mat-card:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.042), 0px 1px 3px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-card.mat-card-flat:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.06), 0px 0px 0px 0px rgba(0, 0, 0, 0.042), 0px 0px 0px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-card-subtitle {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-checkbox-frame {
  border-color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-checkbox-checkmark {
  fill: #232b3e;
}

.vex-style-dark .mat-checkbox-checkmark-path {
  stroke: #232b3e !important;
}

.vex-style-dark .mat-checkbox-mixedmark {
  background-color: #232b3e;
}

.vex-style-dark .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .vex-style-dark .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .vex-style-dark .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .vex-style-dark .mat-checkbox-checked.mat-warn .mat-checkbox-background {
  background-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .vex-style-dark .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #686868;
}

.vex-style-dark .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {
  border-color: #686868;
}

.vex-style-dark .mat-checkbox-disabled .mat-checkbox-label {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-checkbox .mat-ripple-element {
  background-color: white;
}

.vex-style-dark .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,
.vex-style-dark .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element {
  background: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,
.vex-style-dark .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {
  background: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,
.vex-style-dark .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element {
  background: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-chip.mat-standard-chip {
  background-color: #616161;
  color: white;
}

.vex-style-dark .mat-chip.mat-standard-chip .mat-chip-remove {
  color: white;
  opacity: 0.4;
}

.vex-style-dark .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.06), 0px 3px 4px 0px rgba(0, 0, 0, 0.042), 0px 1px 8px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {
  opacity: 0.54;
}

.vex-style-dark .mat-chip.mat-standard-chip.mat-chip-disabled {
  opacity: 0.4;
}

.vex-style-dark .mat-chip.mat-standard-chip::after {
  background: white;
}

.vex-style-dark .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {
  background-color: rgba(var(--color-primary), 1);
  color: rgba(var(--color-primary-contrast), 1);
}

.vex-style-dark .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {
  color: rgba(var(--color-primary-contrast), 1);
  opacity: 0.4;
}

.vex-style-dark .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {
  background-color: rgba(var(--color-primary-contrast),0.1);
  opacity: 0.1;
}

.vex-style-dark .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {
  background-color: rgba(var(--color-warn), 1);
  color: rgba(var(--color-warn-contrast), 1);
}

.vex-style-dark .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {
  color: rgba(var(--color-warn-contrast), 1);
  opacity: 0.4;
}

.vex-style-dark .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {
  background-color: rgba(var(--color-warn-contrast),0.1);
  opacity: 0.1;
}

.vex-style-dark .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {
  background-color: rgba(var(--color-accent), 1);
  color: rgba(var(--color-accent-contrast), 1);
}

.vex-style-dark .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {
  color: rgba(var(--color-accent-contrast), 1);
  opacity: 0.4;
}

.vex-style-dark .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {
  background-color: rgba(var(--color-accent-contrast),0.1);
  opacity: 0.1;
}

.vex-style-dark .mat-table {
  background: #1a202e;
}

.vex-style-dark .mat-table thead, .vex-style-dark .mat-table tbody, .vex-style-dark .mat-table tfoot,
.vex-style-dark mat-header-row, .vex-style-dark mat-row, .vex-style-dark mat-footer-row,
.vex-style-dark [mat-header-row], .vex-style-dark [mat-row], .vex-style-dark [mat-footer-row],
.vex-style-dark .mat-table-sticky {
  background: inherit;
}

.vex-style-dark mat-row, .vex-style-dark mat-header-row, .vex-style-dark mat-footer-row,
.vex-style-dark th.mat-header-cell, .vex-style-dark td.mat-cell, .vex-style-dark td.mat-footer-cell {
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-header-cell {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-cell, .vex-style-dark .mat-footer-cell {
  color: white;
}

.vex-style-dark .mat-calendar-arrow {
  border-top-color: white;
}

.vex-style-dark .mat-datepicker-toggle,
.vex-style-dark .mat-datepicker-content .mat-calendar-next-button,
.vex-style-dark .mat-datepicker-content .mat-calendar-previous-button {
  color: white;
}

.vex-style-dark .mat-calendar-table-header {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-calendar-table-header-divider::after {
  background: rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-calendar-body-label {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-calendar-body-cell-content,
.vex-style-dark .mat-date-range-input-separator {
  color: white;
  border-color: transparent;
}

.vex-style-dark .mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-form-field-disabled .mat-date-range-input-separator {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-calendar-body-in-preview {
  color: rgba(255, 255, 255, 0.24);
}

.vex-style-dark .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(255, 255, 255, 0.3);
}

.vex-style-dark .mat-calendar-body-in-range::before {
  background: rgba(var(--color-primary),0.2);
}

.vex-style-dark .mat-calendar-body-comparison-identical,
.vex-style-dark .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}

.vex-style-dark .mat-calendar-body-comparison-bridge-start::before,
.vex-style-dark [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(var(--color-primary),0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}

.vex-style-dark .mat-calendar-body-comparison-bridge-end::before,
.vex-style-dark [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(var(--color-primary),0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}

.vex-style-dark .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.vex-style-dark .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}

.vex-style-dark .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.vex-style-dark .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}

.vex-style-dark .mat-calendar-body-selected {
  background-color: rgba(var(--color-primary), 1);
  color: rgba(var(--color-primary-contrast), 1);
}

.vex-style-dark .mat-calendar-body-disabled > .mat-calendar-body-selected {
  opacity: 0.2;
}

.vex-style-dark .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px rgba(var(--color-primary-contrast), 1);
}

.vex-style-dark .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.vex-style-dark .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.vex-style-dark .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(var(--color-primary),0.3);
}

.vex-style-dark .mat-datepicker-content {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.06), 0px 4px 5px 0px rgba(0, 0, 0, 0.042), 0px 1px 10px 0px rgba(0, 0, 0, 0.036);
  background-color: #1a202e;
  color: white;
}

.vex-style-dark .mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {
  background: rgba(var(--color-accent),0.2);
}

.vex-style-dark .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,
.vex-style-dark .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}

.vex-style-dark .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,
.vex-style-dark .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(var(--color-accent),0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}

.vex-style-dark .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,
.vex-style-dark .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(var(--color-accent),0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}

.vex-style-dark .mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.vex-style-dark .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}

.vex-style-dark .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.vex-style-dark .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}

.vex-style-dark .mat-datepicker-content.mat-accent .mat-calendar-body-selected {
  background-color: rgba(var(--color-accent), 1);
  color: rgba(var(--color-accent-contrast), 1);
}

.vex-style-dark .mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {
  opacity: 0.2;
}

.vex-style-dark .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px rgba(var(--color-accent-contrast), 1);
}

.vex-style-dark .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.vex-style-dark .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.vex-style-dark .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(var(--color-accent),0.3);
}

.vex-style-dark .mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {
  background: rgba(var(--color-warn),0.2);
}

.vex-style-dark .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,
.vex-style-dark .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}

.vex-style-dark .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,
.vex-style-dark .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(var(--color-warn),0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}

.vex-style-dark .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,
.vex-style-dark .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(var(--color-warn),0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}

.vex-style-dark .mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.vex-style-dark .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}

.vex-style-dark .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.vex-style-dark .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}

.vex-style-dark .mat-datepicker-content.mat-warn .mat-calendar-body-selected {
  background-color: rgba(var(--color-warn), 1);
  color: rgba(var(--color-warn-contrast), 1);
}

.vex-style-dark .mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {
  opacity: 0.2;
}

.vex-style-dark .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px rgba(var(--color-warn-contrast), 1);
}

.vex-style-dark .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.vex-style-dark .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.vex-style-dark .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(var(--color-warn),0.3);
}

.vex-style-dark .mat-datepicker-content-touch {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.06), 0px 0px 0px 0px rgba(0, 0, 0, 0.042), 0px 0px 0px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-datepicker-toggle-active {
  color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-datepicker-toggle-active.mat-accent {
  color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-datepicker-toggle-active.mat-warn {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-date-range-input-inner[disabled] {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-dialog-container {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.06), 0px 24px 38px 3px rgba(0, 0, 0, 0.042), 0px 9px 46px 8px rgba(0, 0, 0, 0.036);
  background: #1a202e;
  color: white;
}

.vex-style-dark .mat-divider {
  border-top-color: rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-divider-vertical {
  border-right-color: rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-expansion-panel {
  background: #1a202e;
  color: white;
}

.vex-style-dark .mat-expansion-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.06), 0px 2px 2px 0px rgba(0, 0, 0, 0.042), 0px 1px 5px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-action-row {
  border-top-color: rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]), .vex-style-dark .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]), .vex-style-dark .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]) {
  background: rgba(255, 255, 255, 0.04);
}

@media (hover: none) {
  .vex-style-dark .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover {
    background: #1a202e;
  }
}

.vex-style-dark .mat-expansion-panel-header-title {
  color: white;
}

.vex-style-dark .mat-expansion-panel-header-description,
.vex-style-dark .mat-expansion-indicator::after {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-expansion-panel-header[aria-disabled=true] {
  color: rgba(255, 255, 255, 0.3);
}

.vex-style-dark .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,
.vex-style-dark .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description {
  color: inherit;
}

.mat-expansion-panel-header {
  height: 48px;
}

.mat-expansion-panel-header.mat-expanded {
  height: 64px;
}

.vex-style-dark .mat-form-field-label {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-hint {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-form-field.mat-focused .mat-form-field-label {
  color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-form-field.mat-focused .mat-form-field-label.mat-accent {
  color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-form-field.mat-focused .mat-form-field-label.mat-warn {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-focused .mat-form-field-required-marker {
  color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-form-field-ripple {
  background-color: white;
}

.vex-style-dark .mat-form-field.mat-focused .mat-form-field-ripple {
  background-color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {
  background-color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {
  background-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {
  color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {
  color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-form-field.mat-form-field-invalid .mat-form-field-label {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,
.vex-style-dark .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,
.vex-style-dark .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {
  background-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-error {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-form-field-appearance-legacy .mat-form-field-label {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-form-field-appearance-legacy .mat-hint {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-form-field-appearance-legacy .mat-form-field-underline {
  background-color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.7) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}

.vex-style-dark .mat-form-field-appearance-standard .mat-form-field-underline {
  background-color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.7) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}

.vex-style-dark .mat-form-field-appearance-fill .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.1);
}

.vex-style-dark .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.05);
}

.vex-style-dark .mat-form-field-appearance-fill .mat-form-field-underline::before {
  background-color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {
  background-color: transparent;
}

.vex-style-dark .mat-form-field-appearance-outline .mat-form-field-outline {
  color: rgba(255, 255, 255, 0.3);
}

.vex-style-dark .mat-form-field-appearance-outline .mat-form-field-outline-thick {
  color: white;
}

.vex-style-dark .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {
  color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {
  color: rgba(255, 255, 255, 0.15);
}

.vex-style-dark .mat-icon.mat-primary {
  color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-icon.mat-accent {
  color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-icon.mat-warn {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-form-field-type-mat-native-select .mat-form-field-infix::after {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-input-element:disabled,
.vex-style-dark .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-input-element {
  caret-color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-input-element::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-input-element::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-input-element::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-input-element::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-input-element:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-input-element option {
  color: rgba(0, 0, 0, 0.87);
}

.vex-style-dark .mat-input-element option:disabled {
  color: rgba(0, 0, 0, 0.38);
}

.vex-style-dark .mat-form-field.mat-accent .mat-input-element {
  caret-color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-form-field.mat-warn .mat-input-element,
.vex-style-dark .mat-form-field-invalid .mat-input-element {
  caret-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-list-base .mat-list-item {
  color: white;
}

.vex-style-dark .mat-list-base .mat-list-option {
  color: white;
}

.vex-style-dark .mat-list-base .mat-subheader {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-list-item-disabled {
  background-color: black;
}

.vex-style-dark .mat-list-option:hover, .vex-style-dark .mat-list-option:focus,
.vex-style-dark .mat-nav-list .mat-list-item:hover,
.vex-style-dark .mat-nav-list .mat-list-item:focus,
.vex-style-dark .mat-action-list .mat-list-item:hover,
.vex-style-dark .mat-action-list .mat-list-item:focus {
  background: rgba(255, 255, 255, 0.04);
}

.vex-style-dark .mat-list-single-selected-option, .vex-style-dark .mat-list-single-selected-option:hover, .vex-style-dark .mat-list-single-selected-option:focus {
  background: rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-menu-panel {
  background: #1a202e;
}

.vex-style-dark .mat-menu-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.06), 0px 4px 5px 0px rgba(0, 0, 0, 0.042), 0px 1px 10px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-menu-item {
  background: transparent;
  color: white;
}

.vex-style-dark .mat-menu-item[disabled], .vex-style-dark .mat-menu-item[disabled]::after,
.vex-style-dark .mat-menu-item[disabled] .mat-icon-no-color {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-menu-item .mat-icon-no-color,
.vex-style-dark .mat-menu-item-submenu-trigger::after {
  color: white;
}

.vex-style-dark .mat-menu-item:hover:not([disabled]),
.vex-style-dark .mat-menu-item.cdk-program-focused:not([disabled]),
.vex-style-dark .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.vex-style-dark .mat-menu-item-highlighted:not([disabled]) {
  background: rgba(255, 255, 255, 0.04);
}

.vex-style-dark .mat-paginator {
  background: #1a202e;
}

.vex-style-dark .mat-paginator,
.vex-style-dark .mat-paginator-page-size .mat-select-trigger {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-paginator-decrement,
.vex-style-dark .mat-paginator-increment {
  border-top: 2px solid white;
  border-right: 2px solid white;
}

.vex-style-dark .mat-paginator-first,
.vex-style-dark .mat-paginator-last {
  border-top: 2px solid white;
}

.vex-style-dark .mat-icon-button[disabled] .mat-paginator-decrement,
.vex-style-dark .mat-icon-button[disabled] .mat-paginator-increment,
.vex-style-dark .mat-icon-button[disabled] .mat-paginator-first,
.vex-style-dark .mat-icon-button[disabled] .mat-paginator-last {
  border-color: rgba(255, 255, 255, 0.5);
}

.mat-paginator-container {
  min-height: 56px;
}

.vex-style-dark .mat-progress-bar-background {
  fill: rgba(var(--color-primary), 0.1);
}

.vex-style-dark .mat-progress-bar-buffer {
  background-color: rgba(var(--color-primary), 0.1);
}

.vex-style-dark .mat-progress-bar-fill::after {
  background-color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-progress-bar.mat-accent .mat-progress-bar-background {
  fill: rgba(var(--color-accent), 0.1);
}

.vex-style-dark .mat-progress-bar.mat-accent .mat-progress-bar-buffer {
  background-color: rgba(var(--color-accent), 0.1);
}

.vex-style-dark .mat-progress-bar.mat-accent .mat-progress-bar-fill::after {
  background-color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-progress-bar.mat-warn .mat-progress-bar-background {
  fill: rgba(var(--color-warn), 0.1);
}

.vex-style-dark .mat-progress-bar.mat-warn .mat-progress-bar-buffer {
  background-color: rgba(var(--color-warn), 0.1);
}

.vex-style-dark .mat-progress-bar.mat-warn .mat-progress-bar-fill::after {
  background-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-progress-spinner circle, .vex-style-dark .mat-spinner circle {
  stroke: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-progress-spinner.mat-accent circle, .vex-style-dark .mat-spinner.mat-accent circle {
  stroke: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-progress-spinner.mat-warn circle, .vex-style-dark .mat-spinner.mat-warn circle {
  stroke: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-radio-outer-circle {
  border-color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {
  border-color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-radio-button.mat-primary .mat-radio-inner-circle,
.vex-style-dark .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .vex-style-dark .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple, .vex-style-dark .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {
  background-color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {
  border-color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-radio-button.mat-accent .mat-radio-inner-circle,
.vex-style-dark .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .vex-style-dark .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple, .vex-style-dark .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {
  background-color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {
  border-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-radio-button.mat-warn .mat-radio-inner-circle,
.vex-style-dark .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .vex-style-dark .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple, .vex-style-dark .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {
  background-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,
.vex-style-dark .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {
  border-color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,
.vex-style-dark .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {
  background-color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-radio-button.mat-radio-disabled .mat-radio-label-content {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-radio-button .mat-ripple-element {
  background-color: white;
}

.vex-style-dark .mat-select-value {
  color: white;
}

.vex-style-dark .mat-select-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-select-disabled .mat-select-value {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-select-arrow {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-select-panel {
  background: #1a202e;
}

.vex-style-dark .mat-select-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.06), 0px 4px 5px 0px rgba(0, 0, 0, 0.042), 0px 1px 10px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  background: rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-form-field.mat-focused.mat-primary .mat-select-arrow {
  color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-form-field.mat-focused.mat-accent .mat-select-arrow {
  color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-form-field.mat-focused.mat-warn .mat-select-arrow {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-drawer-container {
  background-color: #232b3e;
  color: white;
}

.vex-style-dark .mat-drawer {
  background-color: #1a202e;
  color: white;
}

.vex-style-dark .mat-drawer.mat-drawer-push {
  background-color: #1a202e;
}

.vex-style-dark .mat-drawer:not(.mat-drawer-side) {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.06), 0px 16px 24px 2px rgba(0, 0, 0, 0.042), 0px 6px 30px 5px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-drawer-side {
  border-right: solid 1px rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-drawer-side.mat-drawer-end {
  border-left: solid 1px rgba(255, 255, 255, 0.12);
  border-right: none;
}

.vex-style-dark [dir=rtl] .mat-drawer-side {
  border-left: solid 1px rgba(255, 255, 255, 0.12);
  border-right: none;
}

.vex-style-dark [dir=rtl] .mat-drawer-side.mat-drawer-end {
  border-left: none;
  border-right: solid 1px rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-drawer-backdrop.mat-drawer-shown {
  background-color: rgba(229, 223, 209, 0.6);
}

.vex-style-dark .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  background-color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(var(--color-accent),0.54);
}

.vex-style-dark .mat-slide-toggle.mat-checked .mat-ripple-element {
  background-color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {
  background-color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(var(--color-primary),0.54);
}

.vex-style-dark .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {
  background-color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {
  background-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(var(--color-warn),0.54);
}

.vex-style-dark .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {
  background-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-slide-toggle:not(.mat-checked) .mat-ripple-element {
  background-color: white;
}

.vex-style-dark .mat-slide-toggle-thumb {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.042), 0px 1px 3px 0px rgba(0, 0, 0, 0.036);
  background-color: #bdbdbd;
}

.vex-style-dark .mat-slide-toggle-bar {
  background-color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-slider-track-background {
  background-color: rgba(255, 255, 255, 0.3);
}

.vex-style-dark .mat-primary .mat-slider-track-fill,
.vex-style-dark .mat-primary .mat-slider-thumb,
.vex-style-dark .mat-primary .mat-slider-thumb-label {
  background-color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-primary .mat-slider-thumb-label-text {
  color: rgba(var(--color-primary-contrast), 1);
}

.vex-style-dark .mat-primary .mat-slider-focus-ring {
  background-color: rgba(var(--color-primary),0.2);
  opacity: 0.2;
}

.vex-style-dark .mat-accent .mat-slider-track-fill,
.vex-style-dark .mat-accent .mat-slider-thumb,
.vex-style-dark .mat-accent .mat-slider-thumb-label {
  background-color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-accent .mat-slider-thumb-label-text {
  color: rgba(var(--color-accent-contrast), 1);
}

.vex-style-dark .mat-accent .mat-slider-focus-ring {
  background-color: rgba(var(--color-accent),0.2);
  opacity: 0.2;
}

.vex-style-dark .mat-warn .mat-slider-track-fill,
.vex-style-dark .mat-warn .mat-slider-thumb,
.vex-style-dark .mat-warn .mat-slider-thumb-label {
  background-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-warn .mat-slider-thumb-label-text {
  color: rgba(var(--color-warn-contrast), 1);
}

.vex-style-dark .mat-warn .mat-slider-focus-ring {
  background-color: rgba(var(--color-warn),0.2);
  opacity: 0.2;
}

.vex-style-dark .mat-slider:hover .mat-slider-track-background,
.vex-style-dark .cdk-focused .mat-slider-track-background {
  background-color: rgba(255, 255, 255, 0.3);
}

.vex-style-dark .mat-slider-disabled .mat-slider-track-background,
.vex-style-dark .mat-slider-disabled .mat-slider-track-fill,
.vex-style-dark .mat-slider-disabled .mat-slider-thumb {
  background-color: rgba(255, 255, 255, 0.3);
}

.vex-style-dark .mat-slider-disabled:hover .mat-slider-track-background {
  background-color: rgba(255, 255, 255, 0.3);
}

.vex-style-dark .mat-slider-min-value .mat-slider-focus-ring {
  background-color: rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,
.vex-style-dark .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {
  background-color: white;
}

.vex-style-dark .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,
.vex-style-dark .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {
  background-color: rgba(255, 255, 255, 0.3);
}

.vex-style-dark .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {
  border-color: rgba(255, 255, 255, 0.3);
  background-color: transparent;
}

.vex-style-dark .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .vex-style-dark .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {
  border-color: rgba(255, 255, 255, 0.3);
}

.vex-style-dark .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .vex-style-dark .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {
  border-color: rgba(255, 255, 255, 0.3);
}

.vex-style-dark .mat-slider-has-ticks .mat-slider-wrapper::after {
  border-color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-slider-horizontal .mat-slider-ticks {
  background-image: repeating-linear-gradient(to right, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7) 2px, transparent 0, transparent);
  background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7) 2px, transparent 0, transparent);
}

.vex-style-dark .mat-slider-vertical .mat-slider-ticks {
  background-image: repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7) 2px, transparent 0, transparent);
}

.vex-style-dark .mat-step-header.cdk-keyboard-focused, .vex-style-dark .mat-step-header.cdk-program-focused, .vex-style-dark .mat-step-header:hover {
  background-color: rgba(255, 255, 255, 0.04);
}

@media (hover: none) {
  .vex-style-dark .mat-step-header:hover {
    background: none;
  }
}

.vex-style-dark .mat-step-header .mat-step-label,
.vex-style-dark .mat-step-header .mat-step-optional {
  color: rgba(255, 255, 255, 0.7);
}

.vex-style-dark .mat-step-header .mat-step-icon {
  background-color: rgba(255, 255, 255, 0.7);
  color: rgba(var(--color-primary-contrast), 1);
}

.vex-style-dark .mat-step-header .mat-step-icon-selected,
.vex-style-dark .mat-step-header .mat-step-icon-state-done,
.vex-style-dark .mat-step-header .mat-step-icon-state-edit {
  background-color: rgba(var(--color-primary), 1);
  color: rgba(var(--color-primary-contrast), 1);
}

.vex-style-dark .mat-step-header.mat-accent .mat-step-icon {
  color: rgba(var(--color-accent-contrast), 1);
}

.vex-style-dark .mat-step-header.mat-accent .mat-step-icon-selected,
.vex-style-dark .mat-step-header.mat-accent .mat-step-icon-state-done,
.vex-style-dark .mat-step-header.mat-accent .mat-step-icon-state-edit {
  background-color: rgba(var(--color-accent), 1);
  color: rgba(var(--color-accent-contrast), 1);
}

.vex-style-dark .mat-step-header.mat-warn .mat-step-icon {
  color: rgba(var(--color-warn-contrast), 1);
}

.vex-style-dark .mat-step-header.mat-warn .mat-step-icon-selected,
.vex-style-dark .mat-step-header.mat-warn .mat-step-icon-state-done,
.vex-style-dark .mat-step-header.mat-warn .mat-step-icon-state-edit {
  background-color: rgba(var(--color-warn), 1);
  color: rgba(var(--color-warn-contrast), 1);
}

.vex-style-dark .mat-step-header .mat-step-icon-state-error {
  background-color: transparent;
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-step-header .mat-step-label.mat-step-label-active {
  color: white;
}

.vex-style-dark .mat-step-header .mat-step-label.mat-step-label-error {
  color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-stepper-horizontal, .vex-style-dark .mat-stepper-vertical {
  background-color: #1a202e;
}

.vex-style-dark .mat-stepper-vertical-line::before {
  border-left-color: rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-horizontal-stepper-header::before,
.vex-style-dark .mat-horizontal-stepper-header::after,
.vex-style-dark .mat-stepper-horizontal-line {
  border-top-color: rgba(255, 255, 255, 0.12);
}

.mat-horizontal-stepper-header {
  height: 72px;
}

.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,
.mat-vertical-stepper-header {
  padding: 24px 24px;
}

.mat-stepper-vertical-line::before {
  top: -16px;
  bottom: -16px;
}

.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after, .mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before {
  top: 36px;
}

.mat-stepper-label-position-bottom .mat-stepper-horizontal-line {
  top: 36px;
}

.vex-style-dark .mat-sort-header-arrow {
  color: #babcc0;
}

.vex-style-dark .mat-tab-nav-bar,
.vex-style-dark .mat-tab-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.vex-style-dark .mat-tab-group-inverted-header .mat-tab-nav-bar,
.vex-style-dark .mat-tab-group-inverted-header .mat-tab-header {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: none;
}

.vex-style-dark .mat-tab-label, .vex-style-dark .mat-tab-link {
  color: white;
}

.vex-style-dark .mat-tab-label.mat-tab-disabled, .vex-style-dark .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-tab-header-pagination-chevron {
  border-color: white;
}

.vex-style-dark .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.5);
}

.vex-style-dark .mat-tab-group[class*=mat-background-] .mat-tab-header,
.vex-style-dark .mat-tab-nav-bar[class*=mat-background-] {
  border-bottom: none;
  border-top: none;
}

.vex-style-dark .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(var(--color-primary),0.3);
}

.vex-style-dark .mat-tab-group.mat-primary .mat-ink-bar, .vex-style-dark .mat-tab-nav-bar.mat-primary .mat-ink-bar {
  background-color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .vex-style-dark .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar, .vex-style-dark .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .vex-style-dark .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar {
  background-color: rgba(var(--color-primary-contrast), 1);
}

.vex-style-dark .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(var(--color-accent),0.3);
}

.vex-style-dark .mat-tab-group.mat-accent .mat-ink-bar, .vex-style-dark .mat-tab-nav-bar.mat-accent .mat-ink-bar {
  background-color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .vex-style-dark .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar, .vex-style-dark .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .vex-style-dark .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar {
  background-color: rgba(var(--color-accent-contrast), 1);
}

.vex-style-dark .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(var(--color-warn),0.3);
}

.vex-style-dark .mat-tab-group.mat-warn .mat-ink-bar, .vex-style-dark .mat-tab-nav-bar.mat-warn .mat-ink-bar {
  background-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .vex-style-dark .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar, .vex-style-dark .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .vex-style-dark .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar {
  background-color: rgba(var(--color-warn-contrast), 1);
}

.vex-style-dark .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(var(--color-primary),0.3);
}

.vex-style-dark .mat-tab-group.mat-background-primary > .mat-tab-header, .vex-style-dark .mat-tab-group.mat-background-primary > .mat-tab-link-container, .vex-style-dark .mat-tab-group.mat-background-primary > .mat-tab-header-pagination, .vex-style-dark .mat-tab-nav-bar.mat-background-primary > .mat-tab-header, .vex-style-dark .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container, .vex-style-dark .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination {
  background-color: rgba(var(--color-primary), 1);
}

.vex-style-dark .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label, .vex-style-dark .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link, .vex-style-dark .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label, .vex-style-dark .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link {
  color: rgba(var(--color-primary-contrast), 1);
}

.vex-style-dark .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .vex-style-dark .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .vex-style-dark .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .vex-style-dark .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(var(--color-primary-contrast),0.4);
}

.vex-style-dark .mat-tab-group.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.vex-style-dark .mat-tab-group.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.vex-style-dark .mat-tab-group.mat-background-primary > .mat-tab-header .mat-focus-indicator::before, .vex-style-dark .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.vex-style-dark .mat-tab-nav-bar.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.vex-style-dark .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-focus-indicator::before {
  border-color: rgba(var(--color-primary-contrast), 1);
}

.vex-style-dark .mat-tab-group.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .vex-style-dark .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(var(--color-primary-contrast),0.4);
}

.vex-style-dark .mat-tab-group.mat-background-primary > .mat-tab-header .mat-ripple-element,
.vex-style-dark .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-ripple-element, .vex-style-dark .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-ripple-element,
.vex-style-dark .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(var(--color-primary-contrast),0.12);
}

.vex-style-dark .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(var(--color-accent),0.3);
}

.vex-style-dark .mat-tab-group.mat-background-accent > .mat-tab-header, .vex-style-dark .mat-tab-group.mat-background-accent > .mat-tab-link-container, .vex-style-dark .mat-tab-group.mat-background-accent > .mat-tab-header-pagination, .vex-style-dark .mat-tab-nav-bar.mat-background-accent > .mat-tab-header, .vex-style-dark .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container, .vex-style-dark .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination {
  background-color: rgba(var(--color-accent), 1);
}

.vex-style-dark .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label, .vex-style-dark .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link, .vex-style-dark .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label, .vex-style-dark .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link {
  color: rgba(var(--color-accent-contrast), 1);
}

.vex-style-dark .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .vex-style-dark .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .vex-style-dark .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .vex-style-dark .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(var(--color-accent-contrast),0.4);
}

.vex-style-dark .mat-tab-group.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.vex-style-dark .mat-tab-group.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.vex-style-dark .mat-tab-group.mat-background-accent > .mat-tab-header .mat-focus-indicator::before, .vex-style-dark .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.vex-style-dark .mat-tab-nav-bar.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.vex-style-dark .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-focus-indicator::before {
  border-color: rgba(var(--color-accent-contrast), 1);
}

.vex-style-dark .mat-tab-group.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .vex-style-dark .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(var(--color-accent-contrast),0.4);
}

.vex-style-dark .mat-tab-group.mat-background-accent > .mat-tab-header .mat-ripple-element,
.vex-style-dark .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-ripple-element, .vex-style-dark .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-ripple-element,
.vex-style-dark .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(var(--color-accent-contrast),0.12);
}

.vex-style-dark .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .vex-style-dark .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.vex-style-dark .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(var(--color-warn),0.3);
}

.vex-style-dark .mat-tab-group.mat-background-warn > .mat-tab-header, .vex-style-dark .mat-tab-group.mat-background-warn > .mat-tab-link-container, .vex-style-dark .mat-tab-group.mat-background-warn > .mat-tab-header-pagination, .vex-style-dark .mat-tab-nav-bar.mat-background-warn > .mat-tab-header, .vex-style-dark .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container, .vex-style-dark .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination {
  background-color: rgba(var(--color-warn), 1);
}

.vex-style-dark .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label, .vex-style-dark .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link, .vex-style-dark .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label, .vex-style-dark .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link {
  color: rgba(var(--color-warn-contrast), 1);
}

.vex-style-dark .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .vex-style-dark .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .vex-style-dark .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .vex-style-dark .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(var(--color-warn-contrast),0.4);
}

.vex-style-dark .mat-tab-group.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.vex-style-dark .mat-tab-group.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.vex-style-dark .mat-tab-group.mat-background-warn > .mat-tab-header .mat-focus-indicator::before, .vex-style-dark .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.vex-style-dark .mat-tab-nav-bar.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.vex-style-dark .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-focus-indicator::before {
  border-color: rgba(var(--color-warn-contrast), 1);
}

.vex-style-dark .mat-tab-group.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .vex-style-dark .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(var(--color-warn-contrast),0.4);
}

.vex-style-dark .mat-tab-group.mat-background-warn > .mat-tab-header .mat-ripple-element,
.vex-style-dark .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-ripple-element, .vex-style-dark .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-ripple-element,
.vex-style-dark .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(var(--color-warn-contrast),0.12);
}

.vex-style-dark .mat-toolbar {
  background: #11151e;
  color: white;
}

.vex-style-dark .mat-toolbar.mat-primary {
  background: rgba(var(--color-primary), 1);
  color: rgba(var(--color-primary-contrast), 1);
}

.vex-style-dark .mat-toolbar.mat-accent {
  background: rgba(var(--color-accent), 1);
  color: rgba(var(--color-accent-contrast), 1);
}

.vex-style-dark .mat-toolbar.mat-warn {
  background: rgba(var(--color-warn), 1);
  color: rgba(var(--color-warn-contrast), 1);
}

.vex-style-dark .mat-toolbar .mat-form-field-underline,
.vex-style-dark .mat-toolbar .mat-form-field-ripple,
.vex-style-dark .mat-toolbar .mat-focused .mat-form-field-ripple {
  background-color: currentColor;
}

.vex-style-dark .mat-toolbar .mat-form-field-label,
.vex-style-dark .mat-toolbar .mat-focused .mat-form-field-label,
.vex-style-dark .mat-toolbar .mat-select-value,
.vex-style-dark .mat-toolbar .mat-select-arrow,
.vex-style-dark .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {
  color: inherit;
}

.vex-style-dark .mat-toolbar .mat-input-element {
  caret-color: currentColor;
}

.mat-toolbar-multiple-rows {
  min-height: 64px;
}

.mat-toolbar-row, .mat-toolbar-single-row {
  height: 64px;
}

@media (max-width: 599px) {
  .mat-toolbar-multiple-rows {
    min-height: 56px;
  }

  .mat-toolbar-row, .mat-toolbar-single-row {
    height: 56px;
  }
}

.vex-style-dark .mat-tooltip {
  background: rgba(97, 97, 97, 0.9);
}

.vex-style-dark .mat-tree {
  background: #1a202e;
}

.vex-style-dark .mat-tree-node,
.vex-style-dark .mat-nested-tree-node {
  color: white;
}

.mat-tree-node {
  min-height: 48px;
}

.vex-style-dark .mat-snack-bar-container {
  color: rgba(0, 0, 0, 0.87);
  background: #fafafa;
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.06), 0px 6px 10px 0px rgba(0, 0, 0, 0.042), 0px 1px 18px 0px rgba(0, 0, 0, 0.036);
}

.vex-style-dark .mat-simple-snackbar-action {
  color: inherit;
}

.vex-style-light {
  --navigation-background: var(--background-card);
  --sidenav-background: white;
  --toolbar-background: var(--background-card);
  --sidenav-color: var(--text-color);
  --sidenav-item-background-active: #fafafa;
  --sidenav-item-color: var(--text-color);
  --sidenav-item-color-active: var(--text-color);
  --sidenav-item-dropdown-background: #fafafa;
  --sidenav-item-dropdown-background-hover: #f7f7f7;
  --sidenav-item-icon-color: #494B74;
  --sidenav-item-icon-color-active: rgb(var(--color-primary));
  --sidenav-toolbar-background: white;
}

:root {
  --padding-gutter: 1rem;
  --padding: 1.5rem;
  --padding-16: 1rem;
  --padding-12: 0.75rem;
  --padding-8: 0.5rem;
  --padding-4: 0.25rem;
  --color-primary: 92, 119, 255;
  --color-primary-contrast: 255, 255, 255;
  --color-accent: 255, 64, 129;
  --color-accent-contrast: 255, 255, 255;
  --color-warn: 244, 67, 54;
  --color-warn-contrast: 255, 255, 255;
  --font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple ColorDef Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto ColorDef Emoji";
  --font-weight-medium: 500;
  --font-caption: 400 12px/20px var(--font);
  --font-body-1: 400 14px/20px var(--font);
  --font-body-2: 500 14px/24px var(--font);
  --font-subheading-1: 400 15px/24px var(--font);
  --font-subheading-2: 400 16px/28px var(--font);
  --font-headline: 400 24px/32px var(--font);
  --font-title: 500 18px/26px var(--font);
  --font-display-1: 400 34px/40px var(--font);
  --font-display-2: 400 45px/48px var(--font);
  --font-display-3: 400 56px/56px var(--font);
  --font-display-4: 300 112px/112px var(--font);
  --trans-ease-in-out: all var(--trans-ease-in-out-duration) var(--trans-ease-in-out-timing-function);
  --trans-ease-in-out-duration: 500ms;
  --trans-ease-in-out-timing-function: cubic-bezier(0.35, 0, 0.25, 1);
  --trans-ease-out: all var(--trans-ease-out-duration) var(--trans-ease-out-timing-function);
  --trans-ease-out-duration: 400ms;
  --trans-ease-out-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
  --trans-ease-in: all var(--trans-ease-in-duration) var(--trans-ease-in-timing-function);
  --trans-ease-in-duration: 300ms;
  --trans-ease-in-timing-function: cubic-bezier(0.55, 0, 0.55, 0.2);
  --trans-shadow-duration: 280ms;
  --trans-shadow-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --trans-shadow: box-shadow var(--trans-shadow-duration) var(--trans-shadow-timing-function);
  --text-color: rgba(0, 0, 0, 0.87);
  --text-color-light: white;
  --text-secondary: rgba(0, 0, 0, 0.54);
  --text-secondary-light: rgba(255, 255, 255, 0.7);
  --text-hint: rgba(0, 0, 0, 0.38);
  --text-hint-light: rgba(255, 255, 255, 0.5);
  --foreground-divider: rgba(82, 63, 105, 0.06);
  --background-base: rgb(245, 245, 248);
  --background-card: white;
  --background-app-bar: #ebebee;
  --background-hover: rgba(0, 0, 0, 0.04);
  --elevation-default: var(--elevation-z6);
  --elevation-z0: none;
  --elevation-z1: 0px 2px 1px -1px rgba(82, 63, 104, 0.06), 0px 1px 1px 0px rgba(82, 63, 104, 0.042), 0px 1px 3px 0px rgba(82, 63, 104, 0.036);
  --elevation-z2: 0px 3px 1px -2px rgba(82, 63, 104, 0.06), 0px 2px 2px 0px rgba(82, 63, 104, 0.042), 0px 1px 5px 0px rgba(82, 63, 104, 0.036);
  --elevation-z3: 0px 3px 3px -2px rgba(82, 63, 104, 0.06), 0px 3px 4px 0px rgba(82, 63, 104, 0.042), 0px 1px 8px 0px rgba(82, 63, 104, 0.036);
  --elevation-z4: 0px 2px 4px -1px rgba(82, 63, 104, 0.06), 0px 4px 5px 0px rgba(82, 63, 104, 0.042), 0px 1px 10px 0px rgba(82, 63, 104, 0.036);
  --elevation-z5: 0px 3px 5px -1px rgba(82, 63, 104, 0.06), 0px 5px 8px 0px rgba(82, 63, 104, 0.042), 0px 1px 14px 0px rgba(82, 63, 104, 0.036);
  --elevation-z6: 0px 3px 5px -1px rgba(82, 63, 104, 0.06), 0px 6px 10px 0px rgba(82, 63, 104, 0.042), 0px 1px 18px 0px rgba(82, 63, 104, 0.036);
  --elevation-z7: 0px 4px 5px -2px rgba(82, 63, 104, 0.06), 0px 7px 10px 1px rgba(82, 63, 104, 0.042), 0px 2px 16px 1px rgba(82, 63, 104, 0.036);
  --elevation-z8: 0px 5px 5px -3px rgba(82, 63, 104, 0.06), 0px 8px 10px 1px rgba(82, 63, 104, 0.042), 0px 3px 14px 2px rgba(82, 63, 104, 0.036);
  --elevation-z9: 0px 5px 6px -3px rgba(82, 63, 104, 0.06), 0px 9px 12px 1px rgba(82, 63, 104, 0.042), 0px 3px 16px 2px rgba(82, 63, 104, 0.036);
  --elevation-z10: 0px 6px 6px -3px rgba(82, 63, 104, 0.06), 0px 10px 14px 1px rgba(82, 63, 104, 0.042), 0px 4px 18px 3px rgba(82, 63, 104, 0.036);
  --elevation-z11: 0px 6px 7px -4px rgba(82, 63, 104, 0.06), 0px 11px 15px 1px rgba(82, 63, 104, 0.042), 0px 4px 20px 3px rgba(82, 63, 104, 0.036);
  --elevation-z12: 0px 7px 8px -4px rgba(82, 63, 104, 0.06), 0px 12px 17px 2px rgba(82, 63, 104, 0.042), 0px 5px 22px 4px rgba(82, 63, 104, 0.036);
  --elevation-z13: 0px 7px 8px -4px rgba(82, 63, 104, 0.06), 0px 13px 19px 2px rgba(82, 63, 104, 0.042), 0px 5px 24px 4px rgba(82, 63, 104, 0.036);
  --elevation-z14: 0px 7px 9px -4px rgba(82, 63, 104, 0.06), 0px 14px 21px 2px rgba(82, 63, 104, 0.042), 0px 5px 26px 4px rgba(82, 63, 104, 0.036);
  --elevation-z15: 0px 8px 9px -5px rgba(82, 63, 104, 0.06), 0px 15px 22px 2px rgba(82, 63, 104, 0.042), 0px 6px 28px 5px rgba(82, 63, 104, 0.036);
  --elevation-z16: 0px 8px 10px -5px rgba(82, 63, 104, 0.06), 0px 16px 24px 2px rgba(82, 63, 104, 0.042), 0px 6px 30px 5px rgba(82, 63, 104, 0.036);
  --elevation-z17: 0px 8px 11px -5px rgba(82, 63, 104, 0.06), 0px 17px 26px 2px rgba(82, 63, 104, 0.042), 0px 6px 32px 5px rgba(82, 63, 104, 0.036);
  --elevation-z18: 0px 9px 11px -5px rgba(82, 63, 104, 0.06), 0px 18px 28px 2px rgba(82, 63, 104, 0.042), 0px 7px 34px 6px rgba(82, 63, 104, 0.036);
  --elevation-z19: 0px 9px 12px -6px rgba(82, 63, 104, 0.06), 0px 19px 29px 2px rgba(82, 63, 104, 0.042), 0px 7px 36px 6px rgba(82, 63, 104, 0.036);
  --elevation-z20: 0px 10px 13px -6px rgba(82, 63, 104, 0.06), 0px 20px 31px 3px rgba(82, 63, 104, 0.042), 0px 8px 38px 7px rgba(82, 63, 104, 0.036);
  --sidenav-width: 230px;
  --sidenav-collapsed-width: 72px;
  --sidenav-background: #001431;
  --sidenav-color:#FFFFFF;
  --sidenav-item-padding: var(--padding);
  --sidenav-toolbar-background: #171d29;
  --sidenav-item-background-active: #141924;
  --sidenav-item-color: #A1A2B6;
  --sidenav-item-color-active: white;
  --sidenav-item-icon-color: #494B74;
  --sidenav-item-icon-color-active: rgb(var(--color-primary));
  --sidenav-item-icon-gap: 16px;
  --sidenav-item-icon-size: 24px;
  --sidenav-item-border-color: transparent;
  --sidenav-item-border-color-active: rgb(var(--color-primary));
  --sidenav-item-dropdown-background: #141924;
  --sidenav-item-dropdown-background-hover: #131721;
  --sidenav-item-dropdown-gap: 12px;
  --toolbar-height: 64px;
  --toolbar-background: white;
  --toolbar-color: rgba(0, 0, 0, 0.87);
  --toolbar-icon-color: rgb(var(--color-primary));
  --secondary-toolbar-background: var(--background-card);
  --secondary-toolbar-height: 54px;
  --navigation-height: 64px;
  --navigation-background: var(--background-card);
  --navigation-color: var(--text-secondary);
  --footer-height: 56px;
  --footer-z-index: 100;
  --footer-background: var(--background-card);
  --footer-color: var(--text-color);
  --footer-elevation: 0 -10px 30px 0 rgba(82, 63, 104, .06);
  --page-layout-header-height: 200px;
  --page-layout-toolbar-height: 64px;
  --blink-scrollbar-width: 12px;
  --default-icon-size: 24px;
  --border-radius: 4px;
}

@media (min-width: 1280px) {
  :root {
    --padding-gutter: 1.5rem;
  }
}

.mat-badge-content {
  font-weight: 600;
  font-size: 12px;
  font-family: var(--font);
}

.mat-badge-small .mat-badge-content {
  font-size: 9px;
}

.mat-badge-large .mat-badge-content {
  font-size: 24px;
}

.mat-h1, .mat-headline, .mat-typography h1 {
  font: 400 24px/32px var(--font);
  letter-spacing: -0.019em;
  margin: 0 0 16px;
}

.mat-h2, .mat-title, .mat-typography h2 {
  font: 500 18px/26px var(--font);
  letter-spacing: -0.014em;
  margin: 0 0 16px;
}

.mat-h3, .mat-subheading-2, .mat-typography h3 {
  font: 400 16px/28px var(--font);
  letter-spacing: -0.011em;
  margin: 0 0 16px;
}

.mat-h4, .mat-subheading-1, .mat-typography h4 {
  font: 400 15px/24px var(--font);
  letter-spacing: -0.009em;
  margin: 0 0 16px;
}

.mat-h5, .mat-typography h5 {
  font: 400 calc(14px * 0.83)/20px var(--font);
  margin: 0 0 12px;
}

.mat-h6, .mat-typography h6 {
  font: 400 calc(14px * 0.67)/20px var(--font);
  margin: 0 0 12px;
}

.mat-body-strong, .mat-body-2 {
  font: 500 14px/24px var(--font);
  letter-spacing: -0.006em;
}

.mat-body, .mat-body-1, .mat-typography {
  font: 400 14px/20px var(--font);
  letter-spacing: -0.006em;
}

.mat-body p, .mat-body-1 p, .mat-typography p {
  margin: 0 0 12px;
}

.mat-small, .mat-caption {
  font: 400 12px/20px var(--font);
  letter-spacing: 0;
}

.mat-display-4, .mat-typography .mat-display-4 {
  font: 300 112px/112px var(--font);
  letter-spacing: -0.05em;
  margin: 0 0 56px;
}

.mat-display-3, .mat-typography .mat-display-3 {
  font: 400 56px/56px var(--font);
  letter-spacing: -0.02em;
  margin: 0 0 64px;
}

.mat-display-2, .mat-typography .mat-display-2 {
  font: 400 45px/48px var(--font);
  letter-spacing: -0.005em;
  margin: 0 0 64px;
}

.mat-display-1, .mat-typography .mat-display-1 {
  font: 400 34px/40px var(--font);
  letter-spacing: normal;
  margin: 0 0 64px;
}

.mat-bottom-sheet-container {
  font: 400 14px/20px var(--font);
  letter-spacing: -0.006em;
}

.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,
.mat-flat-button, .mat-fab, .mat-mini-fab {
  font-family: var(--font);
  font-size: 14px;
  font-weight: 500;
}

.mat-button-toggle {
  font-family: var(--font);
}

.mat-card {
  font-family: var(--font);
}

.mat-card-title {
  font-size: 24px;
  font-weight: 500;
}

.mat-card-header .mat-card-title {
  font-size: 18px;
}

.mat-card-subtitle,
.mat-card-content {
  font-size: 14px;
}

.mat-checkbox {
  font-family: var(--font);
}

.mat-checkbox-layout .mat-checkbox-label {
  line-height: 24px;
}

.mat-chip {
  font-size: 14px;
  font-weight: 500;
}

.mat-chip .mat-chip-trailing-icon.mat-icon,
.mat-chip .mat-chip-remove.mat-icon {
  font-size: 18px;
}

.mat-table {
  font-family: var(--font);
}

.mat-header-cell {
  font-size: 12px;
  font-weight: 500;
}

.mat-cell, .mat-footer-cell {
  font-size: 14px;
}

.mat-calendar {
  font-family: var(--font);
}

.mat-calendar-body {
  font-size: 13px;
}

.mat-calendar-body-label,
.mat-calendar-period-button {
  font-size: 14px;
  font-weight: 500;
}

.mat-calendar-table-header th {
  font-size: 11px;
  font-weight: 400;
}

.mat-dialog-title {
  font: 500 18px/26px var(--font);
  letter-spacing: -0.014em;
}

.mat-expansion-panel-header {
  font-family: var(--font);
  font-size: 15px;
  font-weight: 400;
}

.mat-expansion-panel-content {
  font: 400 14px/20px var(--font);
  letter-spacing: -0.006em;
}

.mat-form-field {
  font: 400 14px/1.125 var(--font);
  letter-spacing: -0.006em;
}

.mat-form-field-wrapper {
  padding-bottom: 1.34375em;
}

.mat-form-field-prefix .mat-icon,
.mat-form-field-suffix .mat-icon {
  font-size: 150%;
  line-height: 1.125;
}

.mat-form-field-prefix .mat-icon-button,
.mat-form-field-suffix .mat-icon-button {
  height: 1.5em;
  width: 1.5em;
}

.mat-form-field-prefix .mat-icon-button .mat-icon,
.mat-form-field-suffix .mat-icon-button .mat-icon {
  height: 1.125em;
  line-height: 1.125;
}

.mat-form-field-infix {
  padding: 0.5em 0;
  border-top: 0.84375em solid transparent;
}

.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34375em) scale(0.75);
  width: 133.3333333333%;
}

.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34374em) scale(0.75);
  width: 133.3333433333%;
}

.mat-form-field-label-wrapper {
  top: -0.84375em;
  padding-top: 0.84375em;
}

.mat-form-field-label {
  top: 1.34375em;
}

.mat-form-field-underline {
  bottom: 1.34375em;
}

.mat-form-field-subscript-wrapper {
  font-size: 75%;
  margin-top: 0.6666666667em;
  top: calc(100% - 1.7916666667em);
}

.mat-form-field-appearance-legacy .mat-form-field-wrapper {
  padding-bottom: 1.25em;
}

.mat-form-field-appearance-legacy .mat-form-field-infix {
  padding: 0.4375em 0;
}

.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);
  -ms-transform: translateY(-1.28125em) scale(0.75);
  width: 133.3333333333%;
}

.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00101px);
  -ms-transform: translateY(-1.28124em) scale(0.75);
  width: 133.3333433333%;
}

.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00102px);
  -ms-transform: translateY(-1.28123em) scale(0.75);
  width: 133.3333533333%;
}

.mat-form-field-appearance-legacy .mat-form-field-label {
  top: 1.28125em;
}

.mat-form-field-appearance-legacy .mat-form-field-underline {
  bottom: 1.25em;
}

.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {
  margin-top: 0.5416666667em;
  top: calc(100% - 1.6666666667em);
}

@media print {
  .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28122em) scale(0.75);
  }

  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28121em) scale(0.75);
  }

  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.2812em) scale(0.75);
  }
}

.mat-form-field-appearance-fill .mat-form-field-infix {
  padding: 0.25em 0 0.75em 0;
}

.mat-form-field-appearance-fill .mat-form-field-label {
  top: 1.09375em;
  margin-top: -0.5em;
}

.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59375em) scale(0.75);
  width: 133.3333333333%;
}

.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59374em) scale(0.75);
  width: 133.3333433333%;
}

.mat-form-field-appearance-outline .mat-form-field-infix {
  padding: 1em 0 1em 0;
}

.mat-form-field-appearance-outline .mat-form-field-label {
  top: 1.84375em;
  margin-top: -0.25em;
}

.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59375em) scale(0.75);
  width: 133.3333333333%;
}

.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59374em) scale(0.75);
  width: 133.3333433333%;
}

.mat-grid-tile-header,
.mat-grid-tile-footer {
  font-size: 14px;
}

.mat-grid-tile-header .mat-line,
.mat-grid-tile-footer .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}

.mat-grid-tile-header .mat-line:nth-child(n+2),
.mat-grid-tile-footer .mat-line:nth-child(n+2) {
  font-size: 12px;
}

input.mat-input-element {
  margin-top: -0.0625em;
}

.mat-menu-item {
  font-family: var(--font);
  font-size: 14px;
  font-weight: 400;
}

.mat-paginator,
.mat-paginator-page-size .mat-select-trigger {
  font-family: var(--font);
  font-size: 12px;
}

.mat-radio-button {
  font-family: var(--font);
}

.mat-select {
  font-family: var(--font);
}

.mat-select-trigger {
  height: 1.125em;
}

.mat-slide-toggle-content {
  font-family: var(--font);
}

.mat-slider-thumb-label-text {
  font-family: var(--font);
  font-size: 12px;
  font-weight: 500;
}

.mat-stepper-vertical, .mat-stepper-horizontal {
  font-family: var(--font);
}

.mat-step-label {
  font-size: 14px;
  font-weight: 400;
}

.mat-step-sub-label-error {
  font-weight: normal;
}

.mat-step-label-error {
  font-size: 14px;
}

.mat-step-label-selected {
  font-size: 14px;
  font-weight: 500;
}

.mat-tab-group {
  font-family: var(--font);
}

.mat-tab-label, .mat-tab-link {
  font-family: var(--font);
  font-size: 14px;
  font-weight: 500;
}

.mat-toolbar,
.mat-toolbar h1,
.mat-toolbar h2,
.mat-toolbar h3,
.mat-toolbar h4,
.mat-toolbar h5,
.mat-toolbar h6 {
  font: 500 18px/26px var(--font);
  letter-spacing: -0.014em;
  margin: 0;
}

.mat-tooltip {
  font-family: var(--font);
  font-size: 10px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.mat-tooltip-handset {
  font-size: 14px;
  padding-top: 8px;
  padding-bottom: 8px;
}

.mat-list-item {
  font-family: var(--font);
}

.mat-list-option {
  font-family: var(--font);
}

.mat-list-base .mat-list-item {
  font-size: 16px;
}

.mat-list-base .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}

.mat-list-base .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 14px;
}

.mat-list-base .mat-list-option {
  font-size: 16px;
}

.mat-list-base .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}

.mat-list-base .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 14px;
}

.mat-list-base .mat-subheader {
  font-family: var(--font);
  font-size: 14px;
  font-weight: 500;
}

.mat-list-base[dense] .mat-list-item {
  font-size: 12px;
}

.mat-list-base[dense] .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}

.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 12px;
}

.mat-list-base[dense] .mat-list-option {
  font-size: 12px;
}

.mat-list-base[dense] .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}

.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 12px;
}

.mat-list-base[dense] .mat-subheader {
  font-family: var(--font);
  font-size: 12px;
  font-weight: 500;
}

.mat-option {
  font-family: var(--font);
  font-size: 16px;
}

.mat-optgroup-label {
  font: 500 14px/24px var(--font);
  letter-spacing: -0.006em;
}

.mat-simple-snackbar {
  font-family: var(--font);
  font-size: 14px;
}

.mat-simple-snackbar-action {
  line-height: 1;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
}

.mat-tree {
  font-family: var(--font);
}

.mat-tree-node,
.mat-nested-tree-node {
  font-weight: 400;
  font-size: 14px;
}

.mat-ripple {
  overflow: hidden;
  position: relative;
}

.mat-ripple:not(:empty) {
  transform: translateZ(0);
}

.mat-ripple.mat-ripple-unbounded {
  overflow: visible;
}

.mat-ripple-element {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);
  transform: scale(0);
}

.cdk-high-contrast-active .mat-ripple-element {
  display: none;
}

.cdk-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.cdk-overlay-container, .cdk-global-overlay-wrapper {
  pointer-events: none;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.cdk-overlay-container {
  position: fixed;
  z-index: 1000;
}

.cdk-overlay-container:empty {
  display: none;
}

.cdk-global-overlay-wrapper {
  display: flex;
  position: absolute;
  z-index: 1000;
}

.cdk-overlay-pane {
  position: absolute;
  pointer-events: auto;
  box-sizing: border-box;
  z-index: 1000;
  display: flex;
  max-width: 100%;
  max-height: 100%;
}

.cdk-overlay-backdrop {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
  opacity: 0;
}

.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {
  opacity: 1;
}

.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {
  opacity: 0.6;
}

.cdk-overlay-dark-backdrop {
  background: rgba(0, 0, 0, 0.32);
}

.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {
  opacity: 0;
}

.cdk-overlay-connected-position-bounding-box {
  position: absolute;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  min-width: 1px;
  min-height: 1px;
}

.cdk-global-scrollblock {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}

@-webkit-keyframes cdk-text-field-autofill-start {
  /*!*/
}

@keyframes cdk-text-field-autofill-start {
  /*!*/
}

@-webkit-keyframes cdk-text-field-autofill-end {
  /*!*/
}

@keyframes cdk-text-field-autofill-end {
  /*!*/
}

.cdk-text-field-autofill-monitored:-webkit-autofill {
  -webkit-animation: cdk-text-field-autofill-start 0s 1ms;
          animation: cdk-text-field-autofill-start 0s 1ms;
}

.cdk-text-field-autofill-monitored:not(:-webkit-autofill) {
  -webkit-animation: cdk-text-field-autofill-end 0s 1ms;
          animation: cdk-text-field-autofill-end 0s 1ms;
}

textarea.cdk-textarea-autosize {
  resize: none;
}

textarea.cdk-textarea-autosize-measuring {
  padding: 2px 0 !important;
  box-sizing: content-box !important;
  height: auto !important;
  overflow: hidden !important;
}

textarea.cdk-textarea-autosize-measuring-firefox {
  padding: 2px 0 !important;
  box-sizing: content-box !important;
  height: 0 !important;
}

.mat-focus-indicator {
  position: relative;
}

.mat-mdc-focus-indicator {
  position: relative;
}

.mat-ripple-element {
  background-color: rgba(0, 0, 0, 0.1);
}

.mat-option {
  color: black;
}

.mat-option:hover:not(.mat-option-disabled), .mat-option:focus:not(.mat-option-disabled) {
  background: rgba(0, 0, 0, 0.04);
}

.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {
  background: rgba(0, 0, 0, 0.04);
}

.mat-option.mat-active {
  background: rgba(0, 0, 0, 0.04);
  color: black;
}

.mat-option.mat-option-disabled {
  color: rgba(0, 0, 0, 0.38);
}

.mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {
  color: rgba(var(--color-primary), 1);
}

.mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {
  color: rgba(var(--color-accent), 1);
}

.mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {
  color: rgba(var(--color-warn), 1);
}

.mat-optgroup-label {
  color: rgba(0, 0, 0, 0.54);
}

.mat-optgroup-disabled .mat-optgroup-label {
  color: rgba(0, 0, 0, 0.38);
}

.mat-pseudo-checkbox {
  color: rgba(0, 0, 0, 0.54);
}

.mat-pseudo-checkbox::after {
  color: #fafafa;
}

.mat-pseudo-checkbox-disabled {
  color: #b0b0b0;
}

.mat-primary .mat-pseudo-checkbox-checked,
.mat-primary .mat-pseudo-checkbox-indeterminate {
  background: rgba(var(--color-primary), 1);
}

.mat-pseudo-checkbox-checked,
.mat-pseudo-checkbox-indeterminate,
.mat-accent .mat-pseudo-checkbox-checked,
.mat-accent .mat-pseudo-checkbox-indeterminate {
  background: rgba(var(--color-accent), 1);
}

.mat-warn .mat-pseudo-checkbox-checked,
.mat-warn .mat-pseudo-checkbox-indeterminate {
  background: rgba(var(--color-warn), 1);
}

.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,
.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {
  background: #b0b0b0;
}

.mat-app-background {
  background-color: #fafafa;
  color: black;
}

.mat-elevation-z0 {
  box-shadow: 0px 0px 0px 0px rgba(82, 63, 104, 0.06), 0px 0px 0px 0px rgba(82, 63, 104, 0.042), 0px 0px 0px 0px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z1 {
  box-shadow: 0px 2px 1px -1px rgba(82, 63, 104, 0.06), 0px 1px 1px 0px rgba(82, 63, 104, 0.042), 0px 1px 3px 0px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z2 {
  box-shadow: 0px 3px 1px -2px rgba(82, 63, 104, 0.06), 0px 2px 2px 0px rgba(82, 63, 104, 0.042), 0px 1px 5px 0px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z3 {
  box-shadow: 0px 3px 3px -2px rgba(82, 63, 104, 0.06), 0px 3px 4px 0px rgba(82, 63, 104, 0.042), 0px 1px 8px 0px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z4 {
  box-shadow: 0px 2px 4px -1px rgba(82, 63, 104, 0.06), 0px 4px 5px 0px rgba(82, 63, 104, 0.042), 0px 1px 10px 0px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z5 {
  box-shadow: 0px 3px 5px -1px rgba(82, 63, 104, 0.06), 0px 5px 8px 0px rgba(82, 63, 104, 0.042), 0px 1px 14px 0px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z6 {
  box-shadow: 0px 3px 5px -1px rgba(82, 63, 104, 0.06), 0px 6px 10px 0px rgba(82, 63, 104, 0.042), 0px 1px 18px 0px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z7 {
  box-shadow: 0px 4px 5px -2px rgba(82, 63, 104, 0.06), 0px 7px 10px 1px rgba(82, 63, 104, 0.042), 0px 2px 16px 1px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z8 {
  box-shadow: 0px 5px 5px -3px rgba(82, 63, 104, 0.06), 0px 8px 10px 1px rgba(82, 63, 104, 0.042), 0px 3px 14px 2px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z9 {
  box-shadow: 0px 5px 6px -3px rgba(82, 63, 104, 0.06), 0px 9px 12px 1px rgba(82, 63, 104, 0.042), 0px 3px 16px 2px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z10 {
  box-shadow: 0px 6px 6px -3px rgba(82, 63, 104, 0.06), 0px 10px 14px 1px rgba(82, 63, 104, 0.042), 0px 4px 18px 3px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z11 {
  box-shadow: 0px 6px 7px -4px rgba(82, 63, 104, 0.06), 0px 11px 15px 1px rgba(82, 63, 104, 0.042), 0px 4px 20px 3px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z12 {
  box-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06), 0px 12px 17px 2px rgba(82, 63, 104, 0.042), 0px 5px 22px 4px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z13 {
  box-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06), 0px 13px 19px 2px rgba(82, 63, 104, 0.042), 0px 5px 24px 4px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z14 {
  box-shadow: 0px 7px 9px -4px rgba(82, 63, 104, 0.06), 0px 14px 21px 2px rgba(82, 63, 104, 0.042), 0px 5px 26px 4px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z15 {
  box-shadow: 0px 8px 9px -5px rgba(82, 63, 104, 0.06), 0px 15px 22px 2px rgba(82, 63, 104, 0.042), 0px 6px 28px 5px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z16 {
  box-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06), 0px 16px 24px 2px rgba(82, 63, 104, 0.042), 0px 6px 30px 5px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z17 {
  box-shadow: 0px 8px 11px -5px rgba(82, 63, 104, 0.06), 0px 17px 26px 2px rgba(82, 63, 104, 0.042), 0px 6px 32px 5px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z18 {
  box-shadow: 0px 9px 11px -5px rgba(82, 63, 104, 0.06), 0px 18px 28px 2px rgba(82, 63, 104, 0.042), 0px 7px 34px 6px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z19 {
  box-shadow: 0px 9px 12px -6px rgba(82, 63, 104, 0.06), 0px 19px 29px 2px rgba(82, 63, 104, 0.042), 0px 7px 36px 6px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z20 {
  box-shadow: 0px 10px 13px -6px rgba(82, 63, 104, 0.06), 0px 20px 31px 3px rgba(82, 63, 104, 0.042), 0px 8px 38px 7px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z21 {
  box-shadow: 0px 10px 13px -6px rgba(82, 63, 104, 0.06), 0px 21px 33px 3px rgba(82, 63, 104, 0.042), 0px 8px 40px 7px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z22 {
  box-shadow: 0px 10px 14px -6px rgba(82, 63, 104, 0.06), 0px 22px 35px 3px rgba(82, 63, 104, 0.042), 0px 8px 42px 7px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z23 {
  box-shadow: 0px 11px 14px -7px rgba(82, 63, 104, 0.06), 0px 23px 36px 3px rgba(82, 63, 104, 0.042), 0px 9px 44px 8px rgba(82, 63, 104, 0.036);
}

.mat-elevation-z24 {
  box-shadow: 0px 11px 15px -7px rgba(82, 63, 104, 0.06), 0px 24px 38px 3px rgba(82, 63, 104, 0.042), 0px 9px 46px 8px rgba(82, 63, 104, 0.036);
}

.mat-theme-loaded-marker {
  display: none;
}

.mat-autocomplete-panel {
  background: white;
  color: black;
}

.mat-autocomplete-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(82, 63, 104, 0.06), 0px 4px 5px 0px rgba(82, 63, 104, 0.042), 0px 1px 10px 0px rgba(82, 63, 104, 0.036);
}

.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {
  background: white;
}

.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {
  color: black;
}

.mat-badge-content {
  color: rgba(var(--color-primary-contrast), 1);
  background: rgba(var(--color-primary), 1);
}

.cdk-high-contrast-active .mat-badge-content {
  outline: solid 1px;
  border-radius: 0;
}

.mat-badge-accent .mat-badge-content {
  background: rgba(var(--color-accent), 1);
  color: rgba(var(--color-accent-contrast), 1);
}

.mat-badge-warn .mat-badge-content {
  color: rgba(var(--color-warn-contrast), 1);
  background: rgba(var(--color-warn), 1);
}

.mat-badge {
  position: relative;
}

.mat-badge-hidden .mat-badge-content {
  display: none;
}

.mat-badge-disabled .mat-badge-content {
  background: #b9b9b9;
  color: rgba(0, 0, 0, 0.38);
}

.mat-badge-content {
  position: absolute;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  transition: transform 200ms ease-in-out;
  transform: scale(0.6);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
}

.ng-animate-disabled .mat-badge-content,
.mat-badge-content._mat-animation-noopable {
  transition: none;
}

.mat-badge-content.mat-badge-active {
  transform: none;
}

.mat-badge-small .mat-badge-content {
  width: 16px;
  height: 16px;
  line-height: 16px;
}

.mat-badge-small.mat-badge-above .mat-badge-content {
  top: -8px;
}

.mat-badge-small.mat-badge-below .mat-badge-content {
  bottom: -8px;
}

.mat-badge-small.mat-badge-before .mat-badge-content {
  left: -16px;
}

[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content {
  left: auto;
  right: -16px;
}

.mat-badge-small.mat-badge-after .mat-badge-content {
  right: -16px;
}

[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content {
  right: auto;
  left: -16px;
}

.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -8px;
}

[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -8px;
}

.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -8px;
}

[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -8px;
}

.mat-badge-medium .mat-badge-content {
  width: 22px;
  height: 22px;
  line-height: 22px;
}

.mat-badge-medium.mat-badge-above .mat-badge-content {
  top: -11px;
}

.mat-badge-medium.mat-badge-below .mat-badge-content {
  bottom: -11px;
}

.mat-badge-medium.mat-badge-before .mat-badge-content {
  left: -22px;
}

[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: auto;
  right: -22px;
}

.mat-badge-medium.mat-badge-after .mat-badge-content {
  right: -22px;
}

[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: auto;
  left: -22px;
}

.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -11px;
}

[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -11px;
}

.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -11px;
}

[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -11px;
}

.mat-badge-large .mat-badge-content {
  width: 28px;
  height: 28px;
  line-height: 28px;
}

.mat-badge-large.mat-badge-above .mat-badge-content {
  top: -14px;
}

.mat-badge-large.mat-badge-below .mat-badge-content {
  bottom: -14px;
}

.mat-badge-large.mat-badge-before .mat-badge-content {
  left: -28px;
}

[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content {
  left: auto;
  right: -28px;
}

.mat-badge-large.mat-badge-after .mat-badge-content {
  right: -28px;
}

[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content {
  right: auto;
  left: -28px;
}

.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -14px;
}

[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -14px;
}

.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -14px;
}

[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -14px;
}

.mat-bottom-sheet-container {
  box-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06), 0px 16px 24px 2px rgba(82, 63, 104, 0.042), 0px 6px 30px 5px rgba(82, 63, 104, 0.036);
  background: white;
  color: black;
}

.mat-button, .mat-icon-button, .mat-stroked-button {
  color: inherit;
  background: transparent;
}

.mat-button.mat-primary, .mat-icon-button.mat-primary, .mat-stroked-button.mat-primary {
  color: rgba(var(--color-primary), 1);
}

.mat-button.mat-accent, .mat-icon-button.mat-accent, .mat-stroked-button.mat-accent {
  color: rgba(var(--color-accent), 1);
}

.mat-button.mat-warn, .mat-icon-button.mat-warn, .mat-stroked-button.mat-warn {
  color: rgba(var(--color-warn), 1);
}

.mat-button.mat-primary.mat-button-disabled, .mat-button.mat-accent.mat-button-disabled, .mat-button.mat-warn.mat-button-disabled, .mat-button.mat-button-disabled.mat-button-disabled, .mat-icon-button.mat-primary.mat-button-disabled, .mat-icon-button.mat-accent.mat-button-disabled, .mat-icon-button.mat-warn.mat-button-disabled, .mat-icon-button.mat-button-disabled.mat-button-disabled, .mat-stroked-button.mat-primary.mat-button-disabled, .mat-stroked-button.mat-accent.mat-button-disabled, .mat-stroked-button.mat-warn.mat-button-disabled, .mat-stroked-button.mat-button-disabled.mat-button-disabled {
  color: rgba(0, 0, 0, 0.26);
}

.mat-button.mat-primary .mat-button-focus-overlay, .mat-icon-button.mat-primary .mat-button-focus-overlay, .mat-stroked-button.mat-primary .mat-button-focus-overlay {
  background-color: rgba(var(--color-primary), 1);
}

.mat-button.mat-accent .mat-button-focus-overlay, .mat-icon-button.mat-accent .mat-button-focus-overlay, .mat-stroked-button.mat-accent .mat-button-focus-overlay {
  background-color: rgba(var(--color-accent), 1);
}

.mat-button.mat-warn .mat-button-focus-overlay, .mat-icon-button.mat-warn .mat-button-focus-overlay, .mat-stroked-button.mat-warn .mat-button-focus-overlay {
  background-color: rgba(var(--color-warn), 1);
}

.mat-button.mat-button-disabled .mat-button-focus-overlay, .mat-icon-button.mat-button-disabled .mat-button-focus-overlay, .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay {
  background-color: transparent;
}

.mat-button .mat-ripple-element, .mat-icon-button .mat-ripple-element, .mat-stroked-button .mat-ripple-element {
  opacity: 0.1;
  background-color: currentColor;
}

.mat-button-focus-overlay {
  background: black;
}

.mat-stroked-button:not(.mat-button-disabled) {
  border-color: rgba(82, 63, 105, 0.06);
}

.mat-flat-button, .mat-raised-button, .mat-fab, .mat-mini-fab {
  color: black;
  background-color: white;
}

.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {
  color: rgba(var(--color-primary-contrast), 1);
}

.mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {
  color: rgba(var(--color-accent-contrast), 1);
}

.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {
  color: rgba(var(--color-warn-contrast), 1);
}

.mat-flat-button.mat-primary.mat-button-disabled, .mat-flat-button.mat-accent.mat-button-disabled, .mat-flat-button.mat-warn.mat-button-disabled, .mat-flat-button.mat-button-disabled.mat-button-disabled, .mat-raised-button.mat-primary.mat-button-disabled, .mat-raised-button.mat-accent.mat-button-disabled, .mat-raised-button.mat-warn.mat-button-disabled, .mat-raised-button.mat-button-disabled.mat-button-disabled, .mat-fab.mat-primary.mat-button-disabled, .mat-fab.mat-accent.mat-button-disabled, .mat-fab.mat-warn.mat-button-disabled, .mat-fab.mat-button-disabled.mat-button-disabled, .mat-mini-fab.mat-primary.mat-button-disabled, .mat-mini-fab.mat-accent.mat-button-disabled, .mat-mini-fab.mat-warn.mat-button-disabled, .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  color: rgba(0, 0, 0, 0.26);
}

.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {
  background-color: rgba(var(--color-primary), 1);
}

.mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {
  background-color: rgba(var(--color-accent), 1);
}

.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {
  background-color: rgba(var(--color-warn), 1);
}

.mat-flat-button.mat-primary.mat-button-disabled, .mat-flat-button.mat-accent.mat-button-disabled, .mat-flat-button.mat-warn.mat-button-disabled, .mat-flat-button.mat-button-disabled.mat-button-disabled, .mat-raised-button.mat-primary.mat-button-disabled, .mat-raised-button.mat-accent.mat-button-disabled, .mat-raised-button.mat-warn.mat-button-disabled, .mat-raised-button.mat-button-disabled.mat-button-disabled, .mat-fab.mat-primary.mat-button-disabled, .mat-fab.mat-accent.mat-button-disabled, .mat-fab.mat-warn.mat-button-disabled, .mat-fab.mat-button-disabled.mat-button-disabled, .mat-mini-fab.mat-primary.mat-button-disabled, .mat-mini-fab.mat-accent.mat-button-disabled, .mat-mini-fab.mat-warn.mat-button-disabled, .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  background-color: rgba(0, 0, 0, 0.12);
}

.mat-flat-button.mat-primary .mat-ripple-element, .mat-raised-button.mat-primary .mat-ripple-element, .mat-fab.mat-primary .mat-ripple-element, .mat-mini-fab.mat-primary .mat-ripple-element {
  background-color: rgba(var(--color-primary-contrast),0.1);
}

.mat-flat-button.mat-accent .mat-ripple-element, .mat-raised-button.mat-accent .mat-ripple-element, .mat-fab.mat-accent .mat-ripple-element, .mat-mini-fab.mat-accent .mat-ripple-element {
  background-color: rgba(var(--color-accent-contrast),0.1);
}

.mat-flat-button.mat-warn .mat-ripple-element, .mat-raised-button.mat-warn .mat-ripple-element, .mat-fab.mat-warn .mat-ripple-element, .mat-mini-fab.mat-warn .mat-ripple-element {
  background-color: rgba(var(--color-warn-contrast),0.1);
}

.mat-stroked-button:not([class*=mat-elevation-z]), .mat-flat-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(82, 63, 104, 0.06), 0px 0px 0px 0px rgba(82, 63, 104, 0.042), 0px 0px 0px 0px rgba(82, 63, 104, 0.036);
}

.mat-raised-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(82, 63, 104, 0.06), 0px 2px 2px 0px rgba(82, 63, 104, 0.042), 0px 1px 5px 0px rgba(82, 63, 104, 0.036);
}

.mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 5px 5px -3px rgba(82, 63, 104, 0.06), 0px 8px 10px 1px rgba(82, 63, 104, 0.042), 0px 3px 14px 2px rgba(82, 63, 104, 0.036);
}

.mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(82, 63, 104, 0.06), 0px 0px 0px 0px rgba(82, 63, 104, 0.042), 0px 0px 0px 0px rgba(82, 63, 104, 0.036);
}

.mat-fab:not([class*=mat-elevation-z]), .mat-mini-fab:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 5px -1px rgba(82, 63, 104, 0.06), 0px 6px 10px 0px rgba(82, 63, 104, 0.042), 0px 1px 18px 0px rgba(82, 63, 104, 0.036);
}

.mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]), .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 7px 8px -4px rgba(82, 63, 104, 0.06), 0px 12px 17px 2px rgba(82, 63, 104, 0.042), 0px 5px 22px 4px rgba(82, 63, 104, 0.036);
}

.mat-fab.mat-button-disabled:not([class*=mat-elevation-z]), .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(82, 63, 104, 0.06), 0px 0px 0px 0px rgba(82, 63, 104, 0.042), 0px 0px 0px 0px rgba(82, 63, 104, 0.036);
}

.mat-button-toggle-standalone,
.mat-button-toggle-group {
  box-shadow: 0px 3px 1px -2px rgba(82, 63, 104, 0.06), 0px 2px 2px 0px rgba(82, 63, 104, 0.042), 0px 1px 5px 0px rgba(82, 63, 104, 0.036);
}

.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.mat-button-toggle-group-appearance-standard {
  box-shadow: none;
}

.mat-button-toggle {
  color: rgba(0, 0, 0, 0.38);
}

.mat-button-toggle .mat-button-toggle-focus-overlay {
  background-color: rgba(0, 0, 0, 0.12);
}

.mat-button-toggle-appearance-standard {
  color: black;
  background: white;
}

.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
  background-color: black;
}

.mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: solid 1px rgba(82, 63, 105, 0.06);
}

[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: solid 1px rgba(82, 63, 105, 0.06);
}

.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: none;
  border-top: solid 1px rgba(82, 63, 105, 0.06);
}

.mat-button-toggle-checked {
  background-color: #e0e0e0;
  color: rgba(0, 0, 0, 0.54);
}

.mat-button-toggle-checked.mat-button-toggle-appearance-standard {
  color: black;
}

.mat-button-toggle-disabled {
  color: rgba(0, 0, 0, 0.26);
  background-color: #eeeeee;
}

.mat-button-toggle-disabled.mat-button-toggle-appearance-standard {
  background: white;
}

.mat-button-toggle-disabled.mat-button-toggle-checked {
  background-color: #bdbdbd;
}

.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.mat-button-toggle-group-appearance-standard {
  border: solid 1px rgba(82, 63, 105, 0.06);
}

.mat-card {
  background: white;
  color: black;
}

.mat-card:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 1px -1px rgba(82, 63, 104, 0.06), 0px 1px 1px 0px rgba(82, 63, 104, 0.042), 0px 1px 3px 0px rgba(82, 63, 104, 0.036);
}

.mat-card.mat-card-flat:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(82, 63, 104, 0.06), 0px 0px 0px 0px rgba(82, 63, 104, 0.042), 0px 0px 0px 0px rgba(82, 63, 104, 0.036);
}

.mat-card-subtitle {
  color: rgba(0, 0, 0, 0.54);
}

.mat-checkbox-frame {
  border-color: rgba(0, 0, 0, 0.54);
}

.mat-checkbox-checkmark {
  fill: #fafafa;
}

.mat-checkbox-checkmark-path {
  stroke: #fafafa !important;
}

.mat-checkbox-mixedmark {
  background-color: #fafafa;
}

.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: rgba(var(--color-primary), 1);
}

.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: rgba(var(--color-accent), 1);
}

.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .mat-checkbox-checked.mat-warn .mat-checkbox-background {
  background-color: rgba(var(--color-warn), 1);
}

.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #b0b0b0;
}

.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {
  border-color: #b0b0b0;
}

.mat-checkbox-disabled .mat-checkbox-label {
  color: rgba(0, 0, 0, 0.54);
}

.mat-checkbox .mat-ripple-element {
  background-color: black;
}

.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,
.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element {
  background: rgba(var(--color-primary), 1);
}

.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,
.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {
  background: rgba(var(--color-accent), 1);
}

.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,
.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element {
  background: rgba(var(--color-warn), 1);
}

.mat-chip.mat-standard-chip {
  background-color: #e0e0e0;
  color: black;
}

.mat-chip.mat-standard-chip .mat-chip-remove {
  color: black;
  opacity: 0.4;
}

.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {
  box-shadow: 0px 3px 3px -2px rgba(82, 63, 104, 0.06), 0px 3px 4px 0px rgba(82, 63, 104, 0.042), 0px 1px 8px 0px rgba(82, 63, 104, 0.036);
}

.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {
  opacity: 0.54;
}

.mat-chip.mat-standard-chip.mat-chip-disabled {
  opacity: 0.4;
}

.mat-chip.mat-standard-chip::after {
  background: black;
}

.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {
  background-color: rgba(var(--color-primary), 1);
  color: rgba(var(--color-primary-contrast), 1);
}

.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {
  color: rgba(var(--color-primary-contrast), 1);
  opacity: 0.4;
}

.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {
  background-color: rgba(var(--color-primary-contrast),0.1);
  opacity: 0.1;
}

.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {
  background-color: rgba(var(--color-warn), 1);
  color: rgba(var(--color-warn-contrast), 1);
}

.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {
  color: rgba(var(--color-warn-contrast), 1);
  opacity: 0.4;
}

.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {
  background-color: rgba(var(--color-warn-contrast),0.1);
  opacity: 0.1;
}

.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {
  background-color: rgba(var(--color-accent), 1);
  color: rgba(var(--color-accent-contrast), 1);
}

.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {
  color: rgba(var(--color-accent-contrast), 1);
  opacity: 0.4;
}

.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {
  background-color: rgba(var(--color-accent-contrast),0.1);
  opacity: 0.1;
}

.mat-table {
  background: white;
}

.mat-table thead, .mat-table tbody, .mat-table tfoot,
mat-header-row, mat-row, mat-footer-row,
[mat-header-row], [mat-row], [mat-footer-row],
.mat-table-sticky {
  background: inherit;
}

mat-row, mat-header-row, mat-footer-row,
th.mat-header-cell, td.mat-cell, td.mat-footer-cell {
  border-bottom-color: rgba(82, 63, 105, 0.06);
}

.mat-header-cell {
  color: rgba(0, 0, 0, 0.54);
}

.mat-cell, .mat-footer-cell {
  color: black;
}

.mat-calendar-arrow {
  border-top-color: rgba(0, 0, 0, 0.54);
}

.mat-datepicker-toggle,
.mat-datepicker-content .mat-calendar-next-button,
.mat-datepicker-content .mat-calendar-previous-button {
  color: rgba(0, 0, 0, 0.54);
}

.mat-calendar-table-header {
  color: rgba(0, 0, 0, 0.38);
}

.mat-calendar-table-header-divider::after {
  background: rgba(82, 63, 105, 0.06);
}

.mat-calendar-body-label {
  color: rgba(0, 0, 0, 0.54);
}

.mat-calendar-body-cell-content,
.mat-date-range-input-separator {
  color: black;
  border-color: transparent;
}

.mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  color: rgba(0, 0, 0, 0.38);
}

.mat-form-field-disabled .mat-date-range-input-separator {
  color: rgba(0, 0, 0, 0.38);
}

.mat-calendar-body-in-preview {
  color: rgba(82, 63, 105, 0.12);
}

.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(0, 0, 0, 0.38);
}

.mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(0, 0, 0, 0.18);
}

.mat-calendar-body-in-range::before {
  background: rgba(var(--color-primary),0.2);
}

.mat-calendar-body-comparison-identical,
.mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}

.mat-calendar-body-comparison-bridge-start::before,
[dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(var(--color-primary),0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}

.mat-calendar-body-comparison-bridge-end::before,
[dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(var(--color-primary),0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}

.mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}

.mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}

.mat-calendar-body-selected {
  background-color: rgba(var(--color-primary), 1);
  color: rgba(var(--color-primary-contrast), 1);
}

.mat-calendar-body-disabled > .mat-calendar-body-selected {
  opacity: 0.2;
}

.mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px rgba(var(--color-primary-contrast), 1);
}

.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(var(--color-primary),0.3);
}

.mat-datepicker-content {
  box-shadow: 0px 2px 4px -1px rgba(82, 63, 104, 0.06), 0px 4px 5px 0px rgba(82, 63, 104, 0.042), 0px 1px 10px 0px rgba(82, 63, 104, 0.036);
  background-color: white;
  color: black;
}

.mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {
  background: rgba(var(--color-accent),0.2);
}

.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,
.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}

.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,
.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(var(--color-accent),0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}

.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,
.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(var(--color-accent),0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}

.mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}

.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}

.mat-datepicker-content.mat-accent .mat-calendar-body-selected {
  background-color: rgba(var(--color-accent), 1);
  color: rgba(var(--color-accent-contrast), 1);
}

.mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {
  opacity: 0.2;
}

.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px rgba(var(--color-accent-contrast), 1);
}

.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(var(--color-accent),0.3);
}

.mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {
  background: rgba(var(--color-warn),0.2);
}

.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,
.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}

.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,
.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(var(--color-warn),0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}

.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,
.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(var(--color-warn),0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}

.mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}

.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}

.mat-datepicker-content.mat-warn .mat-calendar-body-selected {
  background-color: rgba(var(--color-warn), 1);
  color: rgba(var(--color-warn-contrast), 1);
}

.mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {
  opacity: 0.2;
}

.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px rgba(var(--color-warn-contrast), 1);
}

.mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(var(--color-warn),0.3);
}

.mat-datepicker-content-touch {
  box-shadow: 0px 0px 0px 0px rgba(82, 63, 104, 0.06), 0px 0px 0px 0px rgba(82, 63, 104, 0.042), 0px 0px 0px 0px rgba(82, 63, 104, 0.036);
}

.mat-datepicker-toggle-active {
  color: rgba(var(--color-primary), 1);
}

.mat-datepicker-toggle-active.mat-accent {
  color: rgba(var(--color-accent), 1);
}

.mat-datepicker-toggle-active.mat-warn {
  color: rgba(var(--color-warn), 1);
}

.mat-date-range-input-inner[disabled] {
  color: rgba(0, 0, 0, 0.38);
}

.mat-dialog-container {
  box-shadow: 0px 11px 15px -7px rgba(82, 63, 104, 0.06), 0px 24px 38px 3px rgba(82, 63, 104, 0.042), 0px 9px 46px 8px rgba(82, 63, 104, 0.036);
  background: white;
  color: black;
}

.mat-divider {
  border-top-color: rgba(82, 63, 105, 0.06);
}

.mat-divider-vertical {
  border-right-color: rgba(82, 63, 105, 0.06);
}

.mat-expansion-panel {
  background: white;
  color: black;
}

.mat-expansion-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(82, 63, 104, 0.06), 0px 2px 2px 0px rgba(82, 63, 104, 0.042), 0px 1px 5px 0px rgba(82, 63, 104, 0.036);
}

.mat-action-row {
  border-top-color: rgba(82, 63, 105, 0.06);
}

.mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]), .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]), .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]) {
  background: rgba(0, 0, 0, 0.04);
}

@media (hover: none) {
  .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover {
    background: white;
  }
}

.mat-expansion-panel-header-title {
  color: black;
}

.mat-expansion-panel-header-description,
.mat-expansion-indicator::after {
  color: rgba(0, 0, 0, 0.54);
}

.mat-expansion-panel-header[aria-disabled=true] {
  color: rgba(0, 0, 0, 0.26);
}

.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,
.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description {
  color: inherit;
}

.mat-form-field-label {
  color: rgba(0, 0, 0, 0.6);
}

.mat-hint {
  color: rgba(0, 0, 0, 0.6);
}

.mat-form-field.mat-focused .mat-form-field-label {
  color: rgba(var(--color-primary), 1);
}

.mat-form-field.mat-focused .mat-form-field-label.mat-accent {
  color: rgba(var(--color-accent), 1);
}

.mat-form-field.mat-focused .mat-form-field-label.mat-warn {
  color: rgba(var(--color-warn), 1);
}

.mat-focused .mat-form-field-required-marker {
  color: rgba(var(--color-accent), 1);
}

.mat-form-field-ripple {
  background-color: rgba(82, 63, 105, 0.87);
}

.mat-form-field.mat-focused .mat-form-field-ripple {
  background-color: rgba(var(--color-primary), 1);
}

.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {
  background-color: rgba(var(--color-accent), 1);
}

.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {
  background-color: rgba(var(--color-warn), 1);
}

.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {
  color: rgba(var(--color-primary), 1);
}

.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {
  color: rgba(var(--color-accent), 1);
}

.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {
  color: rgba(var(--color-warn), 1);
}

.mat-form-field.mat-form-field-invalid .mat-form-field-label {
  color: rgba(var(--color-warn), 1);
}

.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,
.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {
  color: rgba(var(--color-warn), 1);
}

.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,
.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {
  background-color: rgba(var(--color-warn), 1);
}

.mat-error {
  color: rgba(var(--color-warn), 1);
}

.mat-form-field-appearance-legacy .mat-form-field-label {
  color: rgba(0, 0, 0, 0.54);
}

.mat-form-field-appearance-legacy .mat-hint {
  color: rgba(0, 0, 0, 0.54);
}

.mat-form-field-appearance-legacy .mat-form-field-underline {
  background-color: rgba(82, 63, 105, 0.42);
}

.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(82, 63, 105, 0.42) 0%, rgba(82, 63, 105, 0.42) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}

.mat-form-field-appearance-standard .mat-form-field-underline {
  background-color: rgba(82, 63, 105, 0.42);
}

.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(82, 63, 105, 0.42) 0%, rgba(82, 63, 105, 0.42) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}

.mat-form-field-appearance-fill .mat-form-field-flex {
  background-color: rgba(0, 0, 0, 0.04);
}

.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {
  background-color: rgba(0, 0, 0, 0.02);
}

.mat-form-field-appearance-fill .mat-form-field-underline::before {
  background-color: rgba(82, 63, 105, 0.42);
}

.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {
  color: rgba(0, 0, 0, 0.38);
}

.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {
  background-color: transparent;
}

.mat-form-field-appearance-outline .mat-form-field-outline {
  color: rgba(82, 63, 105, 0.12);
}

.mat-form-field-appearance-outline .mat-form-field-outline-thick {
  color: rgba(82, 63, 105, 0.87);
}

.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: rgba(var(--color-primary), 1);
}

.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {
  color: rgba(var(--color-accent), 1);
}

.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {
  color: rgba(var(--color-warn), 1);
}

.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {
  color: rgba(var(--color-warn), 1);
}

.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {
  color: rgba(0, 0, 0, 0.38);
}

.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {
  color: rgba(82, 63, 105, 0.06);
}

.mat-icon.mat-primary {
  color: rgba(var(--color-primary), 1);
}

.mat-icon.mat-accent {
  color: rgba(var(--color-accent), 1);
}

.mat-icon.mat-warn {
  color: rgba(var(--color-warn), 1);
}

.mat-form-field-type-mat-native-select .mat-form-field-infix::after {
  color: rgba(0, 0, 0, 0.54);
}

.mat-input-element:disabled,
.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {
  color: rgba(0, 0, 0, 0.38);
}

.mat-input-element {
  caret-color: rgba(var(--color-primary), 1);
}

.mat-input-element::-moz-placeholder {
  color: rgba(0, 0, 0, 0.42);
}

.mat-input-element::placeholder {
  color: rgba(0, 0, 0, 0.42);
}

.mat-input-element::-moz-placeholder {
  color: rgba(0, 0, 0, 0.42);
}

.mat-input-element::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}

.mat-input-element:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}

.mat-form-field.mat-accent .mat-input-element {
  caret-color: rgba(var(--color-accent), 1);
}

.mat-form-field.mat-warn .mat-input-element,
.mat-form-field-invalid .mat-input-element {
  caret-color: rgba(var(--color-warn), 1);
}

.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {
  color: rgba(var(--color-warn), 1);
}

.mat-list-base .mat-list-item {
  color: black;
}

.mat-list-base .mat-list-option {
  color: black;
}

.mat-list-base .mat-subheader {
  color: rgba(0, 0, 0, 0.54);
}

.mat-list-item-disabled {
  background-color: #eeeeee;
}

.mat-list-option:hover, .mat-list-option:focus,
.mat-nav-list .mat-list-item:hover,
.mat-nav-list .mat-list-item:focus,
.mat-action-list .mat-list-item:hover,
.mat-action-list .mat-list-item:focus {
  background: rgba(0, 0, 0, 0.04);
}

.mat-list-single-selected-option, .mat-list-single-selected-option:hover, .mat-list-single-selected-option:focus {
  background: rgba(0, 0, 0, 0.12);
}

.mat-menu-panel {
  background: white;
}

.mat-menu-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(82, 63, 104, 0.06), 0px 4px 5px 0px rgba(82, 63, 104, 0.042), 0px 1px 10px 0px rgba(82, 63, 104, 0.036);
}

.mat-menu-item {
  background: transparent;
  color: black;
}

.mat-menu-item[disabled], .mat-menu-item[disabled]::after,
.mat-menu-item[disabled] .mat-icon-no-color {
  color: rgba(0, 0, 0, 0.38);
}

.mat-menu-item .mat-icon-no-color,
.mat-menu-item-submenu-trigger::after {
  color: rgba(0, 0, 0, 0.54);
}

.mat-menu-item:hover:not([disabled]),
.mat-menu-item.cdk-program-focused:not([disabled]),
.mat-menu-item.cdk-keyboard-focused:not([disabled]),
.mat-menu-item-highlighted:not([disabled]) {
  background: rgba(0, 0, 0, 0.04);
}

.mat-paginator {
  background: white;
}

.mat-paginator,
.mat-paginator-page-size .mat-select-trigger {
  color: rgba(0, 0, 0, 0.54);
}

.mat-paginator-decrement,
.mat-paginator-increment {
  border-top: 2px solid rgba(0, 0, 0, 0.54);
  border-right: 2px solid rgba(0, 0, 0, 0.54);
}

.mat-paginator-first,
.mat-paginator-last {
  border-top: 2px solid rgba(0, 0, 0, 0.54);
}

.mat-icon-button[disabled] .mat-paginator-decrement,
.mat-icon-button[disabled] .mat-paginator-increment,
.mat-icon-button[disabled] .mat-paginator-first,
.mat-icon-button[disabled] .mat-paginator-last {
  border-color: rgba(0, 0, 0, 0.38);
}

.mat-progress-bar-background {
  fill: rgba(var(--color-primary), 0.1);
}

.mat-progress-bar-buffer {
  background-color: rgba(var(--color-primary), 0.1);
}

.mat-progress-bar-fill::after {
  background-color: rgba(var(--color-primary), 1);
}

.mat-progress-bar.mat-accent .mat-progress-bar-background {
  fill: rgba(var(--color-accent), 0.1);
}

.mat-progress-bar.mat-accent .mat-progress-bar-buffer {
  background-color: rgba(var(--color-accent), 0.1);
}

.mat-progress-bar.mat-accent .mat-progress-bar-fill::after {
  background-color: rgba(var(--color-accent), 1);
}

.mat-progress-bar.mat-warn .mat-progress-bar-background {
  fill: rgba(var(--color-warn), 0.1);
}

.mat-progress-bar.mat-warn .mat-progress-bar-buffer {
  background-color: rgba(var(--color-warn), 0.1);
}

.mat-progress-bar.mat-warn .mat-progress-bar-fill::after {
  background-color: rgba(var(--color-warn), 1);
}

.mat-progress-spinner circle, .mat-spinner circle {
  stroke: rgba(var(--color-primary), 1);
}

.mat-progress-spinner.mat-accent circle, .mat-spinner.mat-accent circle {
  stroke: rgba(var(--color-accent), 1);
}

.mat-progress-spinner.mat-warn circle, .mat-spinner.mat-warn circle {
  stroke: rgba(var(--color-warn), 1);
}

.mat-radio-outer-circle {
  border-color: rgba(0, 0, 0, 0.54);
}

.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {
  border-color: rgba(var(--color-primary), 1);
}

.mat-radio-button.mat-primary .mat-radio-inner-circle,
.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple, .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {
  background-color: rgba(var(--color-primary), 1);
}

.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {
  border-color: rgba(var(--color-accent), 1);
}

.mat-radio-button.mat-accent .mat-radio-inner-circle,
.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple, .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {
  background-color: rgba(var(--color-accent), 1);
}

.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {
  border-color: rgba(var(--color-warn), 1);
}

.mat-radio-button.mat-warn .mat-radio-inner-circle,
.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple, .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {
  background-color: rgba(var(--color-warn), 1);
}

.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,
.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {
  border-color: rgba(0, 0, 0, 0.38);
}

.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,
.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {
  background-color: rgba(0, 0, 0, 0.38);
}

.mat-radio-button.mat-radio-disabled .mat-radio-label-content {
  color: rgba(0, 0, 0, 0.38);
}

.mat-radio-button .mat-ripple-element {
  background-color: black;
}

.mat-select-value {
  color: black;
}

.mat-select-placeholder {
  color: rgba(0, 0, 0, 0.42);
}

.mat-select-disabled .mat-select-value {
  color: rgba(0, 0, 0, 0.38);
}

.mat-select-arrow {
  color: rgba(0, 0, 0, 0.54);
}

.mat-select-panel {
  background: white;
}

.mat-select-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(82, 63, 104, 0.06), 0px 4px 5px 0px rgba(82, 63, 104, 0.042), 0px 1px 10px 0px rgba(82, 63, 104, 0.036);
}

.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  background: rgba(0, 0, 0, 0.12);
}

.mat-form-field.mat-focused.mat-primary .mat-select-arrow {
  color: rgba(var(--color-primary), 1);
}

.mat-form-field.mat-focused.mat-accent .mat-select-arrow {
  color: rgba(var(--color-accent), 1);
}

.mat-form-field.mat-focused.mat-warn .mat-select-arrow {
  color: rgba(var(--color-warn), 1);
}

.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {
  color: rgba(var(--color-warn), 1);
}

.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {
  color: rgba(0, 0, 0, 0.38);
}

.mat-drawer-container {
  background-color: #fafafa;
  color: black;
}

.mat-drawer {
  background-color: white;
  color: black;
}

.mat-drawer.mat-drawer-push {
  background-color: white;
}

.mat-drawer:not(.mat-drawer-side) {
  box-shadow: 0px 8px 10px -5px rgba(82, 63, 104, 0.06), 0px 16px 24px 2px rgba(82, 63, 104, 0.042), 0px 6px 30px 5px rgba(82, 63, 104, 0.036);
}

.mat-drawer-side {
  border-right: solid 1px rgba(82, 63, 105, 0.06);
}

.mat-drawer-side.mat-drawer-end {
  border-left: solid 1px rgba(82, 63, 105, 0.06);
  border-right: none;
}

[dir=rtl] .mat-drawer-side {
  border-left: solid 1px rgba(82, 63, 105, 0.06);
  border-right: none;
}

[dir=rtl] .mat-drawer-side.mat-drawer-end {
  border-left: none;
  border-right: solid 1px rgba(82, 63, 105, 0.06);
}

.mat-drawer-backdrop.mat-drawer-shown {
  background-color: rgba(0, 0, 0, 0.6);
}

.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  background-color: rgba(var(--color-accent), 1);
}

.mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(var(--color-accent),0.54);
}

.mat-slide-toggle.mat-checked .mat-ripple-element {
  background-color: rgba(var(--color-accent), 1);
}

.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {
  background-color: rgba(var(--color-primary), 1);
}

.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(var(--color-primary),0.54);
}

.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {
  background-color: rgba(var(--color-primary), 1);
}

.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {
  background-color: rgba(var(--color-warn), 1);
}

.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(var(--color-warn),0.54);
}

.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {
  background-color: rgba(var(--color-warn), 1);
}

.mat-slide-toggle:not(.mat-checked) .mat-ripple-element {
  background-color: black;
}

.mat-slide-toggle-thumb {
  box-shadow: 0px 2px 1px -1px rgba(82, 63, 104, 0.06), 0px 1px 1px 0px rgba(82, 63, 104, 0.042), 0px 1px 3px 0px rgba(82, 63, 104, 0.036);
  background-color: #fafafa;
}

.mat-slide-toggle-bar {
  background-color: rgba(0, 0, 0, 0.38);
}

.mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.26);
}

.mat-primary .mat-slider-track-fill,
.mat-primary .mat-slider-thumb,
.mat-primary .mat-slider-thumb-label {
  background-color: rgba(var(--color-primary), 1);
}

.mat-primary .mat-slider-thumb-label-text {
  color: rgba(var(--color-primary-contrast), 1);
}

.mat-primary .mat-slider-focus-ring {
  background-color: rgba(var(--color-primary),0.2);
  opacity: 0.2;
}

.mat-accent .mat-slider-track-fill,
.mat-accent .mat-slider-thumb,
.mat-accent .mat-slider-thumb-label {
  background-color: rgba(var(--color-accent), 1);
}

.mat-accent .mat-slider-thumb-label-text {
  color: rgba(var(--color-accent-contrast), 1);
}

.mat-accent .mat-slider-focus-ring {
  background-color: rgba(var(--color-accent),0.2);
  opacity: 0.2;
}

.mat-warn .mat-slider-track-fill,
.mat-warn .mat-slider-thumb,
.mat-warn .mat-slider-thumb-label {
  background-color: rgba(var(--color-warn), 1);
}

.mat-warn .mat-slider-thumb-label-text {
  color: rgba(var(--color-warn-contrast), 1);
}

.mat-warn .mat-slider-focus-ring {
  background-color: rgba(var(--color-warn),0.2);
  opacity: 0.2;
}

.mat-slider:hover .mat-slider-track-background,
.cdk-focused .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.38);
}

.mat-slider-disabled .mat-slider-track-background,
.mat-slider-disabled .mat-slider-track-fill,
.mat-slider-disabled .mat-slider-thumb {
  background-color: rgba(0, 0, 0, 0.26);
}

.mat-slider-disabled:hover .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.26);
}

.mat-slider-min-value .mat-slider-focus-ring {
  background-color: rgba(0, 0, 0, 0.12);
}

.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,
.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {
  background-color: rgba(0, 0, 0, 0.87);
}

.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,
.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {
  background-color: rgba(0, 0, 0, 0.26);
}

.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.26);
  background-color: transparent;
}

.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.38);
}

.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.26);
}

.mat-slider-has-ticks .mat-slider-wrapper::after {
  border-color: rgba(0, 0, 0, 0.7);
}

.mat-slider-horizontal .mat-slider-ticks {
  background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
  background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
}

.mat-slider-vertical .mat-slider-ticks {
  background-image: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
}

.mat-step-header.cdk-keyboard-focused, .mat-step-header.cdk-program-focused, .mat-step-header:hover {
  background-color: rgba(0, 0, 0, 0.04);
}

@media (hover: none) {
  .mat-step-header:hover {
    background: none;
  }
}

.mat-step-header .mat-step-label,
.mat-step-header .mat-step-optional {
  color: rgba(0, 0, 0, 0.54);
}

.mat-step-header .mat-step-icon {
  background-color: rgba(0, 0, 0, 0.54);
  color: rgba(var(--color-primary-contrast), 1);
}

.mat-step-header .mat-step-icon-selected,
.mat-step-header .mat-step-icon-state-done,
.mat-step-header .mat-step-icon-state-edit {
  background-color: rgba(var(--color-primary), 1);
  color: rgba(var(--color-primary-contrast), 1);
}

.mat-step-header.mat-accent .mat-step-icon {
  color: rgba(var(--color-accent-contrast), 1);
}

.mat-step-header.mat-accent .mat-step-icon-selected,
.mat-step-header.mat-accent .mat-step-icon-state-done,
.mat-step-header.mat-accent .mat-step-icon-state-edit {
  background-color: rgba(var(--color-accent), 1);
  color: rgba(var(--color-accent-contrast), 1);
}

.mat-step-header.mat-warn .mat-step-icon {
  color: rgba(var(--color-warn-contrast), 1);
}

.mat-step-header.mat-warn .mat-step-icon-selected,
.mat-step-header.mat-warn .mat-step-icon-state-done,
.mat-step-header.mat-warn .mat-step-icon-state-edit {
  background-color: rgba(var(--color-warn), 1);
  color: rgba(var(--color-warn-contrast), 1);
}

.mat-step-header .mat-step-icon-state-error {
  background-color: transparent;
  color: rgba(var(--color-warn), 1);
}

.mat-step-header .mat-step-label.mat-step-label-active {
  color: black;
}

.mat-step-header .mat-step-label.mat-step-label-error {
  color: rgba(var(--color-warn), 1);
}

.mat-stepper-horizontal, .mat-stepper-vertical {
  background-color: white;
}

.mat-stepper-vertical-line::before {
  border-left-color: rgba(82, 63, 105, 0.06);
}

.mat-horizontal-stepper-header::before,
.mat-horizontal-stepper-header::after,
.mat-stepper-horizontal-line {
  border-top-color: rgba(82, 63, 105, 0.06);
}

.mat-sort-header-arrow {
  color: #757575;
}

.mat-tab-nav-bar,
.mat-tab-header {
  border-bottom: 1px solid rgba(82, 63, 105, 0.06);
}

.mat-tab-group-inverted-header .mat-tab-nav-bar,
.mat-tab-group-inverted-header .mat-tab-header {
  border-top: 1px solid rgba(82, 63, 105, 0.06);
  border-bottom: none;
}

.mat-tab-label, .mat-tab-link {
  color: black;
}

.mat-tab-label.mat-tab-disabled, .mat-tab-link.mat-tab-disabled {
  color: rgba(0, 0, 0, 0.38);
}

.mat-tab-header-pagination-chevron {
  border-color: black;
}

.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(0, 0, 0, 0.38);
}

.mat-tab-group[class*=mat-background-] .mat-tab-header,
.mat-tab-nav-bar[class*=mat-background-] {
  border-bottom: none;
  border-top: none;
}

.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(var(--color-primary),0.3);
}

.mat-tab-group.mat-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary .mat-ink-bar {
  background-color: rgba(var(--color-primary), 1);
}

.mat-tab-group.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar, .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar {
  background-color: rgba(var(--color-primary-contrast), 1);
}

.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(var(--color-accent),0.3);
}

.mat-tab-group.mat-accent .mat-ink-bar, .mat-tab-nav-bar.mat-accent .mat-ink-bar {
  background-color: rgba(var(--color-accent), 1);
}

.mat-tab-group.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar, .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar {
  background-color: rgba(var(--color-accent-contrast), 1);
}

.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(var(--color-warn),0.3);
}

.mat-tab-group.mat-warn .mat-ink-bar, .mat-tab-nav-bar.mat-warn .mat-ink-bar {
  background-color: rgba(var(--color-warn), 1);
}

.mat-tab-group.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar, .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar {
  background-color: rgba(var(--color-warn-contrast), 1);
}

.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(var(--color-primary),0.3);
}

.mat-tab-group.mat-background-primary > .mat-tab-header, .mat-tab-group.mat-background-primary > .mat-tab-link-container, .mat-tab-group.mat-background-primary > .mat-tab-header-pagination, .mat-tab-nav-bar.mat-background-primary > .mat-tab-header, .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container, .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination {
  background-color: rgba(var(--color-primary), 1);
}

.mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label, .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link, .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label, .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link {
  color: rgba(var(--color-primary-contrast), 1);
}

.mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(var(--color-primary-contrast),0.4);
}

.mat-tab-group.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.mat-tab-group.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.mat-tab-group.mat-background-primary > .mat-tab-header .mat-focus-indicator::before, .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.mat-tab-nav-bar.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-focus-indicator::before {
  border-color: rgba(var(--color-primary-contrast), 1);
}

.mat-tab-group.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(var(--color-primary-contrast),0.4);
}

.mat-tab-group.mat-background-primary > .mat-tab-header .mat-ripple-element,
.mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-ripple-element, .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-ripple-element,
.mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(var(--color-primary-contrast),0.12);
}

.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(var(--color-accent),0.3);
}

.mat-tab-group.mat-background-accent > .mat-tab-header, .mat-tab-group.mat-background-accent > .mat-tab-link-container, .mat-tab-group.mat-background-accent > .mat-tab-header-pagination, .mat-tab-nav-bar.mat-background-accent > .mat-tab-header, .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container, .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination {
  background-color: rgba(var(--color-accent), 1);
}

.mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label, .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link, .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label, .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link {
  color: rgba(var(--color-accent-contrast), 1);
}

.mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(var(--color-accent-contrast),0.4);
}

.mat-tab-group.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.mat-tab-group.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.mat-tab-group.mat-background-accent > .mat-tab-header .mat-focus-indicator::before, .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.mat-tab-nav-bar.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-focus-indicator::before {
  border-color: rgba(var(--color-accent-contrast), 1);
}

.mat-tab-group.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(var(--color-accent-contrast),0.4);
}

.mat-tab-group.mat-background-accent > .mat-tab-header .mat-ripple-element,
.mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-ripple-element, .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-ripple-element,
.mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(var(--color-accent-contrast),0.12);
}

.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(var(--color-warn),0.3);
}

.mat-tab-group.mat-background-warn > .mat-tab-header, .mat-tab-group.mat-background-warn > .mat-tab-link-container, .mat-tab-group.mat-background-warn > .mat-tab-header-pagination, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header, .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination {
  background-color: rgba(var(--color-warn), 1);
}

.mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label, .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label, .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link {
  color: rgba(var(--color-warn-contrast), 1);
}

.mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(var(--color-warn-contrast),0.4);
}

.mat-tab-group.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.mat-tab-group.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.mat-tab-group.mat-background-warn > .mat-tab-header .mat-focus-indicator::before, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.mat-tab-nav-bar.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-focus-indicator::before {
  border-color: rgba(var(--color-warn-contrast), 1);
}

.mat-tab-group.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(var(--color-warn-contrast),0.4);
}

.mat-tab-group.mat-background-warn > .mat-tab-header .mat-ripple-element,
.mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-ripple-element, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-ripple-element,
.mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(var(--color-warn-contrast),0.12);
}

.mat-toolbar {
  background: #ebebee;
  color: black;
}

.mat-toolbar.mat-primary {
  background: rgba(var(--color-primary), 1);
  color: rgba(var(--color-primary-contrast), 1);
}

.mat-toolbar.mat-accent {
  background: rgba(var(--color-accent), 1);
  color: rgba(var(--color-accent-contrast), 1);
}

.mat-toolbar.mat-warn {
  background: rgba(var(--color-warn), 1);
  color: rgba(var(--color-warn-contrast), 1);
}

.mat-toolbar .mat-form-field-underline,
.mat-toolbar .mat-form-field-ripple,
.mat-toolbar .mat-focused .mat-form-field-ripple {
  background-color: currentColor;
}

.mat-toolbar .mat-form-field-label,
.mat-toolbar .mat-focused .mat-form-field-label,
.mat-toolbar .mat-select-value,
.mat-toolbar .mat-select-arrow,
.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {
  color: inherit;
}

.mat-toolbar .mat-input-element {
  caret-color: currentColor;
}

.mat-tooltip {
  background: rgba(97, 97, 97, 0.9);
}

.mat-tree {
  background: white;
}

.mat-tree-node,
.mat-nested-tree-node {
  color: black;
}

.mat-snack-bar-container {
  color: rgba(255, 255, 255, 0.7);
  background: #323232;
  box-shadow: 0px 3px 5px -1px rgba(82, 63, 104, 0.06), 0px 6px 10px 0px rgba(82, 63, 104, 0.042), 0px 1px 18px 0px rgba(82, 63, 104, 0.036);
}

.mat-simple-snackbar-action {
  color: rgba(var(--color-accent), 1);
}

.horizontal-layout {
  --navigation-height: 0px;
  --toolbar-width: 100%;
}

@media (min-width: 1280px) {
  .horizontal-layout {
    --toolbar-width: calc(100% - var(--sidenav-width));
  }

  .horizontal-layout.sidenav-collapsed {
    --toolbar-width: calc(100% - var(--sidenav-collapsed-width));
  }
}

.horizontal-layout .sidenav-container {
  /* When the sidenav is not fixed, stretch the sidenav container to fill the available space. This
     causes `<mat-sidenav-content>` to act as our scrolling element for desktop layouts. */
  flex: 1;
}

.horizontal-layout.has-fixed-footer.scroll-disabled .content {
  height: calc(100% - var(--toolbar-height) - var(--footer-height));
}

@media (min-width: 1280px) {
  body:not([dir=rtl]) .horizontal-layout.sidenav-collapsed .sidenav-content {
    margin-left: var(--sidenav-collapsed-width) !important;
    margin-right: 0 !important;
  }

  body:not([dir=rtl]) .horizontal-layout:not(.sidenav-collapsed) .sidenav-content {
    margin-left: var(--sidenav-width) !important;
    margin-right: 0 !important;
  }

  [dir=rtl] .horizontal-layout.sidenav-collapsed .sidenav-content {
    margin-right: var(--sidenav-collapsed-width) !important;
    margin-left: 0 !important;
  }

  [dir=rtl] .horizontal-layout:not(.sidenav-collapsed) .sidenav-content {
    margin-right: var(--sidenav-width) !important;
    margin-left: 0 !important;
  }
}

.vertical-layout {
  --toolbar-width: 100%;
}

.vertical-layout vex-secondary-toolbar .h-14 {
  display: none;
}

.vertical-layout vex-secondary-toolbar .fixed {
  background: none;
  border-top: none;
  box-shadow: none;
  margin-bottom: calc(var(--padding-16) * -1);
  padding-top: var(--padding-12);
  position: relative;
  top: 0;
}

.vertical-layout.content-container > .sidenav-container > .sidenav-content > .content {
  margin-left: auto;
  margin-right: auto;
}

.vertical-layout.has-fixed-footer.scroll-disabled .content {
  height: calc(100% - var(--toolbar-height) - var(--footer-height));
}

@media print {
  html, body {
    height: auto !important;
    overflow: initial !important;
  }

  .vex-toolbar, .sidenav {
    display: none !important;
  }

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

  .mat-drawer-container {
    overflow: visible !important;
  }

  .mat-drawer-side {
    border-right: none !important;
  }

  .sidenav-content {
    margin-left: 0 !important;
    background-color: var(--background-card);
  }

  .vex-footer {
    display: none !important;
  }

  .config-panel-toggle {
    display: none !important;
  }
}

/*
  InterDynamicTracking takes the font size in points
  or pixels and returns the compensating tracking in EM.
  function InterDynamicTracking(fontSize) {
    const a = -0.0223
    const b = 0.185
    const c = -0.1745;
    // tracking = a + b * e ^ (c * fontSize)
    return a + b * Math.pow(Math.E, c * fontSize)
  }
*/

.display-4 {
  font: 300 112px/112px var(--font);
  letter-spacing: -0.05em;
}

.display-3 {
  font: 400 56px/56px var(--font);
  letter-spacing: -0.02em;
}

.display-2 {
  font: 400 45px/48px var(--font);
  letter-spacing: -0.005em;
}

.display-1, h1 {
  font: 400 34px/40px var(--font);
  letter-spacing: normal;
}

.headline, h2 {
  font: 400 24px/32px var(--font);
  letter-spacing: -0.019em;
}

.title, h3 {
  font: 500 18px/26px var(--font);
  letter-spacing: -0.014em;
}

.subheading-2, h4 {
  font: 400 16px/28px var(--font);
  letter-spacing: -0.011em;
}

.subheading-1, h5 {
  font: 400 15px/24px var(--font);
  letter-spacing: -0.009em;
}

.body-2, h6 {
  font: 500 14px/24px var(--font);
  letter-spacing: -0.006em;
}

.body-1, p {
  font: 400 14px/20px var(--font);
  letter-spacing: -0.006em;
}

.caption {
  font: 400 12px/20px var(--font);
  letter-spacing: 0;
}

.text-xs {
  letter-spacing: 0;
}

.text-sm {
  letter-spacing: -0.009em;
}

.text-base {
  letter-spacing: -0.011em;
}

.text-lg {
  letter-spacing: -0.014em;
}

.text-2xl {
  letter-spacing: -0.019em;
}

.text-3xl {
  letter-spacing: -0.021em;
}

.mat-icon,
.mat-icon-button .mat-icon {
  font-size: var(--default-icon-size);
  height: unset;
  width: unset;
}

.ic-inline > svg {
  display: inline-block;
}

ic-icon:not(.ic-inline) > svg,
.iconify:not(.ic-inline) > svg {
  margin: 0 auto;
  vertical-align: middle;
}

.vex-scrollblock {
  position: fixed;
  width: 100%;
}

body.is-blink ::-webkit-scrollbar {
  background-color: rgba(0, 0, 0, 0);
  height: var(--blink-scrollbar-width);
  width: var(--blink-scrollbar-width);
}

body.is-blink ::-webkit-scrollbar:hover {
  background-color: rgba(0, 0, 0, 0.12);
}

body.is-blink ::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: var(--blink-scrollbar-width);
  box-shadow: inset 0 0 0 12px rgba(0, 0, 0, 0.37);
}

body.is-blink ::-webkit-scrollbar-thumb:active {
  border-radius: var(--blink-scrollbar-width);
  box-shadow: inset 0 0 0 12px rgba(0, 0, 0, 0.54);
}

.mat-icon-button .mat-button-wrapper > *,
.mat-menu-item .mat-icon,
.mat-button .mat-icon {
  vertical-align: middle !important;
}

.mat-form-field-suffix .mat-icon-button .mat-icon, .mat-form-field-prefix .mat-icon-button .mat-icon {
  font-size: inherit;
}

.mat-table mat-row,
.mat-table mat-header-row,
.mat-table mat-footer-row,
.mat-table th.mat-header-cell,
.mat-table td.mat-cell,
.mat-table td.mat-footer-cell {
  border-bottom-color: var(--foreground-divider);
}

.mat-form-field {
  margin-bottom: 4px;
}

.mat-primary.mat-form-field .mat-form-field-prefix,
.mat-primary.mat-form-field .mat-form-field-suffix {
  transition: var(--trans-ease-out);
}

.mat-primary.mat-form-field.mat-focused .mat-form-field-prefix, .mat-primary.mat-form-field.mat-focused .mat-form-field-suffix {
  color: rgb(var(--color-primary));
}

.mat-form-field.mat-form-field-invalid.mat-focused .mat-form-field-prefix, .mat-form-field.mat-form-field-invalid.mat-focused .mat-form-field-suffix {
  --tw-text-opacity: 1;
  color: rgba(244, 67, 54, var(--tw-text-opacity));
}

.mat-table .mat-cell,
.mat-table .mat-header-cell {
  box-sizing: content-box;
  padding-left: var(--padding-12);
  padding-right: var(--padding-12);
  white-space: nowrap;
}

.mat-paginator-page-size-select.mat-form-field .mat-form-field-flex {
  padding-top: 0;
}

.mat-menu-item ic-icon {
  -webkit-margin-end: var(--padding-16);
          margin-inline-end: var(--padding-16);
  vertical-align: middle;
}

.mat-menu-item ic-icon > svg {
  vertical-align: middle;
}

.mat-select-panel {
  font-size: 1rem;
  letter-spacing: -0.011em;
}

.mat-drawer-side {
  border: 0;
}

textarea.mat-input-element {
  line-height: 1.5;
}

.vex-flex-form-field .mat-form-field-infix {
  width: 50px;
}

.vex-dense-form-field {
  margin-bottom: -1.34375em;
}

.vex-dense-form-field.mat-form-field-appearance-outline .mat-form-field-infix {
  padding-top: 4px;
}

.vex-tabs .mat-tab-label.mat-tab-label-active {
  opacity: 1;
}

.vex-tabs .mat-tab-link.mat-tab-label-active {
  opacity: 1;
}

.vex-tabs-dense .mat-tab-label {
  min-width: 0;
}

.uppercase > * > .mat-sort-header-button {
  text-transform: uppercase;
}

.mat-card-image {
  max-width: none;
}

/*
.mat-button-focus-overlay {
  background: rgba(var(--palette-foreground-base), 1);
}
.mat-checkbox .mat-ripple-element {
  background-color: rgb(var(--palette-foreground-base));
}
.mat-option.mat-option-disabled {
  color: rgba(var(--palette-foreground-hint-text), 0.38);
}
*/

.apexcharts-legend-text {
  margin-left: 4px;
  top: -1px;
}

body .apexcharts-tooltip.light {
  background: var(--background-card);
}

.vex-layout-ares {
  --footer-background: var(--background-base);
  --sidenav-background: var(--background-base);
  --toolbar-background: var(--background-base);
  --sidenav-color: var(--text-color);
  --sidenav-item-background-active: var(--background-card);
  --sidenav-item-color: var(--text-color);
  --sidenav-item-color-active: var(--text-color);
  --sidenav-item-dropdown-background: var(--background-base);
  --sidenav-item-dropdown-background-hover: var(--background-hover);
  --secondary-toolbar-background: var(--background-base);
  --sidenav-toolbar-background: var(--background-base);
  --secondary-toolbar-height: 64px;
}

.vex-layout-ares .sidenav {
  border: none;
}

.vex-layout-ares .sidenav vex-sidenav-item .item {
  width: unset;
  border-radius: 9999px;
  margin-left: 1rem;
  margin-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.vex-layout-ares .sidenav vex-sidenav-item .item.active {
  --tw-shadow: var(--elevation-z6);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.vex-layout-ares .sidenav vex-sidenav-item .item-level-0 > .item {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.vex-layout-ares .sidenav vex-sidenav-item .item-level-1 .item.active {
  font-weight: 500;
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.vex-layout-ares .sidenav vex-sidenav-item .item-level-1 .item.active .item-label {
  color: var(--text-color);
}

.vex-layout-ares .sidenav vex-sidenav-item .item-level-1 .item:hover .item-label {
  color: var(--text-color);
}

.vex-layout-ares .sidenav-collapsed .sidenav vex-sidenav-item .item {
  margin-left: 0;
  margin-right: 0;
}

.vex-layout-ares vex-secondary-toolbar {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
  overflow: hidden;
}

.vex-layout-ares vex-secondary-toolbar .secondary-toolbar {
  border-top-width: 0;
  margin-bottom: calc(var(--padding-gutter) * -1);
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.vex-layout-ares vex-footer {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  overflow: hidden;
}

.vex-layout-ares .vex-page-layout-header {
  background: var(--background-base);
  color: var(--text-color);
}

.vex-layout-ares .vex-page-layout-header vex-breadcrumbs .text-hint {
  color: var(--text-hint) !important;
}

.vex-layout-ares.vex-style-default {
  --sidenav-item-background-active: rgb(var(--color-primary));
  --sidenav-item-color-active: rgb(var(--color-primary-contrast));
  --sidenav-item-dropdown-color-hover: var(--text-color);
  --sidenav-item-icon-color-active: rgb(var(--color-primary-contrast));
}

.vex-layout-hermes {
  --toolbar-height: 100px;
  --secondary-toolbar-background: var(--background-base);
  --secondary-toolbar-height: 64px;
}

.vex-layout-hermes.vex-style-light {
  --toolbar-background: var(--background-base);
}

.vex-layout-hermes.vex-style-default {
  --navigation-background: #1a202e;
  --toolbar-background: #232b3e;
  --navigation-color: white;
  --toolbar-color: white;
}

.vex-layout-hermes.vex-style-dark {
  --toolbar-background: var(--background-base);
}

@media (min-width: 1280px) {
  .vex-layout-hermes .sidenav {
    display: none;
  }
}

.vex-layout-hermes vex-secondary-toolbar .secondary-toolbar {
  border-top-width: 0;
  margin-bottom: calc(var(--padding-gutter) * -1);
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.vex-layout-ikaros {
  --navigation-height: 0px;
}

.vex-layout-ikaros.vex-style-default {
  --toolbar-background: #1a202e;
  --navigation-color: white;
  --toolbar-color: white;
}

/* You can add global styles to this file, and also import other style files */

html {
  box-sizing: border-box;
  font-size: 16px;
  height: 100%;
  overflow: hidden;
}

body {
  height: 100%;
  font: 400 14px/20px var(--font);
  letter-spacing: -0.006em;
  line-height: 1.5;
  color: var(--text-color);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern";
}

div {
  box-sizing: border-box;
}

/*
  You can override any CSS Variable or style here
  Example:

  :root {
   --sidenav-background: #333333;
  }

  All possible variables can be found in @vex/styles/core or by simply inspecting the element you want to change
  in Chrome/Firefox DevTools
*/

/**
  Uncomment the below code and adjust the values to fit your colors, the application will automatically adjust
 */

.afu-upload-btn {
  background-color: #5C77FF;
  padding: 8px;
  position: relative;
  top: 30px;
  border-radius: 5px;
  color: aliceblue;
}

.afu-select-btn {
  background-color: #bbb8b8;
  padding: 10px;
  position: relative;
  top: 13px;
  cursor: pointer;
}

.afu-constraints-info {
  position: relative;
  top: 20px;
}

.text-grey {
  color: #A7A7A7 !important;
}

.text-white {
  color: #ffffff !important;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9zaW1wbGViYXIvZGlzdC9zaW1wbGViYXIuY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9zdHlsZXMvYW5kcm9pZHN0dWRpby5jc3MiLCIuLlxcLi5cXG5vZGVfbW9kdWxlc1xcQGFuZ3VsYXJcXG1hdGVyaWFsXFxfdGhlbWluZy5zY3NzIiwiLi5cXEB2ZXhcXHN0eWxlc1xccGFydGlhbHNcXHN0eWxlc1xcX3N0eWxlLWRhcmsuc2NzcyIsIi4uXFxzdHlsZXMuc2NzcyIsIi4uXFxAdmV4XFxzdHlsZXNcXHBhcnRpYWxzXFxfbWl4aW5zLnNjc3MiLCIuLlxcQHZleFxcc3R5bGVzXFxwYXJ0aWFsc1xcc3R5bGVzXFxfc3R5bGUtbGlnaHQuc2NzcyIsIi4uXFxAdmV4XFxzdHlsZXNcXHBhcnRpYWxzXFxzdHlsZXNcXF9zdHlsZS1kZWZhdWx0LnNjc3MiLCIuLlxcQHZleFxcc3R5bGVzXFxwYXJ0aWFsc1xcX2hvcml6b250YWwuc2NzcyIsIi4uXFxAdmV4XFxzdHlsZXNcXHBhcnRpYWxzXFxfdmVydGljYWwuc2NzcyIsIi4uXFxAdmV4XFxzdHlsZXNcXHBhcnRpYWxzXFxfcHJpbnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy90YWlsd2luZGNzcy9saWIvbGliL3N1YnN0aXR1dGVDbGFzc0FwcGx5QXRSdWxlcy5qcyIsIi4uXFxAdmV4XFxzdHlsZXNcXHBhcnRpYWxzXFxfdHlwb2dyYXBoeS5zY3NzIiwiLi5cXEB2ZXhcXHN0eWxlc1xccGFydGlhbHNcXF9vdmVycmlkZXMuc2NzcyIsIi4uXFxAdmV4XFxzdHlsZXNcXHBhcnRpYWxzXFxfc2Nyb2xsYmFyLnNjc3MiLCIuLlxcQHZleFxcc3R5bGVzXFxwYXJ0aWFsc1xccGx1Z2luc1xcX2FuZ3VsYXItbWF0ZXJpYWwuc2NzcyIsIi4uXFxAdmV4XFxzdHlsZXNcXHBhcnRpYWxzXFxwbHVnaW5zXFxfYXBleGNoYXJ0cy5zY3NzIiwiLi5cXEB2ZXhcXHN0eWxlc1xccGFydGlhbHNcXGxheW91dHNcXF9sYXlvdXQtYXJlcy5zY3NzIiwiLi5cXEB2ZXhcXHN0eWxlc1xccGFydGlhbHNcXGxheW91dHNcXF9sYXlvdXQtaGVybWVzLnNjc3MiLCIuLlxcQHZleFxcc3R5bGVzXFxwYXJ0aWFsc1xcbGF5b3V0c1xcX2xheW91dC1pa2Fyb3Muc2NzcyIsIi4uXFxAdmV4XFxzdHlsZXNcXGNvcmUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFrQjtFQUNsQixzQkFBc0I7RUFDdEIsZUFBZTtFQUNmLDJCQUEyQjtFQUMzQix5QkFBeUI7RUFDekIsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLFVBQVU7RUFDVixTQUFTO0VBQ1QsT0FBTztFQUNQLE1BQU07RUFDTixTQUFTO0VBQ1QsUUFBUTtFQUNSLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsVUFBVTtBQUNaOztBQUVBO0VBQ0UsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsU0FBUztFQUNULFFBQVE7RUFDUixVQUFVO0VBQ1YsU0FBUztFQUNULGlDQUFpQztBQUNuQzs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixpQ0FBaUM7RUFDakMsa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxZQUFZLEVBQUUsbUdBQW1HO0VBQ2pILFdBQVc7RUFDWCxlQUFlLEVBQUUsa0RBQWtEO0VBQ25FLGdCQUFnQixFQUFFLDBDQUEwQztFQUM1RCxxQkFBcUI7RUFDckIsd0JBQXdCO0FBQzFCOztBQUVBOztFQUVFLFFBQVE7RUFDUixTQUFTO0FBQ1g7O0FBRUE7O0VBRUUsWUFBWTtFQUNaLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLFdBQVc7RUFDWCxvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSw4QkFBOEI7RUFDOUIsWUFBWTtFQUNaLFdBQVc7RUFDWCxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsU0FBUztFQUNULG9CQUFvQjtFQUNwQixrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGFBQWE7QUFDZjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixjQUFjO0VBQ2QsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sT0FBTztFQUNQLGFBQWE7RUFDYixZQUFZO0VBQ1osZUFBZTtFQUNmLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsb0JBQW9CO0VBQ3BCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLFNBQVM7RUFDVCxvQkFBb0I7RUFDcEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLHNCQUFpQjtPQUFqQixpQkFBaUI7RUFDakIseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLE9BQU87RUFDUCxRQUFRO0VBQ1IsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsVUFBVTtFQUNWLCtCQUErQjtBQUNqQzs7QUFFQTtFQUNFLDBEQUEwRDtFQUMxRCxZQUFZO0VBQ1osNkJBQTZCO0FBQy9COztBQUVBO0VBQ0UsTUFBTTtFQUNOLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFFBQVE7RUFDUixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxPQUFPO0VBQ1AsWUFBWTtBQUNkOztBQUVBO0VBQ0UsWUFBWTtFQUNaLFNBQVM7RUFDVCxVQUFVO0FBQ1o7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsT0FBTztFQUNQLFFBQVE7RUFDUixXQUFXO0VBQ1gsYUFBYTtFQUNiLGVBQWU7RUFDZixXQUFXO0FBQ2I7O0FBRUEsZ0JBQWdCOztBQUNoQjtFQUNFLFdBQVc7RUFDWCxPQUFPO0FBQ1Q7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsZUFBZTtFQUNmLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZUFBZTtFQUNmLE9BQU87RUFDUCxrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUNyQix3QkFBd0I7QUFDMUI7O0FDbE5BOzs7Q0FHQzs7QUFFRDtFQUNFLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixjQUFjO0FBQ2hCOztBQUVBOzs7O0VBSUUsY0FBYztBQUNoQjs7QUFFQTs7O0VBR0UsY0FBYztBQUNoQjs7QUFFQTs7O0VBR0UsY0FBYztBQUNoQjs7QUFFQTs7RUFFRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTs7O0VBR0UsY0FBYztBQUNoQjs7QUFFQTs7O0VBR0UsY0FBYztBQUNoQjs7QUFFQTs7O0VBR0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUNrd0RBLG1DQUFBOztBQStJQSx5REFBQTs7QUFvYkEseURBQUE7O0FBbXdEQSwyQ0FBQTs7QUE2Q0EscUJBQUE7O0FBbjNFQSxtQ0FBQTs7QUErSUEseURBQUE7O0FBb2JBLHlEQUFBOztBQW13REEsMkNBQUE7O0FBNkNBLHFCQUFBOztBQ3RySUE7RUFJRSw2QkFBQTtFQUdBLDJDQUFBO0VBQ0EsZ0NBQUE7RUFDQSw2QkFBQTtFQUNBLDBCQUFBO0VBR0EsMEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHFDQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLHVDQUFBO0VBR0EsK0NBQUE7RUFDQSxxQ0FBQTtFQUdBLHNDQUFBO0VBQ0EsNkNBQUE7RUFHQSwwQ0FBQTtFQUdBLDJDQUFBO0VBQ0Esc0RBQUE7QUNGRjs7QUNZRTtFQUdFLDBDQUFBO0FEWko7O0FGK2hFRTtFQUNFLFlBQUE7QUU3aEVKOztBRitoRUk7RUFFRSxxQ0FBQTtBRTloRU47O0FGa2lFSTtFQUNFLHFDQUFBO0FFaGlFTjs7QUZtaUVJO0VBQ0UscUNBQUE7RUFDQSxZQUFBO0FFamlFTjs7QUZvaUVJO0VBQ0UsK0JBQUE7QUVsaUVOOztBRnNpRUU7RUFDRSxvQ0FBQTtBRXBpRUo7O0FGdWlFRTtFQUNFLG1DQUFBO0FFcmlFSjs7QUZ3aUVFO0VBQ0UsaUNBQUE7QUV0aUVKOztBRmlsRUU7RUFDRSwrQkFBQTtBRS9rRUo7O0FGa2xFRTtFQUNFLCtCQUFBO0FFaGxFSjs7QUZrb0VFO0VBQ0UsK0JBQUE7QUVob0VKOztBRmtvRUk7RUFDRSxjQUFBO0FFaG9FTjs7QUZvb0VFO0VBQ0UsY0FaZTtBRXRuRW5COztBRnFvRUU7O0VBRUUseUNBQUE7QUVub0VKOztBRjJvRUU7Ozs7RUFJRSx3Q0FBQTtBRXpvRUo7O0FGNG9FRTs7RUFFRSxzQ0FBQTtBRTFvRUo7O0FGK29FSTs7RUFDRSxtQkF4Q2E7QUVwbUVuQjs7QUY4eE5FO0VBSUUseUJBQUE7RUFDQSxZQUFBO0FFL3hOSjs7QUZzeU5JO0VBeDRNRiwySEFBQTtBRTNaRjs7QUZteU5JO0VBeDRNRiw0SEFBQTtBRXhaRjs7QUZneU5JO0VBeDRNRiw0SEFBQTtBRXJaRjs7QUY2eE5JO0VBeDRNRiw0SEFBQTtBRWxaRjs7QUYweE5JO0VBeDRNRiw2SEFBQTtBRS9ZRjs7QUZ1eE5JO0VBeDRNRiw2SEFBQTtBRTVZRjs7QUZveE5JO0VBeDRNRiw4SEFBQTtBRXpZRjs7QUZpeE5JO0VBeDRNRiw4SEFBQTtBRXRZRjs7QUY4d05JO0VBeDRNRiw4SEFBQTtBRW5ZRjs7QUYyd05JO0VBeDRNRiw4SEFBQTtBRWhZRjs7QUZ3d05JO0VBeDRNRiwrSEFBQTtBRTdYRjs7QUZxd05JO0VBeDRNRiwrSEFBQTtBRTFYRjs7QUZrd05JO0VBeDRNRiwrSEFBQTtBRXZYRjs7QUYrdk5JO0VBeDRNRiwrSEFBQTtBRXBYRjs7QUY0dk5JO0VBeDRNRiwrSEFBQTtBRWpYRjs7QUZ5dk5JO0VBeDRNRiwrSEFBQTtBRTlXRjs7QUZzdk5JO0VBeDRNRixnSUFBQTtBRTNXRjs7QUZtdk5JO0VBeDRNRixnSUFBQTtBRXhXRjs7QUZndk5JO0VBeDRNRixnSUFBQTtBRXJXRjs7QUY2dU5JO0VBeDRNRixnSUFBQTtBRWxXRjs7QUYwdU5JO0VBeDRNRixpSUFBQTtBRS9WRjs7QUZ1dU5JO0VBeDRNRixpSUFBQTtBRTVWRjs7QUZvdU5JO0VBeDRNRixpSUFBQTtBRXpWRjs7QUZpdU5JO0VBeDRNRixpSUFBQTtBRXRWRjs7QUY4dE5JO0VBeDRNRixpSUFBQTtBRW5WRjs7QUZrdU5JO0VBQ0UsYUFBQTtBRWh1Tk47O0FGc3pFRTtFQUVFLG1CQUFBO0VBQ0EsWUFBQTtBRXB6RUo7O0FGc1ZFO0VBWEEsNkhBQUE7QUV4VUY7O0FGd3pFSTtFQUNFLG1CQUFBO0FFdHpFTjs7QUZ3ekVNO0VBQ0UsWUFBQTtBRXR6RVI7O0FGbzdFRTtFQUNFLDZDQUFBO0VBQ0EseUNBQUE7QUVsN0VKOztBRmpCSTtFQXM4RUUsa0JBQUE7RUFDQSxnQkFBQTtBRWw3RU47O0FGdTdFSTtFQUNFLHdDQUFBO0VBQ0EsNENBQUE7QUVwN0VOOztBRnk3RUk7RUFDRSwwQ0FBQTtFQUNBLHNDQUFBO0FFdjdFTjs7QUYyN0VFO0VBQ0Usa0JBQUE7QUV6N0VKOztBRjY3RUk7RUFDRSxhQUFBO0FFMzdFTjs7QUZnOEVJO0VBV0ksbUJBQUE7RUFNRiwrQkFBQTtBRTc4RU47O0FGaTlFRTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsdUNBQUE7RUFDQSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLG9CQUFBO0FFLzhFSjs7QUZrOUVFOztFQUVFLGdCQUFBO0FFaDlFSjs7QUZxOUVFO0VBRUUsZUFBQTtBRXA5RUo7O0FGcXpFRTtFQUNFLFdBTm1CO0VBT25CLFlBUG1CO0VBUW5CLGlCQVJtQjtBRTN5RXZCOztBRnV6RUk7RUFDRSxTQUFBO0FFcnpFTjs7QUYwekVJO0VBQ0UsWUFBQTtBRXh6RU47O0FGNnpFSTtFQUNFLFdBQUE7QUUzekVOOztBRmcwRUk7RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRTl6RU47O0FGbTBFSTtFQUNFLFlBQUE7QUVqMEVOOztBRnMwRUk7RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRXAwRU47O0FGMDBFTTtFQUNFLFVBQUE7QUV4MEVSOztBRjYwRU07RUFDRSxVQUFBO0VBQ0EsV0FBQTtBRTMwRVI7O0FGZzFFTTtFQUNFLFdBQUE7QUU5MEVSOztBRm0xRU07RUFDRSxXQUFBO0VBQ0EsVUFBQTtBRWoxRVI7O0FGOHdFRTtFQUNFLFdBUHFCO0VBUXJCLFlBUnFCO0VBU3JCLGlCQVRxQjtBRW53RXpCOztBRmd4RUk7RUFDRSxVQUFBO0FFOXdFTjs7QUZteEVJO0VBQ0UsYUFBQTtBRWp4RU47O0FGc3hFSTtFQUNFLFdBQUE7QUVweEVOOztBRnl4RUk7RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRXZ4RU47O0FGNHhFSTtFQUNFLFlBQUE7QUUxeEVOOztBRit4RUk7RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRTd4RU47O0FGbXlFTTtFQUNFLFdBQUE7QUVqeUVSOztBRnN5RU07RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRXB5RVI7O0FGeXlFTTtFQUNFLFlBQUE7QUV2eUVSOztBRjR5RU07RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRTF5RVI7O0FGdXVFRTtFQUNFLFdBTG1CO0VBTW5CLFlBTm1CO0VBT25CLGlCQVBtQjtBRTl0RXZCOztBRnl1RUk7RUFDRSxVQUFBO0FFdnVFTjs7QUY0dUVJO0VBQ0UsYUFBQTtBRTF1RU47O0FGK3VFSTtFQUNFLFdBQUE7QUU3dUVOOztBRmt2RUk7RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRWh2RU47O0FGcXZFSTtFQUNFLFlBQUE7QUVudkVOOztBRnd2RUk7RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRXR2RU47O0FGNHZFTTtFQUNFLFdBQUE7QUUxdkVSOztBRit2RU07RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRTd2RVI7O0FGa3dFTTtFQUNFLFlBQUE7QUVod0VSOztBRnF3RU07RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRW53RVI7O0FGODVFRTtFQS92RUEsZ0lBQUE7RUFpd0VFLG1CQUFBO0VBQ0EsWUFBQTtBRTU1RUo7O0FGeWhGRTtFQUtFLGNBQUE7RUFDQSx1QkFBQTtBRTNoRko7O0FGMi9FRTtFQUNFLG9DQUFBO0FFei9FSjs7QUYyL0VFO0VBQ0UsbUNBQUE7QUV6L0VKOztBRjIvRUU7RUFDRSxpQ0FBQTtBRXovRUo7O0FGNi9FSTtFQUVFLCtCQUFBO0FFNS9FTjs7QUZ5N0VFO0VBQ0UsK0NBQUE7QUV2N0VKOztBRjA3RUU7RUFDRSw4Q0FBQTtBRXg3RUo7O0FGMjdFRTtFQUNFLDRDQUFBO0FFejdFSjs7QUY0N0VFO0VBQ0UsNkJBQUE7QUUxN0VKOztBRjJnRkk7RUFDRSxZQXhHdUI7RUF5R3ZCLDhCQUFBO0FFemdGTjs7QUY2Z0ZFO0VBQ0UsaUJBQUE7QUUzZ0ZKOztBRmdoRkU7RUFDRSx1Q0FBQTtBRTlnRko7O0FGaWhGRTtFQUVFLFlBQUE7RUFDQSx5QkFBQTtBRWhoRko7O0FGcTlFRTtFQUNFLDZDQUFBO0FFbjlFSjs7QUZxOUVFO0VBQ0UsNENBQUE7QUVuOUVKOztBRnE5RUU7RUFDRSwwQ0FBQTtBRW45RUo7O0FGdTlFSTtFQUVFLCtCQUFBO0FFdDlFTjs7QUZ5OEVFO0VBQ0UsK0NBQUE7QUV2OEVKOztBRnk4RUU7RUFDRSw4Q0FBQTtBRXY4RUo7O0FGeThFRTtFQUNFLDRDQUFBO0FFdjhFSjs7QUYyOEVJO0VBRUUsMkNBQUE7QUUxOEVOOztBRnc2RUU7RUd2eEZBLHlEQURtQjtBRG1YckI7O0FGeTZFRTtFRzN4RkEsd0RBRG1CO0FEc1hyQjs7QUYwNkVFO0VHL3hGQSxzREFEbUI7QUR5WHJCOztBRjBGRTtFQVhBLDJIQUFBO0FFNUVGOztBRnVGRTtFQVhBLDRIQUFBO0FFekVGOztBRm9GRTtFQVhBLDhIQUFBO0FFdEVGOztBRmlGRTtFQVhBLDJIQUFBO0FFbkVGOztBRjhFRTtFQVhBLDhIQUFBO0FFaEVGOztBRjJFRTtFQVhBLCtIQUFBO0FFN0RGOztBRndFRTtFQVhBLDJIQUFBO0FFMURGOztBRjJqRkU7O0VBamdGQSw0SEFBQTtBRXRERjs7QUY0akZFOztFQUVFLGdCQUFBO0FFMWpGSjs7QUY2akZFO0VBQ0UsK0JBQUE7QUUzakZKOztBRjZqRkk7RUFDRSwyQ0FBQTtBRTNqRk47O0FGK2pGRTtFQUNFLFlBQUE7RUFDQSxtQkFBQTtBRTdqRko7O0FGK2pGSTtFQUNFLHVCQUFBO0FFN2pGTjs7QUZpa0ZFO0VBQ0UsZ0RBQUE7QUUvakZKOztBRmtrRkU7RUFDRSxpQkFBQTtFQUNBLGlEQUFBO0FFaGtGSjs7QUZva0ZJO0VBQ0UsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLCtDQUFBO0FFbGtGTjs7QUZza0ZFO0VBQ0UseUJBQUE7RUFDQSwrQkFBQTtBRXBrRko7O0FGc2tGSTtFQUNFLFlBQUE7QUVwa0ZOOztBRndrRkU7RUFDRSwrQkFBQTtFQUNBLHVCQUFBO0FFdGtGSjs7QUZ3a0ZJO0VBQ0UsbUJBQUE7QUV0a0ZOOztBRnlrRkk7RUFDRSx5QkFBQTtBRXZrRk47O0FGMmtGRTs7RUFFRSwyQ0FBQTtBRXprRko7O0FGMGxGSTtFQUNFLGlCQUxjO0FFbmxGcEI7O0FGMm5GRTtFQUVFLG1CQUFBO0VBQ0EsWUFBQTtBRXpuRko7O0FGT0U7RUFYQSw0SEFBQTtBRU9GOztBRklFO0VBWEEsMkhBQUE7QUVVRjs7QUYybkZFO0VBQ0UsK0JBQUE7QUV6bkZKOztBRmlzRkU7RUFDRSxzQ0FBQTtBRS9yRko7O0FGa3NGRTtFQUNFLGFBZG9CO0FFbHJGeEI7O0FGbXNGRTtFQUdFLDBCQUFBO0FFbnNGSjs7QUZzc0ZFO0VBQ0UseUJBeEJvQjtBRTVxRnhCOztBRndzRkk7RUFDRSwrQ0FBQTtBRXRzRk47O0FGeXNGSTtFQUNFLDhDQUFBO0FFdnNGTjs7QUYwc0ZJO0VBQ0UsNENBQUE7QUV4c0ZOOztBRitzRk07RUFDRSx5QkF0Q1c7QUV2cUZuQjs7QUZrdEZNO0VBQ0UscUJBNUNXO0FFcHFGbkI7O0FGb3RGSTtFQUNFLCtCQUFBO0FFbHRGTjs7QUZ3dEZFO0VBQ0UsdUJBQUE7QUV0dEZKOztBRjJ0Rkk7O0VBQ0UseUNBQUE7QUV4dEZOOztBRjJ0Rkk7O0VBQ0Usd0NBQUE7QUV4dEZOOztBRjJ0Rkk7O0VBQ0Usc0NBQUE7QUV4dEZOOztBRml6RkU7RUEzQ0EseUJBd0N3QjtFQXZDeEIsWUF3Q3dCO0FFM3lGMUI7O0FGcXdGRTtFQUNFLFlBcUNzQjtFQXBDdEIsWUFBQTtBRW53Rko7O0FGNnlGTTtFQS8yRkosNEhBQUE7QUVxRUY7O0FGOHlGTTtFQUNFLGFBQUE7QUU1eUZSOztBRmd6Rkk7RUFDRSxZQUFBO0FFOXlGTjs7QUZpekZJO0VBQ0UsaUJBQUE7QUUveUZOOztBRm96Rkk7RUFsRUYsK0NBd0J3RTtFQXZCeEUsNkNBdUJpQztBRXR3Rm5DOztBRml2RkU7RUFDRSw2Q0FvQitCO0VBbkIvQixZQUFBO0FFL3VGSjs7QUZvd0ZFO0VBVEEseURBRG1CO0VBR2pCLFlBUWtFO0FFandGdEU7O0FGNHlGSTtFQXRFRiw0Q0F3QndFO0VBdkJ4RSwwQ0F1QmlDO0FFMXZGbkM7O0FGcXVGRTtFQUNFLDBDQW9CK0I7RUFuQi9CLFlBQUE7QUVudUZKOztBRnd2RkU7RUFUQSxzREFEbUI7RUFHakIsWUFRa0U7QUVydkZ0RTs7QUZveUZJO0VBMUVGLDhDQXdCd0U7RUF2QnhFLDRDQXVCaUM7QUU5dUZuQzs7QUZ5dEZFO0VBQ0UsNENBb0IrQjtFQW5CL0IsWUFBQTtBRXZ0Rko7O0FGNHVGRTtFQVRBLHdEQURtQjtFQUdqQixZQVFrRTtBRXp1RnRFOztBRmszRkU7RUFDRSxtQkFBQTtBRWgzRko7O0FGbTNGRTs7OztFQUlFLG1CQUFBO0FFajNGSjs7QUZvM0ZFOztFQUVFLDhDQUFBO0FFbDNGSjs7QUZxM0ZFO0VBQ0UsK0JBQUE7QUVuM0ZKOztBRnMzRkU7RUFDRSxZQUFBO0FFcDNGSjs7QUY2OUZFO0VBQ0UsdUJBQUE7QUUzOUZKOztBRmcrRkU7OztFQUdFLFlBQUE7QUU5OUZKOztBRmkrRkU7RUFDRSwrQkFBQTtBRS85Rko7O0FGaytGRTtFQUNFLHFDQUFBO0FFaCtGSjs7QUZtK0ZFO0VBQ0UsK0JBQUE7QUVqK0ZKOztBRm8rRkU7O0VBRUUsWUFBQTtFQUNBLHlCQUFBO0FFbCtGSjs7QUY0N0ZFO0VBMkNJLCtCQWxDYTtBRWw4Rm5COztBRncrRkU7RUFDRSwrQkF2Q2U7QUUvN0ZuQjs7QUZ5K0ZFO0VBT0ksZ0NBQUE7QUU3K0ZOOztBRm03RkU7RUFxRUksc0NBQUE7QUVyL0ZOOztBRmc3RkU7RUE4RU0sc0NBQUE7QUUzL0ZSOztBRjRrR0U7RUFDRSwwQ0F0TUE7QUVwNEZKOztBRjZrR0U7O0VBRUUsa0NBVmlCO0FFamtHckI7O0FGOGtHRTs7RUFFRSxxR0FBQTtBRTVrR0o7O0FGK2tHRTs7RUFFRSxvR0FBQTtBRTdrR0o7O0FGZ2xHRTs7RUFFRSxtQkF4QmM7QUV0akdsQjs7QUZpbEdFOztFQUVFLG1CQTVCdUI7QUVuakczQjs7QUZrM0ZFO0VBQ0UsK0NBQUE7RUFDQSw2Q0FBQTtBRWgzRko7O0FGbTNGRTtFQVNJLFlBdEI2QjtBRW4yRm5DOztBRjYzRkU7RUFDRSxrRUFBQTtBRTMzRko7O0FGNDRGRTs7O0VBUk0sZ0RBQUE7QUUvM0ZSOztBRm0rRkU7RUFuckdBLDZIQUFBO0VBcXJHRSx5QkFBQTtFQUNBLFlBQUE7QUVqK0ZKOztBRmlpR0U7RUFDRSx5Q0F0TUE7QUV6MUZKOztBRmtpR0U7O0VBRUUsa0NBVmlCO0FFdGhHckI7O0FGbWlHRTs7RUFFRSxvR0FBQTtBRWppR0o7O0FGb2lHRTs7RUFFRSxtR0FBQTtBRWxpR0o7O0FGcWlHRTs7RUFFRSxtQkF4QmM7QUUzZ0dsQjs7QUZzaUdFOztFQUVFLG1CQTVCdUI7QUV4Z0czQjs7QUZ1MEZFO0VBQ0UsOENBQUE7RUFDQSw0Q0FBQTtBRXIwRko7O0FGdzBGRTtFQVNJLFlBdEI2QjtBRXh6Rm5DOztBRmsxRkU7RUFDRSxpRUFBQTtBRWgxRko7O0FGaTJGRTs7O0VBUk0sK0NBQUE7QUVwMUZSOztBRjIvRkU7RUFDRSx1Q0F0TUE7QUVuekZKOztBRjQvRkU7O0VBRUUsa0NBVmlCO0FFaC9GckI7O0FGNi9GRTs7RUFFRSxrR0FBQTtBRTMvRko7O0FGOC9GRTs7RUFFRSxpR0FBQTtBRTUvRko7O0FGKy9GRTs7RUFFRSxtQkF4QmM7QUVyK0ZsQjs7QUZnZ0dFOztFQUVFLG1CQTVCdUI7QUVsK0YzQjs7QUZpeUZFO0VBQ0UsNENBQUE7RUFDQSwwQ0FBQTtBRS94Rko7O0FGa3lGRTtFQVNJLFlBdEI2QjtBRWx4Rm5DOztBRjR5RkU7RUFDRSwrREFBQTtBRTF5Rko7O0FGMnpGRTs7O0VBUk0sNkNBQUE7QUU5eUZSOztBRmc2RkU7RUFqc0dBLDJIQUFBO0FFb1NGOztBRmk2RkU7RUFDRSxvQ0FBQTtBRS81Rko7O0FGaTZGSTtFQUNFLG1DQUFBO0FFLzVGTjs7QUZrNkZJO0VBQ0UsaUNBQUE7QUVoNkZOOztBRm82RkU7RUFDRSwrQkFBQTtBRWw2Rko7O0FGb2dHRTtFQXB6R0EsaUlBQUE7RUFzekdFLG1CQUFBO0VBQ0EsWUFBQTtBRWxnR0o7O0FGc29GRTtFQUNFLDJDQUFBO0FFcG9GSjs7QUZ1b0ZFO0VBQ0UsNkNBQUE7QUVyb0ZKOztBRmtsR0U7RUFFRSxtQkFBQTtFQUNBLFlBQUE7QUVqbEdKOztBRnBURTtFQVhBLDRIQUFBO0FFa1VGOztBRmlsR0U7RUFDRSwyQ0FBQTtBRS9rR0o7O0FGMmpHTTtFQXdCRixxQ0FBQTtBRWhsR0o7O0FGcWxHRTtFQUNFO0lBRUUsbUJBQUE7RUVwbEdKO0FBQ0Y7O0FGdWxHRTtFQUNFLFlBQUE7QUVybEdKOztBRndsR0U7O0VBRUUsK0JBQUE7QUV0bEdKOztBRnlsR0U7RUFDRSwrQkFBQTtBRXZsR0o7O0FGeWxHSTs7RUFFRSxjQUFBO0FFdmxHTjs7QUZtbkdJO0VBQ0UsWUFMZTtBRTVtR3JCOztBRm1uR007RUFDRSxZQVZZO0FFdm1HcEI7O0FGc3BMRTtFQUNFLCtCQVhZO0FFeG9MaEI7O0FGc3BMRTtFQUNFLCtCQWZZO0FFcm9MaEI7O0FGdXBMRTtFQUNFLG9DQWxCb0I7QUVub0x4Qjs7QUZ1cExJO0VBQ0UsbUNBaEJxQjtBRXJvTDNCOztBRndwTEk7RUFDRSxpQ0FuQm1CO0FFbm9MekI7O0FGMHBMRTtFQUNFLG1DQTdCcUI7QUUzbkx6Qjs7QUYycExFO0VBQ0UsdUJBOUJxQjtBRTNuTHpCOztBRjZwTEk7RUFDRSwrQ0FoQ3NCO0FFM25MNUI7O0FGNnBMTTtFQUNFLDhDQXJDbUI7QUV0bkwzQjs7QUY4cExNO0VBQ0UsNENBeENpQjtBRXBuTHpCOztBRmtxTEk7RUFDRSxvQ0E5Q3NCO0FFbG5MNUI7O0FGbXFMSTtFQUNFLG1DQXBEcUI7QUU3bUwzQjs7QUZvcUxJO0VBQ0UsaUNBdkRtQjtBRTNtTHpCOztBRjBxTEk7RUFDRSxpQ0FoRW1CO0FFeG1MekI7O0FGMHFMTTs7RUFFRSxpQ0FwRWlCO0FFcG1MekI7O0FGNHFMSTs7RUFFRSw0Q0ExRW1CO0FFaG1MekI7O0FGOHFMRTtFQUNFLGlDQS9FcUI7QUU3bEx6Qjs7QUYwc0tJO0VBQ0UsK0JBTFU7QUVuc0toQjs7QUYyc0tJO0VBQ0UsK0JBVFU7QUVoc0toQjs7QUY0c0tJO0VBQ0UsMENBWmM7QUU5cktwQjs7QUY2c0tJO0VBai9ERixzSEFBQTtFQUNBLHlCQUFBO0VBQ0EsMkJBQUE7QUV6dEdGOztBRjJoTEk7RUFDRSwwQ0FKYztBRXJoTHBCOztBRjRoTEk7RUF4MEVGLHNIQUFBO0VBQ0EseUJBQUE7RUFDQSwyQkFBQTtBRWp0R0Y7O0FGMGpLSTtFQUNFLDBDQVBjO0FFampLcEI7O0FGMmpLSTtFQUNFLDJDQVZ1QjtBRS9pSzdCOztBRjRqS0k7RUFDRSwwQ0FiYztBRTdpS3BCOztBRjhqS007RUFDRSwrQkFqQmlCO0FFM2lLekI7O0FGK2pLTTtFQUNFLDZCQUFBO0FFN2pLUjs7QUZrM0tJO0VBQ0UsK0JBVFk7QUV2MktsQjs7QUZtM0tJO0VBQ0UsWUFaa0I7QUVyMkt4Qjs7QUZxM0tNO0VBQ0Usb0NBaEJrQjtBRW4ySzFCOztBRnMzS007RUFDRSxtQ0FuQmlCO0FFajJLekI7O0FGdTNLTTtFQUNFLGlDQXRCZTtBRS8xS3ZCOztBRjIzS007RUFDRSxpQ0E3QmU7QUU1MUt2Qjs7QUY4M0tNO0VBQ0UsK0JBeENpQjtBRXAxS3pCOztBRiszS007RUFDRSxnQ0F0Q21CO0FFdjFLM0I7O0FGMG5HSTtFQUNFLG9DQUFBO0FFeG5HTjs7QUYybkdJO0VBQ0UsbUNBQUE7QUV6bkdOOztBRjRuR0k7RUFDRSxpQ0FBQTtBRTFuR047O0FGc3VHRTtFQUNFLCtCQUFBO0FFcHVHSjs7QUZ1dUdFOztFQUVFLCtCQUFBO0FFcnVHSjs7QUZ3dUdFO0VBQ0UsMENBQUE7QUV0dUdKOztBRjZxR0U7RUE0REksK0JBQUE7QUV0dUdOOztBRjBxR0U7RUE0REksK0JBQUE7QUV0dUdOOztBRjhxR0U7RUF3REksK0JBQUE7QUVudUdOOztBRitxR0U7RUFvREksK0JBQUE7QUVodUdOOztBRmdyR0U7RUFnREksK0JBQUE7QUU3dEdOOztBRnN1R007RUFDRSwwQkE5bUhZO0FFMFlwQjs7QUZ1dUdNO0VBQ0UsMEJBaG5IYTtBRTJZckI7O0FGMHVHRTtFQUNFLHlDQUFBO0FFeHVHSjs7QUYydUdFOztFQUVFLHVDQUFBO0FFenVHSjs7QUY0dUdFO0VBQ0UsaUNBQUE7QUUxdUdKOztBRit4R0k7RUFDRSxZQUFBO0FFN3hHTjs7QUZneUdJO0VBQ0UsWUFBQTtBRTl4R047O0FGaXlHSTtFQUNFLCtCQUFBO0FFL3hHTjs7QUZteUdFO0VBQ0UsdUJBQUE7QUVqeUdKOztBRnV5R0k7Ozs7O0VBQ0UscUNBQUE7QUVqeUdOOztBRnN5R0k7RUFDRSxxQ0FBQTtBRXB5R047O0FGNDNHRTtFQUVFLG1CQUFBO0FFMzNHSjs7QUZqaEJFO0VBWEEsNkhBQUE7QUUraEJGOztBRjIzR0U7RUFDRSx1QkFBQTtFQUNBLFlBQUE7QUV6M0dKOztBRjQzR007O0VBR0UsK0JBQUE7QUUzM0dSOztBRmc0R0U7O0VBRUUsWUFBQTtBRTkzR0o7O0FGcTRHSTs7OztFQUNFLHFDQUFBO0FFaDRHTjs7QUY4N0dFO0VBQ0UsbUJBQUE7QUU1N0dKOztBRis3R0U7O0VBRUUsK0JBQUE7QUU3N0dKOztBRmc4R0U7O0VBRUUsMkJBQUE7RUFDQSw2QkFBQTtBRTk3R0o7O0FGaThHRTs7RUFFRSwyQkFBQTtBRS83R0o7O0FGbThHSTs7OztFQUlFLHNDQUFBO0FFajhHTjs7QUZzOUdJO0VBQ0UsZ0JBSks7QUVoOUdYOztBRnEvR0U7RUFDRSxxQ0FBQTtBRWwvR0o7O0FGcS9HRTtFQUNFLGlEQUFBO0FFbi9HSjs7QUZzL0dFO0VBQ0UsK0NBQUE7QUVwL0dKOztBRncvR0k7RUFDRSxvQ0FBQTtBRXQvR047O0FGeS9HSTtFQUNFLGdEQUFBO0FFdi9HTjs7QUYwL0dJO0VBQ0UsOENBQUE7QUV4L0dOOztBRjYvR0k7RUFDRSxrQ0FBQTtBRTMvR047O0FGOC9HSTtFQUNFLDhDQUFBO0FFNS9HTjs7QUYrL0dJO0VBQ0UsNENBQUE7QUU3L0dOOztBRm9pSEk7RUFDRSxxQ0FBQTtBRWxpSE47O0FGcWlISTtFQUNFLG9DQUFBO0FFbmlITjs7QUZzaUhJO0VBQ0Usa0NBQUE7QUVwaUhOOztBRnlsSEU7RUFDRSxzQ0FBQTtBRXZsSEo7O0FGa2tIRTtFQUNFLDJDQUFBO0FFaGtISjs7QUZta0hFOztFQUlFLCtDQUFBO0FFbmtISjs7QUYyakhFO0VBQ0UsMENBQUE7QUV6akhKOztBRjRqSEU7O0VBSUUsOENBQUE7QUU1akhKOztBRm9qSEU7RUFDRSx3Q0FBQTtBRWxqSEo7O0FGcWpIRTs7RUFJRSw0Q0FBQTtBRXJqSEo7O0FGc2xITTs7RUFFRSxzQ0FBQTtBRXBsSFI7O0FGdWxITTs7RUFFRSwwQ0FBQTtBRXJsSFI7O0FGd2xITTtFQUNFLCtCQUFBO0FFdGxIUjs7QUY0bEhJO0VBQ0UsdUJBQUE7QUUxbEhOOztBRjBvSEU7RUFDRSxZQUFBO0FFeG9ISjs7QUYyb0hFO0VBQ0UsK0JBQUE7QUV6b0hKOztBRjRvSEU7RUFDRSwrQkFBQTtBRTFvSEo7O0FGNm9IRTtFQUNFLCtCQUFBO0FFM29ISjs7QUY4b0hFO0VBQ0UsbUJBQUE7QUU1b0hKOztBRnpwQkU7RUFYQSw2SEFBQTtBRXVxQkY7O0FGNG9ISTtFQUNFLHFDQUFBO0FFMW9ITjs7QUZncEhNO0VBQ0Usb0NBQUE7QUU5b0hSOztBRmlwSE07RUFDRSxtQ0FBQTtBRS9vSFI7O0FGa3BITTtFQUNFLGlDQUFBO0FFaHBIUjs7QUZvcEhJO0VBQ0UsaUNBQUE7QUVscEhOOztBRnFwSEk7RUFDRSwrQkFBQTtBRW5wSE47O0FGNHNIRTtFQUNFLHlCQUxtQztFQU1uQyxZQUFBO0FFMXNISjs7QUY2c0hFO0VBQ0UseUJBWHdCO0VBWXhCLFlBQUE7QUUzc0hKOztBRjZzSEk7RUFDRSx5QkFiMkI7QUU5ckhqQzs7QUY4c0hJO0VBbDVJRixnSUFBQTtBRXVzQkY7O0FGa3RIRTtFQUNFLGlEQXZCbUI7QUV6ckh2Qjs7QUZrdEhJO0VBQ0UsZ0RBMUJpQjtFQTJCakIsa0JBQUE7QUVodEhOOztBRm90SEU7RUFDRSxnREFoQ21CO0VBaUNuQixrQkFBQTtBRWx0SEo7O0FGb3RISTtFQUNFLGlCQUFBO0VBQ0EsaURBckNpQjtBRTdxSHZCOztBRnN0SEU7RUFRSSwwQ0FBQTtBRTN0SE47O0FGb3dISTtFQUNFLDhDQUFBO0FFbHdITjs7QUZxd0hJO0VBR0UsZ0RBQUE7QUVyd0hOOztBRnd3SEk7RUFHRSw4Q0FBQTtBRXh3SE47O0FGMnZISTtFQUNFLCtDQUFBO0FFenZITjs7QUY0dkhJO0VBR0UsaURBQUE7QUU1dkhOOztBRit2SEk7RUFHRSwrQ0FBQTtBRS92SE47O0FGa3ZISTtFQUNFLDRDQUFBO0FFaHZITjs7QUZtdkhJO0VBR0UsOENBQUE7QUVudkhOOztBRnN2SEk7RUFHRSw0Q0FBQTtBRXR2SE47O0FGMnhISTtFQUdFLHVCQWhCcUI7QUUzd0gzQjs7QUYreEhFO0VBdGhKQSw0SEFBQTtFQXdoSkUseUJBQUE7QUU3eEhKOztBRmd5SEU7RUFDRSwwQ0EzQm9CO0FFbndIeEI7O0FGNDJIRTtFQUNFLDBDQVZxQjtBRWgySHpCOztBRmkwSEU7OztFQUdFLCtDQUFBO0FFL3pISjs7QUZrMEhFO0VBQ0UsNkNBQUE7QUVoMEhKOztBRm0wSEU7RUFHRSxnREFEUTtFQU1OLFlBUFE7QUVoMEhkOztBRnF6SEU7OztFQUdFLDhDQUFBO0FFbnpISjs7QUZzekhFO0VBQ0UsNENBQUE7QUVwekhKOztBRnV6SEU7RUFHRSwrQ0FEUTtFQU1OLFlBUFE7QUVwekhkOztBRnl5SEU7OztFQUdFLDRDQUFBO0FFdnlISjs7QUYweUhFO0VBQ0UsMENBQUE7QUV4eUhKOztBRjJ5SEU7RUFHRSw2Q0FEUTtFQU1OLFlBUFE7QUV4eUhkOztBRnUxSEk7O0VBQ0UsMENBM0IyQjtBRXp6SGpDOztBRnkxSEk7OztFQUdFLDBDQWxDd0I7QUVyekg5Qjs7QUYyMUhNO0VBQ0UsMENBdkNzQjtBRWx6SDlCOztBRisxSEk7RUFHRSwyQ0FEUTtBRTkxSGQ7O0FGeTJITTs7RUFFRSx1QkEzRHFDO0FFNXlIN0M7O0FGMjJIUTs7RUFFRSwwQ0FoRXlDO0FFenlIbkQ7O0FGKzJITTtFQUNFLHNDQTNFaUI7RUE0RWpCLDZCQUFBO0FFNzJIUjs7QUZrM0hRO0VBQ0Usc0NBakZ1QjtBRS94SGpDOztBRm0zSFE7RUFDRSxzQ0FwRm9CO0FFN3hIOUI7O0FGdTNIRTtFQUNFLHNDQXZGc0I7QUU5eEgxQjs7QUY4M0hFO0VBQ0UseUlBQUE7RUFJQSwrSUFBQTtBRS8zSEo7O0FGeTRIRTtFQUNFLDBJQUFBO0FFdjRISjs7QUY4OUhJO0VBR0UsMkNBQUE7QUU5OUhOOztBRm8rSEk7RUFDRTtJQUNFLGdCQUFBO0VFbCtITjtBQUNGOztBRnErSEk7O0VBSUUsK0JBQUE7QUVyK0hOOztBRncrSEk7RUFHRSwwQ0FBQTtFQUNBLDZDQUFBO0FFeCtITjs7QUYyK0hJOzs7RUFHRSwrQ0FBQTtFQUNBLDZDQUFBO0FFeitITjs7QUY2K0hNO0VBQ0UsNENBQUE7QUUzK0hSOztBRjgrSE07OztFQUdFLDhDQUFBO0VBQ0EsNENBQUE7QUU1K0hSOztBRmkvSE07RUFDRSwwQ0FBQTtBRS8rSFI7O0FGay9ITTs7O0VBR0UsNENBQUE7RUFDQSwwQ0FBQTtBRWgvSFI7O0FGby9ISTtFQUNFLDZCQUFBO0VBQ0EsaUNBQUE7QUVsL0hOOztBRnEvSEk7RUFDRSxZQUFBO0FFbi9ITjs7QUZzL0hJO0VBQ0UsaUNBQUE7QUVwL0hOOztBRncvSEU7RUFDRSx5QkFBQTtBRXQvSEo7O0FGeS9IRTtFQUNFLDRDQUFBO0FFdi9ISjs7QUYwL0hFOzs7RUFHRSwyQ0FBQTtBRXgvSEo7O0FGK2hJSTtFQUNFLFlBTEs7QUV4aElYOztBRmdpSUk7O0VBRUUsa0JBQUE7QUU3aElOOztBRmtpSUk7RUFDRSxVQUFBO0VBQ0EsYUFBQTtBRS9oSU47O0FGb2lJTTtFQUNFLFNBQUE7QUVqaUlSOztBRnNpSUk7RUFDRSxTQUFBO0FFbmlJTjs7QUZra0lFO0VBWUksY0FBQTtBRTFrSU47O0FGc25JRTs7RUFFRSxrREFKYztBRWhuSWxCOztBRnduSUk7O0VBRUUsK0NBVlk7RUFXWixtQkFBQTtBRXRuSU47O0FGMG5JRTtFQUNFLFlBQUE7QUV4bklKOztBRjBuSUk7RUFDRSwrQkFBQTtBRXhuSU47O0FGNG5JRTtFQUNFLG1CQUFBO0FFMW5JSjs7QUY2bklFO0VBQ0Usc0NBQUE7QUUzbklKOztBRituSUU7O0VBRUUsbUJBQUE7RUFDQSxnQkFBQTtBRTduSUo7O0FGMnFJTTs7Ozs7RUFDRSxnREFBQTtBRXJxSVI7O0FGMHBJRTtFQUNFLCtDQUFBO0FFeHBJSjs7QUZ1cElFO0VBQ0Usd0RBQUE7QUVycElKOztBRjhwSU07Ozs7O0VBQ0UsK0NBQUE7QUV4cElSOztBRjZvSUU7RUFDRSw4Q0FBQTtBRTNvSUo7O0FGMG9JRTtFQUNFLHVEQUFBO0FFeG9JSjs7QUZpcElNOzs7OztFQUNFLDZDQUFBO0FFM29JUjs7QUZnb0lFO0VBQ0UsNENBQUE7QUU5bklKOztBRjZuSUU7RUFDRSxxREFBQTtBRTNuSUo7O0FGb29JTTs7Ozs7RUFDRSxnREFBQTtBRTluSVI7O0FGeW9JRTtFQUNFLCtDQUFBO0FFdm9JSjs7QUYyb0lFO0VBQ0UsNkNBQUE7QUV6b0lKOztBRjJvSUk7RUFDRSw4Q0FBQTtBRXpvSU47O0FGOG9JRTs7Ozs7RUFHRSxvREFBQTtBRTFvSUo7O0FGNm9JRTtFQUNFLHFEQUFBO0FFM29JSjs7QUZncElFOzs7RUFFRSwwREFBQTtBRTdvSUo7O0FGcW1JTTs7Ozs7RUFDRSwrQ0FBQTtBRS9sSVI7O0FGMG1JRTtFQUNFLDhDQUFBO0FFeG1JSjs7QUY0bUlFO0VBQ0UsNENBQUE7QUUxbUlKOztBRjRtSUk7RUFDRSw2Q0FBQTtBRTFtSU47O0FGK21JRTs7Ozs7RUFHRSxtREFBQTtBRTNtSUo7O0FGOG1JRTtFQUNFLG9EQUFBO0FFNW1JSjs7QUZpbklFOzs7RUFFRSx5REFBQTtBRTltSUo7O0FGc2tJTTs7Ozs7RUFDRSw2Q0FBQTtBRWhrSVI7O0FGMmtJRTtFQUNFLDRDQUFBO0FFemtJSjs7QUY2a0lFO0VBQ0UsMENBQUE7QUUza0lKOztBRjZrSUk7RUFDRSwyQ0FBQTtBRTNrSU47O0FGZ2xJRTs7Ozs7RUFHRSxpREFBQTtBRTVrSUo7O0FGK2tJRTtFQUNFLGtEQUFBO0FFN2tJSjs7QUZrbElFOzs7RUFFRSx1REFBQTtBRS9rSUo7O0FGb3NJRTtFQUNFLG1CQUFBO0VBQ0EsWUFBQTtBRWxzSUo7O0FGb3NJSTtFQXBDRix5Q0FBQTtFQUNBLDZDQUFBO0FFN3BJRjs7QUZvc0lJO0VBeENGLHdDQUFBO0VBQ0EsNENBQUE7QUV6cElGOztBRm9zSUk7RUE1Q0Ysc0NBQUE7RUFDQSwwQ0FBQTtBRXJwSUY7O0FGeXBJRTs7O0VBR0UsOEJBQUE7QUV2cElKOztBRjBwSUU7Ozs7O0VBS0UsY0FBQTtBRXhwSUo7O0FGMnBJRTtFQUNFLHlCQUFBO0FFenBJSjs7QUY0bklFO0VBQ0UsZ0JBNEVlO0FFdHNJbkI7O0FGNG5JRTtFQUNFLFlBeUVlO0FFbHNJbkI7O0FGOHNJSTtFQXpGRjtJQUNFLGdCQThFYztFRS9ySWhCOztFRm1uSUE7SUFDRSxZQTJFYztFRTNySWhCO0FBQ0Y7O0FGOHVJRTtFQUNFLGlDQUFBO0FFNXVJSjs7QUZvb0tFO0VBQ0UsbUJBQUE7QUVsb0tKOztBRnFvS0U7O0VBRUUsWUFBQTtBRW5vS0o7O0FGeXBLSTtFQUNFLGdCQUpLO0FFbnBLWDs7QUZzeElFO0VBR0UsMEJBQUE7RUFDQSxtQkFBQTtFQTM1S0YsOEhBQUE7QUV1b0NGOztBRnl4SUU7RUFDRSxjQUFBO0FFdnhJSjs7QUV4b0RBO0VBR0UsK0NBQUE7RUFDQSwyQkFBQTtFQUdBLDRDQUFBO0VBQ0Esa0NBQUE7RUFHQSx5Q0FBQTtFQUNBLHVDQUFBO0VBQ0EsOENBQUE7RUFDQSwyQ0FBQTtFQUNBLGlEQUFBO0VBQ0Esa0NBQUE7RUFDQSwyREFBQTtFQUNBLG1DQUFBO0FGcW9ERjs7QUd0cERBO0VBRUUsc0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBRUEsNkJBQUE7RUFDQSx1Q0FBQTtFQUVBLDRCQUFBO0VBQ0Esc0NBQUE7RUFFQSx5QkFBQTtFQUNBLG9DQUFBO0VBT0EsME1BQUE7RUFDQSx5QkFBQTtFQUNBLHlDQUFBO0VBQ0Esd0NBQUE7RUFDQSx3Q0FBQTtFQUNBLDhDQUFBO0VBQ0EsOENBQUE7RUFDQSwwQ0FBQTtFQUNBLHVDQUFBO0VBQ0EsMkNBQUE7RUFDQSwyQ0FBQTtFQUNBLDJDQUFBO0VBQ0EsNkNBQUE7RUFHQSxtR0FBQTtFQUNBLG1DQUFBO0VBQ0EsbUVBQUE7RUFDQSwwRkFBQTtFQUNBLGdDQUFBO0VBQ0Esa0VBQUE7RUFDQSx1RkFBQTtFQUNBLCtCQUFBO0VBQ0EsaUVBQUE7RUFDQSw4QkFBQTtFQUNBLDREQUFBO0VBQ0EsMkZBQUE7RUFFQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EscUNBQUE7RUFDQSxnREFBQTtFQUNBLGdDQUFBO0VBQ0EsMkNBQUE7RUFHQSw2Q0FBQTtFQUdBLHFDQUFBO0VBQ0Esd0JBQUE7RUFDQSw2QkFBQTtFQUNBLHVDQUFBO0VBR0Esd0NBQUE7RUFDQSxvQkFBQTtFQUNBLDRJQUFBO0VBQ0EsNElBQUE7RUFDQSw0SUFBQTtFQUNBLDZJQUFBO0VBQ0EsNklBQUE7RUFDQSw4SUFBQTtFQUNBLDhJQUFBO0VBQ0EsOElBQUE7RUFDQSw4SUFBQTtFQUNBLGdKQUFBO0VBQ0EsZ0pBQUE7RUFDQSxnSkFBQTtFQUNBLGdKQUFBO0VBQ0EsZ0pBQUE7RUFDQSxnSkFBQTtFQUNBLGlKQUFBO0VBQ0EsaUpBQUE7RUFDQSxpSkFBQTtFQUNBLGlKQUFBO0VBQ0Esa0pBQUE7RUFHQSxzQkFBQTtFQUNBLCtCQUFBO0VBQ0EsNkJBQUE7RUFDQSx1QkFBQTtFQUdBLHNDQUFBO0VBQ0EscUNBQUE7RUFDQSx5Q0FBQTtFQUNBLDZCQUFBO0VBQ0Esa0NBQUE7RUFDQSxrQ0FBQTtFQUNBLDJEQUFBO0VBQ0EsNkJBQUE7RUFDQSw4QkFBQTtFQUNBLHdDQUFBO0VBQ0EsNkRBQUE7RUFDQSwyQ0FBQTtFQUNBLGlEQUFBO0VBQ0EsaUNBQUE7RUFHQSxzQkFBQTtFQUNBLDJCQUFBO0VBQ0Esb0NBQUE7RUFDQSwrQ0FBQTtFQUdBLHNEQUFBO0VBQ0EsZ0NBQUE7RUFHQSx5QkFBQTtFQUNBLCtDQUFBO0VBQ0EseUNBQUE7RUFHQSxxQkFBQTtFQUNBLHFCQUFBO0VBQ0EsMkNBQUE7RUFDQSxpQ0FBQTtFQUNBLHlEQUFBO0VBR0Esa0NBQUE7RUFDQSxrQ0FBQTtFQUdBLDZCQUFBO0VBQ0EseUJBQUE7RUFDQSxvQkFBQTtBSHNuREY7O0FHbHZERTtFQWxCRjtJQW1CSSx3QkFBQTtFSHF2REY7QUFDRjs7QUZvOEJFO0VBQ0UsZ0JBdkxvQjtFQXdMcEIsZUF6TGtCO0VBMExsQix3QkFBQTtBRWo4Qko7O0FGbzhCRTtFQUVFLGNBQUE7QUVsOEJKOztBRnE4QkU7RUFDRSxlQUFBO0FFbDhCSjs7QUZnbkJFO0VBL1ZFLCtCQUFBO0VBWUYsd0JBQUE7RUFxVkUsZ0JBQUE7QUU1bUJKOztBRittQkU7RUFwV0UsK0JBQUE7RUFZRix3QkFBQTtFQTBWRSxnQkFBQTtBRTNtQko7O0FGOG1CRTtFQXpXRSwrQkFBQTtFQVlGLHdCQUFBO0VBK1ZFLGdCQUFBO0FFMW1CSjs7QUY2bUJFO0VBOVdFLCtCQUFBO0VBWUYsd0JBQUE7RUFvV0UsZ0JBQUE7QUV6bUJKOztBRittQkU7RUF0WEUsNENBQUE7RUErWEEsZ0JBQUE7QUVubkJKOztBRnNuQkU7RUFsWUUsNENBQUE7RUEyWUEsZ0JBQUE7QUUxbkJKOztBRjZuQkU7RUE5WUUsK0JBQUE7RUFZRix3QkFBQTtBRXRQRjs7QUY0bkJFO0VBbFpFLCtCQUFBO0VBWUYsd0JBQUE7QUVqUEY7O0FGMG5CSTtFQUNFLGdCQUFBO0FFeG5CTjs7QUY0bkJFO0VBMVpFLCtCQUFBO0VBWUYsaUJBQUE7QUV6T0Y7O0FGMm5CRTtFQTlaRSxpQ0FBQTtFQVlGLHVCQUFBO0VBb1pFLGdCQUFBO0FFdm5CSjs7QUYwbkJFO0VBbmFFLCtCQUFBO0VBWUYsdUJBQUE7RUF5WkUsZ0JBQUE7QUV0bkJKOztBRnluQkU7RUF4YUUsK0JBQUE7RUFZRix3QkFBQTtFQThaRSxnQkFBQTtBRXJuQko7O0FGd25CRTtFQTdhRSwrQkFBQTtFQVlGLHNCQUFBO0VBbWFFLGdCQUFBO0FFcG5CSjs7QUZrNkJFO0VBN3RCRSwrQkFBQTtFQVlGLHdCQUFBO0FFNU1GOztBRjJsQ0U7O0VBR0ksd0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QUV6bENOOztBRnl0Q0U7RUFDRSx3QkFBQTtBRXR0Q0o7O0FGc3hDRTtFQUNFLHdCQUFBO0FFbnhDSjs7QUZzeENFO0VBRUksZUFBQTtFQUNBLGdCQUFBO0FFcHhDTjs7QUZ3eENFO0VBQ0UsZUFBQTtBRXJ4Q0o7O0FGd3hDRTs7RUFFRSxlQUFBO0FFcnhDSjs7QUZpNUNFO0VBQ0Usd0JBQUE7QUU5NENKOztBRms1Q0U7RUFDRSxpQkFBQTtBRS80Q0o7O0FGa2dERTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtBRS8vQ0o7O0FGaWdESTs7RUFFRSxlQTNGc0I7QUVwNkM1Qjs7QUZzbURFO0VBQ0Usd0JBQUE7QUVubURKOztBRnNtREU7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7QUVubURKOztBRnNtREU7RUFDRSxlQUFBO0FFbm1ESjs7QUZrekRFO0VBQ0Usd0JBQUE7QUUveURKOztBRmt6REU7RUFDRSxlQWpMMEI7QUU5bkQ5Qjs7QUZrekRFOztFQUdJLGVBQUE7RUFDQSxnQkFBQTtBRWh6RE47O0FGb3pERTtFQUVJLGVBN0xpQztFQThMakMsZ0JBQUE7QUVsekROOztBRm80REU7RUFseERFLCtCQUFBO0VBWUYsd0JBQUE7QUV6SEY7O0FGMi9ERTtFQUVJLHdCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FFei9ETjs7QUY2L0RFO0VBdDVERSwrQkFBQTtFQVlGLHdCQUFBO0FFOUdGOztBRjhxSkU7RUE1a0pFLGdDQUFBO0VBWUYsd0JBQUE7QUV6R0Y7O0FGNnFKRTtFQUNFLHlCQVB1QjtBRW5xSjNCOztBRmdySkk7O0VBQ0UsZUF2QjJCO0VBd0IzQixrQkF0Q1U7QUV0b0poQjs7QUZnckpJOztFQUNFLGFBQUE7RUFDQSxZQUFBO0FFN3FKTjs7QUYrcUpNOztFQUNFLGVBQUE7RUFDQSxrQkFoRFE7QUU1bkpoQjs7QUZpckpFO0VBQ0UsZ0JBQUE7RUFFQSx1Q0FBQTtBRS9xSko7O0FGbXJKSTs7RUF0RUYsNkNBQUE7RUFFQSxzQkFBQTtBRXptSkY7O0FGcXJKSTtFQTlFRiw2Q0FBQTtFQUVBLHNCQUFBO0FFcm1KRjs7QUZ3ckpFO0VBQ0UsZUFBQTtFQUNBLHNCQW5FaUI7QUVsbkpyQjs7QUZ3ckpFO0VBQ0UsY0FBQTtBRXJySko7O0FGd3JKRTtFQUdFLGlCQWhFdUI7QUV2bkozQjs7QUYwckpFO0VBQ0UsY0EvRW9CO0VBZ0ZwQiwwQkF6RXFCO0VBNkVyQixnQ0FBQTtBRTFySko7O0FGNHFJSTtFQUNFLHNCQUpxQjtBRXJxSTNCOztBRjRxSUk7RUFDRSxtQkFBQTtBRTFxSU47O0FGOHFJTTs7RUExREosb0ZBQUE7RUFJQSxpREFBQTtFQUdBLHNCQUFBO0FFcm5JRjs7QUYrcUlNO0VBakVKLHNGQUFBO0VBSUEsaURBQUE7RUFHQSxzQkFBQTtBRWhuSUY7O0FGa3JJTTtFQXpFSixzRkFBQTtFQUlBLGlEQUFBO0VBR0Esc0JBQUE7QUUzbUlGOztBRm9ySUk7RUFDRSxjQUFBO0FFbHJJTjs7QUZxcklJO0VBR0UsY0F6Q3FCO0FFNW9JM0I7O0FGd3JJSTtFQUNFLDBCQWpEbUI7RUFxRG5CLGdDQUFBO0FFenJJTjs7QUYrcklFO0VBR007O0lBeEZOLDZDQUFBO0VFcG1JQTs7RUZtc0lNO0lBL0ZOLDZDQUFBO0VFam1JQTs7RUZ3c0lNO0lBdkdOLDRDQUFBO0VFOWxJQTtBQUNGOztBRjQrSEk7RUFDRSwwQkFBQTtBRTErSE47O0FGNitISTtFQUNFLGNBQUE7RUFDQSxrQkFUMkI7QUVsK0hqQzs7QUYrK0hNOztFQWpDSiw2Q0FBQTtFQUVBLHNCQUFBO0FFMzhIRjs7QUZtL0hNO0VBMUNKLDZDQUFBO0VBRUEsc0JBQUE7QUV2OEhGOztBRjJ6SUk7RUFDRSxvQkFBQTtBRXh6SU47O0FGMnpJSTtFQUNFLGNBQUE7RUFDQSxtQkFUOEI7QUVoeklwQzs7QUY2eklNOztFQXhDSiw2Q0FBQTtFQUVBLHNCQUFBO0FFbHhJRjs7QUZpMElNO0VBakRKLDZDQUFBO0VBRUEsc0JBQUE7QUU5d0lGOztBRm85REU7O0VBR0UsZUFBQTtBRWw5REo7O0FGaTZERTs7RUFSQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFRRSxjQUFBO0VBQ0Esc0JBQUE7QUU1NURKOztBRis1REk7O0VBQ0UsZUF5Q3FCO0FFcjhEM0I7O0FGd3BFRTtFQUNFLHFCQUFBO0FFcnBFSjs7QUZnMUVFO0VBRUksd0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QUU5MEVOOztBRmk2RUU7O0VBR0ksd0JBQUE7RUFDQSxlQUFBO0FFLzVFTjs7QUZrb0ZFO0VBQ0Usd0JBQUE7QUUvbkZKOztBRjh0RkU7RUFDRSx3QkFBQTtBRTN0Rko7O0FGOHRGRTtFQUNFLGVBQUE7QUUzdEZKOztBRms2RkU7RUFDRSx3QkFBQTtBRS81Rko7O0FGZ21HRTtFQUVJLHdCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FFOWxHTjs7QUZpd0dFO0VBQ0Usd0JBQUE7QUU5dkdKOztBRml3R0U7RUFFSSxlQUFBO0VBQ0EsZ0JBQUE7QUUvdkdOOztBRm13R0U7RUFDRSxtQkFBQTtBRWh3R0o7O0FGbXdHRTtFQUNFLGVBQUE7QUVod0dKOztBRm13R0U7RUFFSSxlQUFBO0VBQ0EsZ0JBQUE7QUVqd0dOOztBRnkvR0U7RUFDRSx3QkFBQTtBRXQvR0o7O0FGeS9HRTtFQUVJLHdCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FFdi9HTjs7QUZvbkhFOzs7Ozs7O0VBbnZIRSwrQkFBQTtFQVlGLHdCQUFBO0VBK3VIRSxTQUFBO0FFaG5ISjs7QUZtckhFO0VBQ0Usd0JBQUE7RUFDQSxlQXJCb0I7RUFzQnBCLGdCQXJCMkI7RUFzQjNCLG1CQXRCMkI7QUUxcEgvQjs7QUZtckhFO0VBQ0UsZUF2QjRCO0VBd0I1QixnQkF0QkE7RUF1QkEsbUJBdkJBO0FFenBISjs7QUZtb0VFO0VBQ0Usd0JBSFk7QUU3bkVoQjs7QUZtb0VFO0VBQ0Usd0JBUFk7QUV6bkVoQjs7QUZxb0VJO0VBQ0UsZUFBQTtBRWxvRU47O0FGMHlERTtFQVJBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQVFFLGNBQUE7RUFDQSxzQkFBQTtBRXR5REo7O0FGeXlESTtFQUNFLGVBa1Z1QjtBRXpuRTdCOztBRjRuRUk7RUFDRSxlQUFBO0FFMW5FTjs7QUY2eERFO0VBUkEsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0VBUUUsY0FBQTtFQUNBLHNCQUFBO0FFenhESjs7QUY0eERJO0VBQ0UsZUF1VnVCO0FFam5FN0I7O0FGb25FSTtFQUNFLHdCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FFbG5FTjs7QUZ3bkVJO0VBQ0UsZUFBQTtBRXJuRU47O0FGMHdERTtFQVJBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQVFFLGNBQUE7RUFDQSxzQkFBQTtBRXR3REo7O0FGeXdESTtFQUNFLGVBcVd1QjtBRTVtRTdCOztBRittRUk7RUFDRSxlQUFBO0FFN21FTjs7QUY2dkRFO0VBUkEsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0VBUUUsY0FBQTtFQUNBLHNCQUFBO0FFenZESjs7QUY0dkRJO0VBQ0UsZUEwV3VCO0FFcG1FN0I7O0FGdW1FSTtFQUNFLHdCQTFDVTtFQTJDVixlQUFBO0VBQ0EsZ0JBQUE7QUVybUVOOztBRmxLRTtFQUVJLHdCQUFBO0VBQ0EsZUFBQTtBRW9LTjs7QUZ2SEU7RUE5R0UsK0JBQUE7RUFZRix3QkFBQTtBRThORjs7QUZrcEhFO0VBRUksd0JBQUE7RUFDQSxlQUFBO0FFaHBITjs7QUZvcEhFO0VBQ0UsY0FBQTtFQUVFLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtBRWxwSE47O0FGcytJRTtFQUNFLHdCQUFBO0FFbitJSjs7QUZzK0lFOztFQUVFLGdCQUFBO0VBQ0EsZUFBQTtBRW4rSUo7O0FGMWdCRTtFQUNFLGdCQUFBO0VBSUEsa0JBQUE7QUUwZ0JKOztBRm5nQkk7RUFDRSx3QkFBQTtBRXFnQk47O0FGamdCRTtFQUNFLGlCQUFBO0FFb2dCSjs7QUZqZ0JFO0VBQ0Usa0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBRUEsNkRBQUE7RUFDQSxtQkFBQTtBRW1nQko7O0FGOW9FSTtFQStvREUsYUFBQTtBRWtnQk47O0FGNXFFRTtFQUNFLFNBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBR0EsVUFBQTtFQUdBLHdCQUFBO0VBQ0EscUJBQUE7QUUycUVKOztBRjF6RUU7RUFFRSxvQkFBQTtFQUdBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7QUUwekVKOztBRnR6RUU7RUFDRSxlQUFBO0VBQ0EsYUEzQjRCO0FFbzFFaEM7O0FGdnpFSTtFQUdFLGFBQUE7QUV1ekVOOztBRi95RUU7RUFDRSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQTFDa0I7QUU0MUV0Qjs7QUY5eUVFO0VBR0Usa0JBQUE7RUFDQSxvQkFBQTtFQUNBLHNCQUFBO0VBQ0EsYUFwRGtCO0VBd0RsQixhQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FFNHlFSjs7QUZ6eUVFO0VBRUUsa0JBQUE7RUFDQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBRUEsYUFwRTJCO0VBcUUzQixvQkFBQTtFQUNBLHdDQUFBO0VBQ0EsMERBQUE7RUFDQSxVQUFBO0FFMHlFSjs7QUZ4eUVJO0VBQ0UsVUFBQTtBRTB5RU47O0FGcnlFTTtFQUdFLFlBQUE7QUVxeUVSOztBRmh5RUU7RUFDRSwrQkF0Rm1DO0FFeTNFdkM7O0FGM3hFSTtFQUNFLFVBQUE7QUU4eEVOOztBRnh4RUU7RUFDRSxrQkFBQTtFQUNBLGFBM0drQjtFQWdIbEIsYUFBQTtFQUlBLHNCQUFBO0VBR0EsY0FBQTtFQUNBLGVBQUE7QUVreEVKOztBRjl3RUU7RUFDRSxlQUFBO0VBS0EsV0FBQTtFQUtBLGtCQUFBO0FFeXdFSjs7QUY5cUVFO0VBQTBDLElBQUE7QUVrckU1Qzs7QUZsckVFO0VBQTBDLElBQUE7QUVrckU1Qzs7QUZqckVFO0VBQXdDLElBQUE7QUVvckUxQzs7QUZwckVFO0VBQXdDLElBQUE7QUVvckUxQzs7QUZsckVFO0VBRUUsdURBQUE7VUFBQSwrQ0FBQTtBRW1yRUo7O0FGaHJFRTtFQUVFLHFEQUFBO1VBQUEsNkNBQUE7QUVrckVKOztBRjdxRUU7RUFDRSxZQUFBO0FFZ3JFSjs7QUYxcUVFO0VBcUJBLHlCQUFBO0VBQ0Esa0NBQUE7RUFwQkUsdUJBQUE7RUFDQSwyQkFBQTtBRThxRUo7O0FGcnFFRTtFQVNBLHlCQUFBO0VBQ0Esa0NBQUE7RUFSRSxvQkFBQTtBRXlxRUo7O0FGamRFO0VBQ0Usa0JBQUE7QUVvZEo7O0FGby9JRTtFQUNFLGtCQUFBO0FFai9JSjs7QUNwNUVFO0VBR0Usb0NBQUE7QURxNUVKOztBRmxZRTtFQUNFLFlBQUE7QUVxWUo7O0FGbllJO0VBRUUsK0JBQUE7QUVvWU47O0FGaFlJO0VBQ0UsK0JBQUE7QUVrWU47O0FGL1hJO0VBQ0UsK0JBQUE7RUFDQSxZQUFBO0FFaVlOOztBRjlYSTtFQUNFLDBCQUFBO0FFZ1lOOztBRjVYRTtFQUNFLG9DQUFBO0FFK1hKOztBRjVYRTtFQUNFLG1DQUFBO0FFK1hKOztBRjVYRTtFQUNFLGlDQUFBO0FFK1hKOztBRnBWRTtFQUNFLDBCQUFBO0FFdVZKOztBRnBWRTtFQUNFLDBCQUFBO0FFdVZKOztBRnJTRTtFQUNFLDBCQUFBO0FFd1NKOztBRnRTSTtFQUNFLGNBQUE7QUV3U047O0FGcFNFO0VBQ0UsY0FaZTtBRW1UbkI7O0FGcFNFOztFQUVFLHlDQUFBO0FFdVNKOztBRi9SRTs7OztFQUlFLHdDQUFBO0FFa1NKOztBRi9SRTs7RUFFRSxzQ0FBQTtBRWtTSjs7QUY3Ukk7O0VBQ0UsbUJBeENhO0FFeVVuQjs7QUZpM0lFO0VBSUUseUJBQUE7RUFDQSxZQUFBO0FFajNJSjs7QUZ3M0lJO0VBeDRNRix1SUFBQTtBRW9oRUY7O0FGbzNJSTtFQXg0TUYsd0lBQUE7QUV3aEVGOztBRmczSUk7RUF4NE1GLHdJQUFBO0FFNGhFRjs7QUY0MklJO0VBeDRNRix3SUFBQTtBRWdpRUY7O0FGdzJJSTtFQXg0TUYseUlBQUE7QUVvaUVGOztBRm8ySUk7RUF4NE1GLHlJQUFBO0FFd2lFRjs7QUZnMklJO0VBeDRNRiwwSUFBQTtBRTRpRUY7O0FGNDFJSTtFQXg0TUYsMElBQUE7QUVnakVGOztBRncxSUk7RUF4NE1GLDBJQUFBO0FFb2pFRjs7QUZvMUlJO0VBeDRNRiwwSUFBQTtBRXdqRUY7O0FGZzFJSTtFQXg0TUYsMklBQUE7QUU0akVGOztBRjQwSUk7RUF4NE1GLDJJQUFBO0FFZ2tFRjs7QUZ3MElJO0VBeDRNRiwySUFBQTtBRW9rRUY7O0FGbzBJSTtFQXg0TUYsMklBQUE7QUV3a0VGOztBRmcwSUk7RUF4NE1GLDJJQUFBO0FFNGtFRjs7QUY0eklJO0VBeDRNRiwySUFBQTtBRWdsRUY7O0FGd3pJSTtFQXg0TUYsNElBQUE7QUVvbEVGOztBRm96SUk7RUF4NE1GLDRJQUFBO0FFd2xFRjs7QUZneklJO0VBeDRNRiw0SUFBQTtBRTRsRUY7O0FGNHlJSTtFQXg0TUYsNElBQUE7QUVnbUVGOztBRnd5SUk7RUF4NE1GLDZJQUFBO0FFb21FRjs7QUZveUlJO0VBeDRNRiw2SUFBQTtBRXdtRUY7O0FGZ3lJSTtFQXg0TUYsNklBQUE7QUU0bUVGOztBRjR4SUk7RUF4NE1GLDZJQUFBO0FFZ25FRjs7QUZ3eElJO0VBeDRNRiw2SUFBQTtBRW9uRUY7O0FGMnhJSTtFQUNFLGFBQUE7QUV4eElOOztBRmxKRTtFQUVFLGlCQUFBO0VBQ0EsWUFBQTtBRW9KSjs7QUZsbkVFO0VBWEEseUlBQUE7QUVnb0VGOztBRmhKSTtFQUNFLGlCQUFBO0FFa0pOOztBRmhKTTtFQUNFLFlBQUE7QUVrSlI7O0FGcEJFO0VBQ0UsNkNBQUE7RUFDQSx5Q0FBQTtBRXVCSjs7QUYxOUVJO0VBczhFRSxrQkFBQTtFQUNBLGdCQUFBO0FFdUJOOztBRmxCSTtFQUNFLHdDQUFBO0VBQ0EsNENBQUE7QUVxQk47O0FGaEJJO0VBQ0UsMENBQUE7RUFDQSxzQ0FBQTtBRW1CTjs7QUZmRTtFQUNFLGtCQUFBO0FFa0JKOztBRmRJO0VBQ0UsYUFBQTtBRWlCTjs7QUZaSTtFQVdJLG1CQUFBO0VBTUYsMEJBQUE7QUVBTjs7QUZJRTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsdUNBQUE7RUFDQSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLG9CQUFBO0FFREo7O0FGSUU7O0VBRUUsZ0JBQUE7QUVESjs7QUZNRTtFQUVFLGVBQUE7QUVKSjs7QUYzSkU7RUFDRSxXQU5tQjtFQU9uQixZQVBtQjtFQVFuQixpQkFSbUI7QUVzS3ZCOztBRjFKSTtFQUNFLFNBQUE7QUU0Sk47O0FGdkpJO0VBQ0UsWUFBQTtBRXlKTjs7QUZwSkk7RUFDRSxXQUFBO0FFc0pOOztBRmpKSTtFQUNFLFVBQUE7RUFDQSxZQUFBO0FFbUpOOztBRjlJSTtFQUNFLFlBQUE7QUVnSk47O0FGM0lJO0VBQ0UsV0FBQTtFQUNBLFdBQUE7QUU2SU47O0FGdklNO0VBQ0UsVUFBQTtBRXlJUjs7QUZwSU07RUFDRSxVQUFBO0VBQ0EsV0FBQTtBRXNJUjs7QUZqSU07RUFDRSxXQUFBO0FFbUlSOztBRjlITTtFQUNFLFdBQUE7RUFDQSxVQUFBO0FFZ0lSOztBRm5NRTtFQUNFLFdBUHFCO0VBUXJCLFlBUnFCO0VBU3JCLGlCQVRxQjtBRStNekI7O0FGbE1JO0VBQ0UsVUFBQTtBRW9NTjs7QUYvTEk7RUFDRSxhQUFBO0FFaU1OOztBRjVMSTtFQUNFLFdBQUE7QUU4TE47O0FGekxJO0VBQ0UsVUFBQTtFQUNBLFlBQUE7QUUyTE47O0FGdExJO0VBQ0UsWUFBQTtBRXdMTjs7QUZuTEk7RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRXFMTjs7QUYvS007RUFDRSxXQUFBO0FFaUxSOztBRjVLTTtFQUNFLFVBQUE7RUFDQSxZQUFBO0FFOEtSOztBRnpLTTtFQUNFLFlBQUE7QUUyS1I7O0FGdEtNO0VBQ0UsV0FBQTtFQUNBLFdBQUE7QUV3S1I7O0FGM09FO0VBQ0UsV0FMbUI7RUFNbkIsWUFObUI7RUFPbkIsaUJBUG1CO0FFcVB2Qjs7QUYxT0k7RUFDRSxVQUFBO0FFNE9OOztBRnZPSTtFQUNFLGFBQUE7QUV5T047O0FGcE9JO0VBQ0UsV0FBQTtBRXNPTjs7QUZqT0k7RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRW1PTjs7QUY5Tkk7RUFDRSxZQUFBO0FFZ09OOztBRjNOSTtFQUNFLFdBQUE7RUFDQSxXQUFBO0FFNk5OOztBRnZOTTtFQUNFLFdBQUE7QUV5TlI7O0FGcE5NO0VBQ0UsVUFBQTtFQUNBLFlBQUE7QUVzTlI7O0FGak5NO0VBQ0UsWUFBQTtBRW1OUjs7QUY5TU07RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRWdOUjs7QUZyREU7RUEvdkVBLDRJQUFBO0VBaXdFRSxpQkFBQTtFQUNBLFlBQUE7QUV3REo7O0FGcUVFO0VBS0UsY0FBQTtFQUNBLHVCQUFBO0FFdEVKOztBRnNDRTtFQUNFLG9DQUFBO0FFcENKOztBRnNDRTtFQUNFLG1DQUFBO0FFcENKOztBRnNDRTtFQUNFLGlDQUFBO0FFcENKOztBRndDSTtFQUVFLDBCQUFBO0FFdkNOOztBRjVCRTtFQUNFLCtDQUFBO0FFOEJKOztBRjNCRTtFQUNFLDhDQUFBO0FFNkJKOztBRjFCRTtFQUNFLDRDQUFBO0FFNEJKOztBRnpCRTtFQUNFLDZCQUFBO0FFMkJKOztBRnNESTtFQUNFLFlBeEd1QjtFQXlHdkIsOEJBQUE7QUVwRE47O0FGd0RFO0VBQ0UsaUJBQUE7QUVyREo7O0FGMERFO0VBQ0UscUNBQUE7QUV2REo7O0FGMERFO0VBRUUsWUFBQTtFQUNBLHVCQUFBO0FFeERKOztBRkhFO0VBQ0UsNkNBQUE7QUVLSjs7QUZIRTtFQUNFLDRDQUFBO0FFS0o7O0FGSEU7RUFDRSwwQ0FBQTtBRUtKOztBRkRJO0VBRUUsMEJBQUE7QUVFTjs7QUZmRTtFQUNFLCtDQUFBO0FFaUJKOztBRmZFO0VBQ0UsOENBQUE7QUVpQko7O0FGZkU7RUFDRSw0Q0FBQTtBRWlCSjs7QUZiSTtFQUVFLHFDQUFBO0FFY047O0FGaERFO0VHdnhGQSx5REFEbUI7QUQyMEZyQjs7QUYvQ0U7RUczeEZBLHdEQURtQjtBRDgwRnJCOztBRjlDRTtFRy94RkEsc0RBRG1CO0FEaTFGckI7O0FGOTNFRTtFQVhBLHVJQUFBO0FFNjRFRjs7QUZsNEVFO0VBWEEsd0lBQUE7QUVpNUVGOztBRnQ0RUU7RUFYQSwwSUFBQTtBRW81RUY7O0FGejRFRTtFQVhBLHVJQUFBO0FFdTVFRjs7QUY1NEVFO0VBWEEsMElBQUE7QUUyNUVGOztBRmg1RUU7RUFYQSwySUFBQTtBRTg1RUY7O0FGbjVFRTtFQVhBLHVJQUFBO0FFaTZFRjs7QUZnR0U7O0VBamdGQSx3SUFBQTtBRXM2RUY7O0FGZ0dFOztFQUVFLGdCQUFBO0FFN0ZKOztBRmdHRTtFQUNFLDBCQUFBO0FFN0ZKOztBRitGSTtFQUNFLHFDQUFBO0FFN0ZOOztBRmlHRTtFQUNFLFlBQUE7RUFDQSxpQkFBQTtBRTlGSjs7QUZnR0k7RUFDRSx1QkFBQTtBRTlGTjs7QUZrR0U7RUFDRSw4Q0FBQTtBRS9GSjs7QUZrR0U7RUFDRSxpQkFBQTtFQUNBLCtDQUFBO0FFL0ZKOztBRm1HSTtFQUNFLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSw2Q0FBQTtBRWhHTjs7QUZvR0U7RUFDRSx5QkFBQTtFQUNBLDBCQUFBO0FFakdKOztBRm1HSTtFQUNFLFlBQUE7QUVqR047O0FGcUdFO0VBQ0UsMEJBQUE7RUFDQSx5QkFBQTtBRWxHSjs7QUZvR0k7RUFDRSxpQkFBQTtBRWxHTjs7QUZxR0k7RUFDRSx5QkFBQTtBRW5HTjs7QUZ1R0U7O0VBRUUseUNBQUE7QUVwR0o7O0FGeUpFO0VBRUUsaUJBQUE7RUFDQSxZQUFBO0FFdkpKOztBRjM5RUU7RUFYQSx3SUFBQTtBRXkrRUY7O0FGOTlFRTtFQVhBLHVJQUFBO0FFNCtFRjs7QUZ5SkU7RUFDRSwwQkFBQTtBRXRKSjs7QUY4TkU7RUFDRSxpQ0FBQTtBRTNOSjs7QUY4TkU7RUFDRSxhQWRvQjtBRTdNeEI7O0FGOE5FO0VBR0UsMEJBQUE7QUU3Tko7O0FGZ09FO0VBQ0UseUJBeEJvQjtBRXJNeEI7O0FGaU9JO0VBQ0UsK0NBQUE7QUU5Tk47O0FGaU9JO0VBQ0UsOENBQUE7QUUvTk47O0FGa09JO0VBQ0UsNENBQUE7QUVoT047O0FGdU9NO0VBQ0UseUJBdENXO0FFOUxuQjs7QUZ5T007RUFDRSxxQkE1Q1c7QUUzTG5COztBRjJPSTtFQUNFLDBCQUFBO0FFek9OOztBRitPRTtFQUNFLHVCQUFBO0FFNU9KOztBRmlQSTs7RUFDRSx5Q0FBQTtBRTdPTjs7QUZnUEk7O0VBQ0Usd0NBQUE7QUU3T047O0FGZ1BJOztFQUNFLHNDQUFBO0FFN09OOztBRnNVRTtFQTNDQSx5QkF3Q3dCO0VBdkN4QixZQXdDd0I7QUUvVDFCOztBRnlSRTtFQUNFLFlBcUNzQjtFQXBDdEIsWUFBQTtBRXZSSjs7QUZpVU07RUEvMkZKLHdJQUFBO0FFaWpGRjs7QUZrVU07RUFDRSxhQUFBO0FFaFVSOztBRm9VSTtFQUNFLFlBQUE7QUVsVU47O0FGcVVJO0VBQ0UsaUJBQUE7QUVuVU47O0FGd1VJO0VBbEVGLCtDQXdCd0U7RUF2QnhFLDZDQXVCaUM7QUV6Um5DOztBRm9RRTtFQUNFLDZDQW9CK0I7RUFuQi9CLFlBQUE7QUVsUUo7O0FGdVJFO0VBVEEseURBRG1CO0VBR2pCLFlBUWtFO0FFcFJ0RTs7QUYrVEk7RUF0RUYsNENBd0J3RTtFQXZCeEUsMENBdUJpQztBRTdRbkM7O0FGd1BFO0VBQ0UsMENBb0IrQjtFQW5CL0IsWUFBQTtBRXRQSjs7QUYyUUU7RUFUQSxzREFEbUI7RUFHakIsWUFRa0U7QUV4UXRFOztBRnVUSTtFQTFFRiw4Q0F3QndFO0VBdkJ4RSw0Q0F1QmlDO0FFalFuQzs7QUY0T0U7RUFDRSw0Q0FvQitCO0VBbkIvQixZQUFBO0FFMU9KOztBRitQRTtFQVRBLHdEQURtQjtFQUdqQixZQVFrRTtBRTVQdEU7O0FGcVlFO0VBQ0UsaUJBQUE7QUVsWUo7O0FGcVlFOzs7O0VBSUUsbUJBQUE7QUVsWUo7O0FGcVlFOztFQUVFLDRDQUFBO0FFbFlKOztBRnFZRTtFQUNFLDBCQUFBO0FFbFlKOztBRnFZRTtFQUNFLFlBQUE7QUVsWUo7O0FGMmVFO0VBQ0UscUNBQUE7QUV4ZUo7O0FGNmVFOzs7RUFHRSwwQkFBQTtBRTFlSjs7QUY2ZUU7RUFDRSwwQkFBQTtBRTFlSjs7QUY2ZUU7RUFDRSxtQ0FBQTtBRTFlSjs7QUY2ZUU7RUFDRSwwQkFBQTtBRTFlSjs7QUY2ZUU7O0VBRUUsWUFBQTtFQUNBLHlCQUFBO0FFMWVKOztBRm9jRTtFQTJDSSwwQkFsQ2E7QUV6Y25COztBRitlRTtFQUNFLDBCQXZDZTtBRXJjbkI7O0FGK2VFO0VBT0ksOEJBQUE7QUVsZk47O0FGd2JFO0VBcUVJLGlDQUFBO0FFemZOOztBRm9iRTtFQThFTSxpQ0FBQTtBRTlmUjs7QUYra0JFO0VBQ0UsMENBdE1BO0FFdFlKOztBRitrQkU7O0VBRUUsa0NBVmlCO0FFbGtCckI7O0FGK2tCRTs7RUFFRSxxR0FBQTtBRTVrQko7O0FGK2tCRTs7RUFFRSxvR0FBQTtBRTVrQko7O0FGK2tCRTs7RUFFRSxtQkF4QmM7QUVwakJsQjs7QUYra0JFOztFQUVFLG1CQTVCdUI7QUVoakIzQjs7QUYrV0U7RUFDRSwrQ0FBQTtFQUNBLDZDQUFBO0FFNVdKOztBRitXRTtFQVNJLFlBdEI2QjtBRTlWbkM7O0FGd1hFO0VBQ0Usa0VBQUE7QUVyWEo7O0FGc1lFOzs7RUFSTSxnREFBQTtBRXhYUjs7QUY0ZEU7RUFuckdBLHlJQUFBO0VBcXJHRSx1QkFBQTtFQUNBLFlBQUE7QUV6ZEo7O0FGeWhCRTtFQUNFLHlDQXRNQTtBRWpWSjs7QUYwaEJFOztFQUVFLGtDQVZpQjtBRTlnQnJCOztBRjJoQkU7O0VBRUUsb0dBQUE7QUV6aEJKOztBRjRoQkU7O0VBRUUsbUdBQUE7QUUxaEJKOztBRjZoQkU7O0VBRUUsbUJBeEJjO0FFbmdCbEI7O0FGOGhCRTs7RUFFRSxtQkE1QnVCO0FFaGdCM0I7O0FGK1RFO0VBQ0UsOENBQUE7RUFDQSw0Q0FBQTtBRTdUSjs7QUZnVUU7RUFTSSxZQXRCNkI7QUVoVG5DOztBRjBVRTtFQUNFLGlFQUFBO0FFeFVKOztBRnlWRTs7O0VBUk0sK0NBQUE7QUU1VVI7O0FGbWZFO0VBQ0UsdUNBdE1BO0FFM1NKOztBRm9mRTs7RUFFRSxrQ0FWaUI7QUV4ZXJCOztBRnFmRTs7RUFFRSxrR0FBQTtBRW5mSjs7QUZzZkU7O0VBRUUsaUdBQUE7QUVwZko7O0FGdWZFOztFQUVFLG1CQXhCYztBRTdkbEI7O0FGd2ZFOztFQUVFLG1CQTVCdUI7QUUxZDNCOztBRnlSRTtFQUNFLDRDQUFBO0VBQ0EsMENBQUE7QUV2Uko7O0FGMFJFO0VBU0ksWUF0QjZCO0FFMVFuQzs7QUZvU0U7RUFDRSwrREFBQTtBRWxTSjs7QUZtVEU7OztFQVJNLDZDQUFBO0FFdFNSOztBRndaRTtFQWpzR0EsdUlBQUE7QUU2eUZGOztBRndaRTtFQUNFLG9DQUFBO0FFclpKOztBRnVaSTtFQUNFLG1DQUFBO0FFclpOOztBRndaSTtFQUNFLGlDQUFBO0FFdFpOOztBRjBaRTtFQUNFLDBCQUFBO0FFdlpKOztBRnlmRTtFQXB6R0EsNklBQUE7RUFzekdFLGlCQUFBO0VBQ0EsWUFBQTtBRXRmSjs7QUYwSEU7RUFDRSx5Q0FBQTtBRXZISjs7QUYwSEU7RUFDRSwyQ0FBQTtBRXZISjs7QUZva0JFO0VBRUUsaUJBQUE7RUFDQSxZQUFBO0FFbGtCSjs7QUZuMEZFO0VBWEEsd0lBQUE7QUVpMUZGOztBRmtrQkU7RUFDRSx5Q0FBQTtBRS9qQko7O0FGMmlCTTtFQXdCRiwrQkFBQTtBRS9qQko7O0FGb2tCRTtFQUNFO0lBRUUsaUJBQUE7RUVsa0JKO0FBQ0Y7O0FGcWtCRTtFQUNFLFlBQUE7QUVua0JKOztBRnNrQkU7O0VBRUUsMEJBQUE7QUVua0JKOztBRnNrQkU7RUFDRSwwQkFBQTtBRW5rQko7O0FGcWtCSTs7RUFFRSxjQUFBO0FFbmtCTjs7QUZ3b0dFO0VBQ0UseUJBWFk7QUUxbkdoQjs7QUZ3b0dFO0VBQ0UseUJBZlk7QUV0bkdoQjs7QUZ3b0dFO0VBQ0Usb0NBbEJvQjtBRW5uR3hCOztBRnVvR0k7RUFDRSxtQ0FoQnFCO0FFcm5HM0I7O0FGd29HSTtFQUNFLGlDQW5CbUI7QUVubkd6Qjs7QUYwb0dFO0VBQ0UsbUNBN0JxQjtBRTFtR3pCOztBRjBvR0U7RUFDRSx5Q0E5QnFCO0FFem1HekI7O0FGMm9HSTtFQUNFLCtDQWhDc0I7QUV4bUc1Qjs7QUYwb0dNO0VBQ0UsOENBckNtQjtBRW5tRzNCOztBRjJvR007RUFDRSw0Q0F4Q2lCO0FFam1HekI7O0FGK29HSTtFQUNFLG9DQTlDc0I7QUU5bEc1Qjs7QUYrb0dJO0VBQ0UsbUNBcERxQjtBRXpsRzNCOztBRmdwR0k7RUFDRSxpQ0F2RG1CO0FFdmxHekI7O0FGc3BHSTtFQUNFLGlDQWhFbUI7QUVubEd6Qjs7QUZxcEdNOztFQUVFLGlDQXBFaUI7QUUva0d6Qjs7QUZ1cEdJOztFQUVFLDRDQTFFbUI7QUUza0d6Qjs7QUZ5cEdFO0VBQ0UsaUNBL0VxQjtBRXZrR3pCOztBRm9yRkk7RUFDRSwwQkFMVTtBRTVxRmhCOztBRm9yRkk7RUFDRSwwQkFUVTtBRXpxRmhCOztBRnFyRkk7RUFDRSx5Q0FaYztBRXZxRnBCOztBRnNyRkk7RUFqL0RGLG9IQUFBO0VBQ0EseUJBQUE7RUFDQSwyQkFBQTtBRWxzQkY7O0FGb2dHSTtFQUNFLHlDQUpjO0FFNy9GcEI7O0FGb2dHSTtFQXgwRUYsb0hBQUE7RUFDQSx5QkFBQTtFQUNBLDJCQUFBO0FFenJCRjs7QUZraUZJO0VBQ0UscUNBUGM7QUV4aEZwQjs7QUZraUZJO0VBQ0UscUNBVnVCO0FFdGhGN0I7O0FGbWlGSTtFQUNFLHlDQWJjO0FFcGhGcEI7O0FGcWlGTTtFQUNFLDBCQWpCaUI7QUVsaEZ6Qjs7QUZzaUZNO0VBQ0UsNkJBQUE7QUVwaUZSOztBRnkxRkk7RUFDRSw4QkFUWTtBRTcwRmxCOztBRnkxRkk7RUFDRSw4QkFaa0I7QUUzMEZ4Qjs7QUYyMUZNO0VBQ0Usb0NBaEJrQjtBRXowRjFCOztBRjQxRk07RUFDRSxtQ0FuQmlCO0FFdjBGekI7O0FGNjFGTTtFQUNFLGlDQXRCZTtBRXIwRnZCOztBRmkyRk07RUFDRSxpQ0E3QmU7QUVsMEZ2Qjs7QUZvMkZNO0VBQ0UsMEJBeENpQjtBRTF6RnpCOztBRnEyRk07RUFDRSw4QkF0Q21CO0FFN3pGM0I7O0FGZ21CSTtFQUNFLG9DQUFBO0FFN2xCTjs7QUZnbUJJO0VBQ0UsbUNBQUE7QUU5bEJOOztBRmltQkk7RUFDRSxpQ0FBQTtBRS9sQk47O0FGMnNCRTtFQUNFLDBCQUFBO0FFeHNCSjs7QUYyc0JFOztFQUVFLDBCQUFBO0FFeHNCSjs7QUYyc0JFO0VBQ0UsMENBQUE7QUV4c0JKOztBRitvQkU7RUE0REksMEJBQUE7QUV4c0JOOztBRjRvQkU7RUE0REksMEJBQUE7QUV4c0JOOztBRmdwQkU7RUF3REksMEJBQUE7QUVyc0JOOztBRmlwQkU7RUFvREksMEJBQUE7QUVsc0JOOztBRmtwQkU7RUFnREksMEJBQUE7QUUvckJOOztBRmt0QkU7RUFDRSx5Q0FBQTtBRS9zQko7O0FGa3RCRTs7RUFFRSx1Q0FBQTtBRS9zQko7O0FGa3RCRTtFQUNFLGlDQUFBO0FFL3NCSjs7QUZvd0JJO0VBQ0UsWUFBQTtBRWp3Qk47O0FGb3dCSTtFQUNFLFlBQUE7QUVsd0JOOztBRnF3Qkk7RUFDRSwwQkFBQTtBRW53Qk47O0FGdXdCRTtFQUNFLHlCQUFBO0FFcHdCSjs7QUYwd0JJOzs7OztFQUNFLCtCQUFBO0FFbndCTjs7QUZ3d0JJO0VBQ0UsK0JBQUE7QUVyd0JOOztBRjYxQkU7RUFFRSxpQkFBQTtBRTMxQko7O0FGampHRTtFQVhBLHlJQUFBO0FFK2pHRjs7QUYyMUJFO0VBQ0UsdUJBQUE7RUFDQSxZQUFBO0FFeDFCSjs7QUYyMUJNOztFQUdFLDBCQUFBO0FFMTFCUjs7QUYrMUJFOztFQUVFLDBCQUFBO0FFNTFCSjs7QUZtMkJJOzs7O0VBQ0UsK0JBQUE7QUU3MUJOOztBRjI1QkU7RUFDRSxpQkFBQTtBRXg1Qko7O0FGMjVCRTs7RUFFRSwwQkFBQTtBRXg1Qko7O0FGMjVCRTs7RUFFRSx5Q0FBQTtFQUNBLDJDQUFBO0FFeDVCSjs7QUYyNUJFOztFQUVFLHlDQUFBO0FFeDVCSjs7QUY0NUJJOzs7O0VBSUUsaUNBQUE7QUV6NUJOOztBRmc5QkU7RUFDRSxxQ0FBQTtBRTc4Qko7O0FGZzlCRTtFQUNFLGlEQUFBO0FFNzhCSjs7QUZnOUJFO0VBQ0UsK0NBQUE7QUU3OEJKOztBRmk5Qkk7RUFDRSxvQ0FBQTtBRTk4Qk47O0FGaTlCSTtFQUNFLGdEQUFBO0FFLzhCTjs7QUZrOUJJO0VBQ0UsOENBQUE7QUVoOUJOOztBRnE5Qkk7RUFDRSxrQ0FBQTtBRWw5Qk47O0FGcTlCSTtFQUNFLDhDQUFBO0FFbjlCTjs7QUZzOUJJO0VBQ0UsNENBQUE7QUVwOUJOOztBRjIvQkk7RUFDRSxxQ0FBQTtBRXgvQk47O0FGMi9CSTtFQUNFLG9DQUFBO0FFei9CTjs7QUY0L0JJO0VBQ0Usa0NBQUE7QUUxL0JOOztBRitpQ0U7RUFDRSxpQ0FBQTtBRTVpQ0o7O0FGdWhDRTtFQUNFLDJDQUFBO0FFcGhDSjs7QUZ1aENFOztFQUlFLCtDQUFBO0FFdmhDSjs7QUYrZ0NFO0VBQ0UsMENBQUE7QUU3Z0NKOztBRmdoQ0U7O0VBSUUsOENBQUE7QUVoaENKOztBRndnQ0U7RUFDRSx3Q0FBQTtBRXRnQ0o7O0FGeWdDRTs7RUFJRSw0Q0FBQTtBRXpnQ0o7O0FGMGlDTTs7RUFFRSxpQ0FBQTtBRXhpQ1I7O0FGMmlDTTs7RUFFRSxxQ0FBQTtBRXppQ1I7O0FGNGlDTTtFQUNFLDBCQUFBO0FFMWlDUjs7QUZnakNJO0VBQ0UsdUJBQUE7QUU5aUNOOztBRjhsQ0U7RUFDRSxZQUFBO0FFM2xDSjs7QUY4bENFO0VBQ0UsMEJBQUE7QUUzbENKOztBRjhsQ0U7RUFDRSwwQkFBQTtBRTNsQ0o7O0FGOGxDRTtFQUNFLDBCQUFBO0FFM2xDSjs7QUY4bENFO0VBQ0UsaUJBQUE7QUUzbENKOztBRjFzR0U7RUFYQSx5SUFBQTtBRXd0R0Y7O0FGMmxDSTtFQUNFLCtCQUFBO0FFemxDTjs7QUYrbENNO0VBQ0Usb0NBQUE7QUU1bENSOztBRitsQ007RUFDRSxtQ0FBQTtBRTdsQ1I7O0FGZ21DTTtFQUNFLGlDQUFBO0FFOWxDUjs7QUZrbUNJO0VBQ0UsaUNBQUE7QUVobUNOOztBRm1tQ0k7RUFDRSwwQkFBQTtBRWptQ047O0FGMHBDRTtFQUNFLHlCQUxtQztFQU1uQyxZQUFBO0FFdnBDSjs7QUYwcENFO0VBQ0UsdUJBWHdCO0VBWXhCLFlBQUE7QUV2cENKOztBRnlwQ0k7RUFDRSx1QkFiMkI7QUUxb0NqQzs7QUYwcENJO0VBbDVJRiw0SUFBQTtBRTJ2R0Y7O0FGOHBDRTtFQUNFLCtDQXZCbUI7QUVwb0N2Qjs7QUY2cENJO0VBQ0UsOENBMUJpQjtFQTJCakIsa0JBQUE7QUUzcENOOztBRitwQ0U7RUFDRSw4Q0FoQ21CO0VBaUNuQixrQkFBQTtBRTVwQ0o7O0FGOHBDSTtFQUNFLGlCQUFBO0VBQ0EsK0NBckNpQjtBRXZuQ3ZCOztBRmdxQ0U7RUFRSSxvQ0FBQTtBRXBxQ047O0FGNnNDSTtFQUNFLDhDQUFBO0FFMXNDTjs7QUY2c0NJO0VBR0UsZ0RBQUE7QUU3c0NOOztBRmd0Q0k7RUFHRSw4Q0FBQTtBRWh0Q047O0FGbXNDSTtFQUNFLCtDQUFBO0FFanNDTjs7QUZvc0NJO0VBR0UsaURBQUE7QUVwc0NOOztBRnVzQ0k7RUFHRSwrQ0FBQTtBRXZzQ047O0FGMHJDSTtFQUNFLDRDQUFBO0FFeHJDTjs7QUYyckNJO0VBR0UsOENBQUE7QUUzckNOOztBRjhyQ0k7RUFHRSw0Q0FBQTtBRTlyQ047O0FGbXVDSTtFQUdFLHVCQWhCcUI7QUVudEMzQjs7QUZ1dUNFO0VBdGhKQSx3SUFBQTtFQXdoSkUseUJBQUE7QUVwdUNKOztBRnV1Q0U7RUFDRSxxQ0EzQm9CO0FFenNDeEI7O0FGa3pDRTtFQUNFLHFDQVZxQjtBRXJ5Q3pCOztBRnN3Q0U7OztFQUdFLCtDQUFBO0FFbndDSjs7QUZzd0NFO0VBQ0UsNkNBQUE7QUVwd0NKOztBRnV3Q0U7RUFHRSxnREFEUTtFQU1OLFlBUFE7QUVwd0NkOztBRnl2Q0U7OztFQUdFLDhDQUFBO0FFdHZDSjs7QUZ5dkNFO0VBQ0UsNENBQUE7QUV2dkNKOztBRjB2Q0U7RUFHRSwrQ0FEUTtFQU1OLFlBUFE7QUV2dkNkOztBRjR1Q0U7OztFQUdFLDRDQUFBO0FFenVDSjs7QUY0dUNFO0VBQ0UsMENBQUE7QUUxdUNKOztBRjZ1Q0U7RUFHRSw2Q0FEUTtFQU1OLFlBUFE7QUUxdUNkOztBRnl4Q0k7O0VBQ0UscUNBM0IyQjtBRTF2Q2pDOztBRjB4Q0k7OztFQUdFLHFDQWxDd0I7QUVydkM5Qjs7QUYyeENNO0VBQ0UscUNBdkNzQjtBRWx2QzlCOztBRit4Q0k7RUFHRSxxQ0FEUTtBRTd4Q2Q7O0FGd3lDTTs7RUFFRSxxQ0EzRHFDO0FFM3VDN0M7O0FGMHlDUTs7RUFFRSxxQ0FoRXlDO0FFeHVDbkQ7O0FGOHlDTTtFQUNFLGlDQTNFaUI7RUE0RWpCLDZCQUFBO0FFNXlDUjs7QUZpekNRO0VBQ0UsaUNBakZ1QjtBRTl0Q2pDOztBRmt6Q1E7RUFDRSxpQ0FwRm9CO0FFNXRDOUI7O0FGc3pDRTtFQUNFLGdDQXZGc0I7QUU1dEMxQjs7QUY0ekNFO0VBQ0UsNkhBQUE7RUFJQSxtSUFBQTtBRTV6Q0o7O0FGczBDRTtFQUNFLDhIQUFBO0FFbjBDSjs7QUYwNUNJO0VBR0UscUNBQUE7QUV6NUNOOztBRis1Q0k7RUFDRTtJQUNFLGdCQUFBO0VFNzVDTjtBQUNGOztBRmc2Q0k7O0VBSUUsMEJBQUE7QUVoNkNOOztBRm02Q0k7RUFHRSxxQ0FBQTtFQUNBLDZDQUFBO0FFbjZDTjs7QUZzNkNJOzs7RUFHRSwrQ0FBQTtFQUNBLDZDQUFBO0FFcDZDTjs7QUZ3NkNNO0VBQ0UsNENBQUE7QUV0NkNSOztBRnk2Q007OztFQUdFLDhDQUFBO0VBQ0EsNENBQUE7QUV2NkNSOztBRjQ2Q007RUFDRSwwQ0FBQTtBRTE2Q1I7O0FGNjZDTTs7O0VBR0UsNENBQUE7RUFDQSwwQ0FBQTtBRTM2Q1I7O0FGKzZDSTtFQUNFLDZCQUFBO0VBQ0EsaUNBQUE7QUU3NkNOOztBRmc3Q0k7RUFDRSxZQUFBO0FFOTZDTjs7QUZpN0NJO0VBQ0UsaUNBQUE7QUUvNkNOOztBRm03Q0U7RUFDRSx1QkFBQTtBRWg3Q0o7O0FGbTdDRTtFQUNFLDBDQUFBO0FFaDdDSjs7QUZtN0NFOzs7RUFHRSx5Q0FBQTtBRWg3Q0o7O0FGK2dERTtFQVlJLGNBQUE7QUV2aEROOztBRm1rREU7O0VBRUUsZ0RBSmM7QUU1akRsQjs7QUZva0RJOztFQUVFLDZDQVZZO0VBV1osbUJBQUE7QUVqa0ROOztBRnFrREU7RUFDRSxZQUFBO0FFbGtESjs7QUZva0RJO0VBQ0UsMEJBQUE7QUVsa0ROOztBRnNrREU7RUFDRSxtQkFBQTtBRW5rREo7O0FGc2tERTtFQUNFLGlDQUFBO0FFbmtESjs7QUZ1a0RFOztFQUVFLG1CQUFBO0VBQ0EsZ0JBQUE7QUVwa0RKOztBRmtuRE07Ozs7O0VBQ0UsZ0RBQUE7QUUzbURSOztBRmdtREU7RUFDRSwrQ0FBQTtBRTlsREo7O0FGNmxERTtFQUNFLHdEQUFBO0FFM2xESjs7QUZvbURNOzs7OztFQUNFLCtDQUFBO0FFOWxEUjs7QUZtbERFO0VBQ0UsOENBQUE7QUVqbERKOztBRmdsREU7RUFDRSx1REFBQTtBRTlrREo7O0FGdWxETTs7Ozs7RUFDRSw2Q0FBQTtBRWpsRFI7O0FGc2tERTtFQUNFLDRDQUFBO0FFcGtESjs7QUZta0RFO0VBQ0UscURBQUE7QUVqa0RKOztBRjBrRE07Ozs7O0VBQ0UsZ0RBQUE7QUVwa0RSOztBRitrREU7RUFDRSwrQ0FBQTtBRTdrREo7O0FGaWxERTtFQUNFLDZDQUFBO0FFL2tESjs7QUZpbERJO0VBQ0UsOENBQUE7QUUva0ROOztBRm9sREU7Ozs7O0VBR0Usb0RBQUE7QUVobERKOztBRm1sREU7RUFDRSxxREFBQTtBRWpsREo7O0FGc2xERTs7O0VBRUUsMERBQUE7QUVubERKOztBRjJpRE07Ozs7O0VBQ0UsK0NBQUE7QUVyaURSOztBRmdqREU7RUFDRSw4Q0FBQTtBRTlpREo7O0FGa2pERTtFQUNFLDRDQUFBO0FFaGpESjs7QUZrakRJO0VBQ0UsNkNBQUE7QUVoakROOztBRnFqREU7Ozs7O0VBR0UsbURBQUE7QUVqakRKOztBRm9qREU7RUFDRSxvREFBQTtBRWxqREo7O0FGdWpERTs7O0VBRUUseURBQUE7QUVwakRKOztBRjRnRE07Ozs7O0VBQ0UsNkNBQUE7QUV0Z0RSOztBRmloREU7RUFDRSw0Q0FBQTtBRS9nREo7O0FGbWhERTtFQUNFLDBDQUFBO0FFamhESjs7QUZtaERJO0VBQ0UsMkNBQUE7QUVqaEROOztBRnNoREU7Ozs7O0VBR0UsaURBQUE7QUVsaERKOztBRnFoREU7RUFDRSxrREFBQTtBRW5oREo7O0FGd2hERTs7O0VBRUUsdURBQUE7QUVyaERKOztBRjBvREU7RUFDRSxtQkFBQTtFQUNBLFlBQUE7QUV2b0RKOztBRnlvREk7RUFwQ0YseUNBQUE7RUFDQSw2Q0FBQTtBRWxtREY7O0FGeW9ESTtFQXhDRix3Q0FBQTtFQUNBLDRDQUFBO0FFOWxERjs7QUZ5b0RJO0VBNUNGLHNDQUFBO0VBQ0EsMENBQUE7QUUxbERGOztBRjhsREU7OztFQUdFLDhCQUFBO0FFNWxESjs7QUYrbERFOzs7OztFQUtFLGNBQUE7QUU3bERKOztBRmdtREU7RUFDRSx5QkFBQTtBRTlsREo7O0FGb3NERTtFQUNFLGlDQUFBO0FFanNESjs7QUZ5bEZFO0VBQ0UsaUJBQUE7QUV0bEZKOztBRnlsRkU7O0VBRUUsWUFBQTtBRXRsRko7O0FGNHVERTtFQUdFLCtCQUFBO0VBQ0EsbUJBQUE7RUEzNUtGLDBJQUFBO0FFaXJIRjs7QUYrdURFO0VBQ0UsbUNBQUE7QUU1dURKOztBSW5ySUE7RUFDRSx3QkFBQTtFQUNBLHFCQUFBO0FKc3JJRjs7QUlwcklFO0VBSkY7SUFLSSxrREFBQTtFSnVySUY7O0VJcnJJRTtJQUNFLDREQUFBO0VKdXJJSjtBQUNGOztBSXBySUU7RUFDRTswRkFBQTtFQUVBLE9BQUE7QUpzcklKOztBSWxySUk7RUFDRSxpRUFBQTtBSm9ySU47O0FJL3FJQTtFQUdNO0lBQ0Usc0RBQUE7SUFDQSwwQkFBQTtFSmdySU47O0VJN3FJSTtJQUNFLDRDQUFBO0lBQ0EsMEJBQUE7RUorcUlOOztFSXhxSUk7SUFDRSx1REFBQTtJQUNBLHlCQUFBO0VKMnFJTjs7RUl4cUlJO0lBQ0UsNkNBQUE7SUFDQSx5QkFBQTtFSjBxSU47QUFDRjs7QUs1dElBO0VBQ0UscUJBQUE7QUw4dElGOztBSzF0SUk7RUFDRSxhQUFBO0FMNHRJTjs7QUt6dElJO0VBQ0UsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsMkNBQUE7RUFDQSw4QkFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtBTDJ0SU47O0FLdnRJRTtFQUNFLGlCQUFBO0VBQ0Esa0JBQUE7QUx5dElKOztBS3J0SUk7RUFDRSxpRUFBQTtBTHV0SU47O0FNbHZJQTtFQUNFO0lBQ0UsdUJBQUE7SUFDQSw0QkFBQTtFTnF2SUY7O0VNbHZJQTtJQUNFLHdCQUFBO0VOcXZJRjs7RU1sdklBO0lBQ0Usd0JBQUE7RU5xdklGOztFTWx2SUE7SUFDRSw0QkFBQTtFTnF2SUY7O0VNbHZJQTtJQUNFLDZCQUFBO0VOcXZJRjs7RU1sdklBO0lBQ0UseUJBQUE7SUNyQkosd0NBQW1CO0VQMndJakI7O0VNbHZJQTtJQUNFLHdCQUFBO0VOcXZJRjs7RU1sdklBO0lBQ0Usd0JBQUE7RU5xdklGO0FBQ0Y7O0FRcHhJQTs7Ozs7Ozs7OztDQUFBOztBQVlBO0VWMmhFSSxpQ0FBQTtFQVlGLHVCQUFBO0FFZ3ZFRjs7QVFueElBO0VWdWhFSSwrQkFBQTtFQVlGLHVCQUFBO0FFcXZFRjs7QVFweElBO0VWbWhFSSwrQkFBQTtFQVlGLHdCQUFBO0FFMHZFRjs7QVFyeElBO0VWK2dFSSwrQkFBQTtFQVlGLHNCQUFBO0FFK3ZFRjs7QVF0eElBO0VWMmdFSSwrQkFBQTtFQVlGLHdCQUFBO0FFb3dFRjs7QVF2eElBO0VWdWdFSSwrQkFBQTtFQVlGLHdCQUFBO0FFeXdFRjs7QVF4eElBO0VWbWdFSSwrQkFBQTtFQVlGLHdCQUFBO0FFOHdFRjs7QVF6eElBO0VWKy9ESSwrQkFBQTtFQVlGLHdCQUFBO0FFbXhFRjs7QVExeElBO0VWMi9ESSwrQkFBQTtFQVlGLHdCQUFBO0FFd3hFRjs7QVEzeElBO0VWdS9ESSwrQkFBQTtFQVlGLHdCQUFBO0FFNnhFRjs7QVE1eElBO0VWbS9ESSwrQkFBQTtFQVlGLGlCQUFBO0FFa3lFRjs7QVE3eElBO0VBQ0UsaUJBQUE7QVJneUlGOztBUTd4SUE7RUFDRSx3QkFBQTtBUmd5SUY7O0FRN3hJQTtFQUNFLHdCQUFBO0FSZ3lJRjs7QVE3eElBO0VBQ0Usd0JBQUE7QVJneUlGOztBUTd4SUE7RUFDRSx3QkFBQTtBUmd5SUY7O0FRN3hJQTtFQUNFLHdCQUFBO0FSZ3lJRjs7QVMvMklBOztFQUVFLG1DQUFBO0VBQ0EsYUFBQTtFQUNBLFlBQUE7QVRrM0lGOztBUy8ySUE7RUFDRSxxQkFBQTtBVGszSUY7O0FTLzJJQTs7RUFFRSxjQUFBO0VBQ0Esc0JBQUE7QVRrM0lGOztBUy8ySUE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtBVGszSUY7O0FVbjRJRTtFQUNFLGtDQUFBO0VBQ0Esb0NBQUE7RUFDQSxtQ0FBQTtBVnM0SUo7O0FVbjRJRTtFQUNFLHFDQUFBO0FWcTRJSjs7QVVsNElFO0VBQ0UsNkJBQUE7RUFDQSwyQ0FBQTtFQUNBLGdEQUFBO0FWbzRJSjs7QVVqNElFO0VBQ0UsMkNBQUE7RUFDQSxnREFBQTtBVm00SUo7O0FXdjVJQTs7O0VBR0UsaUNBQUE7QVgwNUlGOztBV3Q1SUU7RUFDRSxrQkFBQTtBWHk1SUo7O0FXcDVJRTs7Ozs7O0VBTUUsOENBQUE7QVh1NUlKOztBV241SUE7RUFDRSxrQkFBQTtBWHM1SUY7O0FXbDVJRTs7RUFFRSxpQ0FBQTtBWHE1SUo7O0FXbDVJRTtFSi9CRixnQ0FBbUI7QVBvN0luQjs7QVc5NElFO0VKdENGLG9CQUFtQjtFQUFuQixnREFBbUI7QVB3N0luQjs7QVc1NElBOztFQUVFLHVCQUFBO0VBQ0EsK0JBQUE7RUFDQSxnQ0FBQTtFQUNBLG1CQUFBO0FYKzRJRjs7QVc1NElBO0VBQ0UsY0FBQTtBWCs0SUY7O0FXNTRJQTtFQUNFLHFDQUFBO1VBQUEsb0NBQUE7RUFDQSxzQkFBQTtBWCs0SUY7O0FXNzRJRTtFQUNFLHNCQUFBO0FYKzRJSjs7QVczNElBO0VKakVBLGVBQW1CO0VDaUVqQix3QkFBQTtBUis0SUY7O0FXMzRJQTtFQUNFLFNBQUE7QVg4NElGOztBVzM0SUE7RUp6RUEsZ0JBQW1CO0FQdzlJbkI7O0FXMTRJRTtFQUNFLFdBQUE7QVg2NElKOztBV3o0SUE7RUFDRSx5QkFBQTtBWDQ0SUY7O0FXejRJSTtFQUNFLGdCQUFBO0FYMjRJTjs7QVdyNElFO0VBQ0UsVUFBQTtBWHc0SUo7O0FXcjRJRTtFQUNFLFVBQUE7QVh1NElKOztBV2w0SUU7RUFDRSxZQUFBO0FYcTRJSjs7QVdqNElBO0VBQ0UseUJBQUE7QVhvNElGOztBV2o0SUE7RUFDRSxlQUFBO0FYbzRJRjs7QVdqNElBOzs7Ozs7Ozs7O0NBQUE7O0FDdkhBO0VBQ0UsZ0JBQUE7RUFDQSxTQUFBO0Fac2dKRjs7QVluZ0pBO0VBQ0Usa0NBQUE7QVpzZ0pGOztBYTVnSkE7RUFFRSwyQ0FBQTtFQUNBLDRDQUFBO0VBQ0EsNENBQUE7RUFDQSxrQ0FBQTtFQUNBLHdEQUFBO0VBQ0EsdUNBQUE7RUFDQSw4Q0FBQTtFQUNBLDBEQUFBO0VBRUEsaUVBQUE7RUFDQSxzREFBQTtFQUVBLG9EQUFBO0VBRUEsZ0NBQUE7QWIyZ0pGOztBYXpnSkU7RUFDRSxZQUFBO0FiMmdKSjs7QWF4Z0pNO0VBQ0UsWUFBQTtFTnJCUixxQkFBbUI7RUFBbkIsaUJBQW1CO0VBQW5CLGtCQUFtQjtFQUFuQixtQkFBbUI7RUFBbkIsc0JBQW1CO0FQZ2lKbkI7O0FheGdKUTtFTnhCUixnQ0FBbUI7RUFBbkIsdUdBQW1CO0FQbWlKbkI7O0FhdGdKTTtFTjdCTixtQkFBbUI7RUFBbkIsc0JBQW1CO0FQc2lKbkI7O0FhcmdKTTtFTmpDTixnQkFBbUI7RUFBbkIsc0JBQW1CO0VBQW5CLHVHQUFtQjtBUHlpSm5COztBYXJnSlE7RU5wQ1Isd0JBQW1CO0FQNGlKbkI7O0FhbmdKTTtFTnpDTix3QkFBbUI7QVAraUpuQjs7QWFoZ0pFO0VOL0NGLGNBQW1CO0VBQW5CLGVBQW1CO0FQa2pKbkI7O0FhLy9JRTtFTm5ERixtQ0FBbUI7RUFBbkIsa0NBQW1CO0VBQW5CLGdCQUFtQjtBUHFqSm5COztBYS8vSUk7RU50REosbUJBQW1CO0VBQW5CLCtDQUFtQjtFQUFuQixzQkFBbUI7RUFBbkIsdUdBQW1CO0FQd2pKbkI7O0FhNy9JRTtFTjNERiwrQkFBbUI7RUFBbkIsZ0NBQW1CO0VBQW5CLGdCQUFtQjtBUDJqSm5COztBYTUvSUU7RUFDRSxrQ0FBQTtFQUNBLHdCQUFBO0FiOC9JSjs7QWEzL0lNO0VBQ0Usa0NBQUE7QWI2L0lSOztBYXgvSUU7RUFDRSwyREFBQTtFQUNBLCtEQUFBO0VBQ0Esc0RBQUE7RUFDQSxvRUFBQTtBYjAvSUo7O0FjMWtKQTtFQUNFLHVCQUFBO0VBQ0Esc0RBQUE7RUFDQSxnQ0FBQTtBZDZrSkY7O0FjM2tKRTtFQUNFLDRDQUFBO0FkNmtKSjs7QWMxa0pFO0VBQ0UsZ0NBQUE7RUFDQSw2QkFBQTtFQUNBLHlCQUFBO0VBQ0Esc0JBQUE7QWQ0a0pKOztBY3prSkU7RUFDRSw0Q0FBQTtBZDJrSko7O0FjdGtKRTtFQUNFO0lQckJKLGFBQW1CO0VQOGxKakI7QUFDRjs7QWNya0pFO0VQMUJGLG1CQUFtQjtFQUFuQiwrQ0FBbUI7RUFBbkIsc0JBQW1CO0VBQW5CLHVHQUFtQjtBUGttSm5COztBZXBtSkE7RUFDRSx3QkFBQTtBZnVtSkY7O0Flcm1KRTtFQUNFLDZCQUFBO0VBQ0EseUJBQUE7RUFDQSxzQkFBQTtBZnVtSko7O0FnQmprSkEsOEVBQUE7O0FBRUE7RUFDRSxzQkFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7QWhCbWtKRjs7QWdCaGtKQTtFQUNFLFlBQUE7RWxCbS9ERSwrQkFBQTtFQVlGLHdCQUFBO0VTbmpFRixnQkFBbUI7RUFBbkIsd0JBQW1CO0VBQW5CLG1DQUFtQjtFQUFuQixrQ0FBbUI7RVN1RGpCLDZCQUFBO0FoQm9rSkY7O0FnQmprSkE7RUFDRSxzQkFBQTtBaEJva0pGOztBQTVuSkE7Ozs7Ozs7Ozs7Q0FBQTs7QUFZQTs7RUFBQTs7QUFhQTtFQUNFLHlCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QUFvbkpGOztBQWxuSkE7RUFDQyx5QkFBQTtFQUNDLGFBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxlQUFBO0FBcW5KRjs7QUFubkpBO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0FBc25KRjs7QUFubkpBO0VBQ0UseUJBQUE7QUFzbkpGOztBQW5uSkE7RUFDRSx5QkFBQTtBQXNuSkYiLCJmaWxlIjoic3R5bGVzLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJbZGF0YS1zaW1wbGViYXJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5zaW1wbGViYXItd3JhcHBlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiBpbmhlcml0O1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIG1heC13aWR0aDogaW5oZXJpdDtcbiAgbWF4LWhlaWdodDogaW5oZXJpdDtcbn1cblxuLnNpbXBsZWJhci1tYXNrIHtcbiAgZGlyZWN0aW9uOiBpbmhlcml0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgei1pbmRleDogMDtcbn1cblxuLnNpbXBsZWJhci1vZmZzZXQge1xuICBkaXJlY3Rpb246IGluaGVyaXQgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogaW5oZXJpdCAhaW1wb3J0YW50O1xuICByZXNpemU6IG5vbmUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4uc2ltcGxlYmFyLWNvbnRlbnQtd3JhcHBlciB7XG4gIGRpcmVjdGlvbjogaW5oZXJpdDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7IC8qIFJlcXVpcmVkIGZvciBob3Jpem9udGFsIG5hdGl2ZSBzY3JvbGxiYXIgdG8gbm90IGFwcGVhciBpZiBwYXJlbnQgaXMgdGFsbGVyIHRoYW4gbmF0dXJhbCBoZWlnaHQgKi9cbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgLyogTm90IHJlcXVpcmVkIGZvciBob3Jpem9udGFsIHNjcm9sbCB0byB0cmlnZ2VyICovXG4gIG1heC1oZWlnaHQ6IDEwMCU7IC8qIE5lZWRlZCBmb3IgdmVydGljYWwgc2Nyb2xsIHRvIHRyaWdnZXIgKi9cbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG59XG5cbi5zaW1wbGViYXItY29udGVudC13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcixcbi5zaW1wbGViYXItaGlkZS1zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbn1cblxuLnNpbXBsZWJhci1jb250ZW50OmJlZm9yZSxcbi5zaW1wbGViYXItY29udGVudDphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5zaW1wbGViYXItcGxhY2Vob2xkZXIge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNpbXBsZWJhci1oZWlnaHQtYXV0by1vYnNlcnZlci13cmFwcGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDFweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgbWF4LWhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAtMTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgZmxleC1ncm93OiBpbmhlcml0O1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC1iYXNpczogMDtcbn1cblxuLnNpbXBsZWJhci1oZWlnaHQtYXV0by1vYnNlcnZlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAwJTtcbiAgd2lkdGg6IDEwMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIG1pbi13aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogLTE7XG59XG5cbi5zaW1wbGViYXItdHJhY2sge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5bZGF0YS1zaW1wbGViYXJdLnNpbXBsZWJhci1kcmFnZ2luZyAuc2ltcGxlYmFyLWNvbnRlbnQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbltkYXRhLXNpbXBsZWJhcl0uc2ltcGxlYmFyLWRyYWdnaW5nIC5zaW1wbGViYXItdHJhY2sge1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG4uc2ltcGxlYmFyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDEwcHg7XG59XG5cbi5zaW1wbGViYXItc2Nyb2xsYmFyOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGxlZnQ6IDJweDtcbiAgcmlnaHQ6IDJweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcbn1cblxuLnNpbXBsZWJhci1zY3JvbGxiYXIuc2ltcGxlYmFyLXZpc2libGU6YmVmb3JlIHtcbiAgLyogV2hlbiBob3ZlcmVkLCByZW1vdmUgYWxsIHRyYW5zaXRpb25zIGZyb20gZHJhZyBoYW5kbGUgKi9cbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIGxpbmVhcjtcbn1cblxuLnNpbXBsZWJhci10cmFjay5zaW1wbGViYXItdmVydGljYWwge1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMXB4O1xufVxuXG4uc2ltcGxlYmFyLXRyYWNrLnNpbXBsZWJhci12ZXJ0aWNhbCAuc2ltcGxlYmFyLXNjcm9sbGJhcjpiZWZvcmUge1xuICB0b3A6IDJweDtcbiAgYm90dG9tOiAycHg7XG59XG5cbi5zaW1wbGViYXItdHJhY2suc2ltcGxlYmFyLWhvcml6b250YWwge1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDExcHg7XG59XG5cbi5zaW1wbGViYXItdHJhY2suc2ltcGxlYmFyLWhvcml6b250YWwgLnNpbXBsZWJhci1zY3JvbGxiYXI6YmVmb3JlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAycHg7XG4gIHJpZ2h0OiAycHg7XG59XG5cbi5zaW1wbGViYXItdHJhY2suc2ltcGxlYmFyLWhvcml6b250YWwgLnNpbXBsZWJhci1zY3JvbGxiYXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgdG9wOiAycHg7XG4gIGhlaWdodDogN3B4O1xuICBtaW4taGVpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDEwcHg7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vKiBSdGwgc3VwcG9ydCAqL1xuW2RhdGEtc2ltcGxlYmFyLWRpcmVjdGlvbj0ncnRsJ10gLnNpbXBsZWJhci10cmFjay5zaW1wbGViYXItdmVydGljYWwge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cblxuLmhzLWR1bW15LXNjcm9sbGJhci1zaXplIHtcbiAgZGlyZWN0aW9uOiBydGw7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBoZWlnaHQ6IDUwMHB4O1xuICB3aWR0aDogNTAwcHg7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsO1xufVxuXG4uc2ltcGxlYmFyLWhpZGUtc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG59XG4iLCIvKlxuRGF0ZTogMjQgRmV2IDIwMTVcbkF1dGhvcjogUGVkcm8gT2xpdmVpcmEgPGthbnl0dUBnbWFpbCAuIGNvbT5cbiovXG5cbi5obGpzIHtcbiAgY29sb3I6ICNhOWI3YzY7XG4gIGJhY2tncm91bmQ6ICMyODJiMmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBwYWRkaW5nOiAwLjVlbTtcbn1cblxuLmhsanMtbnVtYmVyLFxuLmhsanMtbGl0ZXJhbCxcbi5obGpzLXN5bWJvbCxcbi5obGpzLWJ1bGxldCB7XG4gIGNvbG9yOiAjNjg5N0JCO1xufVxuXG4uaGxqcy1rZXl3b3JkLFxuLmhsanMtc2VsZWN0b3ItdGFnLFxuLmhsanMtZGVsZXRpb24ge1xuICBjb2xvcjogI2NjNzgzMjtcbn1cblxuLmhsanMtdmFyaWFibGUsXG4uaGxqcy10ZW1wbGF0ZS12YXJpYWJsZSxcbi5obGpzLWxpbmsge1xuICBjb2xvcjogIzYyOTc1NTtcbn1cblxuLmhsanMtY29tbWVudCxcbi5obGpzLXF1b3RlIHtcbiAgY29sb3I6ICM4MDgwODA7XG59XG5cbi5obGpzLW1ldGEge1xuICBjb2xvcjogI2JiYjUyOTtcbn1cblxuLmhsanMtc3RyaW5nLFxuLmhsanMtYXR0cmlidXRlLFxuLmhsanMtYWRkaXRpb24ge1xuICBjb2xvcjogIzZBODc1OTtcbn1cblxuLmhsanMtc2VjdGlvbixcbi5obGpzLXRpdGxlLFxuLmhsanMtdHlwZSB7XG4gIGNvbG9yOiAjZmZjNjZkO1xufVxuXG4uaGxqcy1uYW1lLFxuLmhsanMtc2VsZWN0b3ItaWQsXG4uaGxqcy1zZWxlY3Rvci1jbGFzcyB7XG4gIGNvbG9yOiAjZThiZjZhO1xufVxuXG4uaGxqcy1lbXBoYXNpcyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmhsanMtc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4iLCIvLyBGaWxlIGZvciB3aGljaCBhbGwgaW1wb3J0cyBhcmUgcmVzb2x2ZWQgYW5kIGJ1bmRsZWQuIFRoaXMgaXMgdGhlIGVudHJ5LXBvaW50IGZvclxuLy8gdGhlIGBAYW5ndWxhci9tYXRlcmlhbGAgdGhlbWluZyBTYXNzIGJ1bmRsZS4gU2VlIGAvL3NyYy9tYXRlcmlhbDp0aGVtaW5nX2J1bmRsZWAuXG5cbi8vIEltcG9ydCBhbGwgdGhlIHRoZW1pbmcgZnVuY3Rpb25hbGl0eS5cbi8vIFdlIHdhbnQgb3ZlcmxheXMgdG8gYWx3YXlzIGFwcGVhciBvdmVyIHVzZXIgY29udGVudCwgc28gc2V0IGEgYmFzZWxpbmVcbi8vIHZlcnkgaGlnaCB6LWluZGV4IGZvciB0aGUgb3ZlcmxheSBjb250YWluZXIsIHdoaWNoIGlzIHdoZXJlIHdlIGNyZWF0ZSB0aGUgbmV3XG4vLyBzdGFja2luZyBjb250ZXh0IGZvciBhbGwgb3ZlcmxheXMuXG4kY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI6IDEwMDAgIWRlZmF1bHQ7XG4kY2RrLXotaW5kZXgtb3ZlcmxheTogMTAwMCAhZGVmYXVsdDtcbiRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wOiAxMDAwICFkZWZhdWx0O1xuXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbGwgb2YgdGhlIGJhY2tkcm9wc1xuJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMyKSAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBiYWNrZHJvcCBhbmltYXRpb24gaXMgYmFzZWQgb24gdGhlIE1hdGVyaWFsIERlc2lnbiBzd2lmdC1lYXNlLW91dC5cbiRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb246IDQwMG1zICFkZWZhdWx0O1xuJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpICFkZWZhdWx0O1xuXG5cbkBtaXhpbiBjZGstb3ZlcmxheSgpIHtcbiAgLmNkay1vdmVybGF5LWNvbnRhaW5lciwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgICAvLyBEaXNhYmxlIGV2ZW50cyBmcm9tIGJlaW5nIGNhcHR1cmVkIG9uIHRoZSBvdmVybGF5IGNvbnRhaW5lci5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC8vIFRoZSBjb250YWluZXIgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZSB2aWV3cG9ydC5cbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBUaGUgb3ZlcmxheS1jb250YWluZXIgaXMgYW4gaW52aXNpYmxlIGVsZW1lbnQgd2hpY2ggY29udGFpbnMgYWxsIGluZGl2aWR1YWwgb3ZlcmxheXMuXG4gIC5jZGstb3ZlcmxheS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI7XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgIC8vIEhpZGUgdGhlIGVsZW1lbnQgd2hlbiBpdCBkb2Vzbid0IGhhdmUgYW55IGNoaWxkIG5vZGVzLiBUaGlzIGRvZXNuJ3RcbiAgICAgIC8vIGluY2x1ZGUgb3ZlcmxheXMgdGhhdCBoYXZlIGJlZW4gZGV0YWNoZWQsIHJhdGhlciB0aGFuIGRpc3Bvc2VkLlxuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSB1c2UgYW4gZXh0cmEgd3JhcHBlciBlbGVtZW50IGluIG9yZGVyIHRvIHVzZSBtYWtlIHRoZSBvdmVybGF5IGl0c2VsZiBhIGZsZXggaXRlbS5cbiAgLy8gVGhpcyBtYWtlcyBjZW50ZXJpbmcgdGhlIG92ZXJsYXkgZWFzeSB3aXRob3V0IHJ1bm5pbmcgaW50byB0aGUgc3VicGl4ZWwgcmVuZGVyaW5nXG4gIC8vIHByb2JsZW1zIHRpZWQgdG8gdXNpbmcgYHRyYW5zZm9ybWAgYW5kIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCB0aGUgb3RoZXIgcG9zaXRpb25cbiAgLy8gc3RyYXRlZ2llcy5cbiAgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIEEgc2luZ2xlIG92ZXJsYXkgcGFuZS5cbiAgLmNkay1vdmVybGF5LXBhbmUge1xuICAgIC8vIE5vdGU6IGl0J3MgaW1wb3J0YW50IGZvciB0aGlzIG9uZSB0byBzdGFydCBvZmYgYGFic29sdXRlYCxcbiAgICAvLyBpbiBvcmRlciBmb3IgdXMgdG8gYmUgYWJsZSB0byBtZWFzdXJlIGl0IGNvcnJlY3RseS5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcblxuICAgIC8vIEZvciBjb25uZWN0ZWQtcG9zaXRpb24gb3ZlcmxheXMsIHdlIHNldCBgZGlzcGxheTogZmxleGAgaW5cbiAgICAvLyBvcmRlciB0byBmb3JjZSBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIHRvIHRha2UgZWZmZWN0LlxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuY2RrLW92ZXJsYXktYmFja2Ryb3Age1xuICAgIC8vIFRPRE8oamVsYm91cm4pOiByZXVzZSBzaWRlbmF2IGZ1bGxzY3JlZW4gbWl4aW4uXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcblxuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uICRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgLy8gTm90ZSB0aGF0IHdlIGNhbid0IGltcG9ydCBhbmQgdXNlIHRoZSBgaGlnaC1jb250cmFzdGAgbWl4aW4gZnJvbSBgX2ExMXkuc2Nzc2AsIGJlY2F1c2VcbiAgICAgIC8vIHRoaXMgZmlsZSB3aWxsIGJlIGNvcGllZCB0byB0aGUgdG9wLWxldmVsIGBjZGtgIHBhY2thZ2Ugd2hlbiBwdXR0aW5nIHRvZ2V0aGVyIHRoZSBmaWxlc1xuICAgICAgLy8gZm9yIG5wbS4gQW55IHJlbGF0aXZlIGltcG9ydCBwYXRocyB3ZSB1c2UgaGVyZSB3aWxsIGJlY29tZSBpbnZhbGlkIG9uY2UgdGhlIGZpbGUgaXMgY29waWVkLlxuICAgICAgLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAmIHtcbiAgICAgICAgLy8gSW4gaGlnaCBjb250cmFzdCBtb2RlIHRoZSByZ2JhIGJhY2tncm91bmQgd2lsbCBiZWNvbWUgc29saWRcbiAgICAgICAgLy8gc28gd2UgbmVlZCB0byBmYWxsIGJhY2sgdG8gbWFraW5nIGl0IG9wYXF1ZSB1c2luZyBgb3BhY2l0eWAuXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XG4gICAgYmFja2dyb3VuZDogJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCB7XG4gICAgLy8gTm90ZTogYXMgb2YgRmlyZWZveCA1NywgaGF2aW5nIHRoZSBiYWNrZHJvcCBiZSBgYmFja2dyb3VuZDogbm9uZWAgd2lsbCBwcmV2ZW50IGl0IGZyb21cbiAgICAvLyBjYXB0dXJpbmcgdGhlIHVzZXIncyBtb3VzZSBzY3JvbGwgZXZlbnRzLiBTaW5jZSB3ZSBhbHNvIGNhbid0IHVzZSBzb21ldGhpbmcgbGlrZVxuICAgIC8vIGByZ2JhKDAsIDAsIDAsIDApYCwgd2Ugd29yayBhcm91bmQgdGhlIGluY29uc2lzdGVuY3kgYnkgbm90IHNldHRpbmcgdGhlIGJhY2tncm91bmQgYXRcbiAgICAvLyBhbGwgYW5kIHVzaW5nIGBvcGFjaXR5YCB0byBtYWtlIHRoZSBlbGVtZW50IHRyYW5zcGFyZW50LlxuICAgICYsICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXkgcGFyZW50IGVsZW1lbnQgdXNlZCB3aXRoIHRoZSBjb25uZWN0ZWQgcG9zaXRpb24gc3RyYXRlZ3kuIFVzZWQgdG8gY29uc3RyYWluIHRoZVxuICAvLyBvdmVybGF5IGVsZW1lbnQncyBzaXplIHRvIGZpdCB3aXRoaW4gdGhlIHZpZXdwb3J0LlxuICAuY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xuXG4gICAgLy8gV2UgdXNlIGBkaXNwbGF5OiBmbGV4YCBvbiB0aGlzIGVsZW1lbnQgZXhjbHVzaXZlbHkgZm9yIGNlbnRlcmluZyBjb25uZWN0ZWQgb3ZlcmxheXMuXG4gICAgLy8gV2hlbiAqbm90KiBjZW50ZXJpbmcsIGEgdG9wL2xlZnQvYm90dG9tL3JpZ2h0IHdpbGwgYmUgc2V0IHdoaWNoIG92ZXJyaWRlcyB0aGUgbm9ybWFsXG4gICAgLy8gZmxleCBsYXlvdXQuXG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC8vIFdlIHVzZSB0aGUgYGNvbHVtbmAgZGlyZWN0aW9uIGhlcmUgdG8gYXZvaWQgc29tZSBmbGV4Ym94IGlzc3VlcyBpbiBFZGdlXG4gICAgLy8gd2hlbiB1c2luZyB0aGUgXCJncm93IGFmdGVyIG9wZW5cIiBvcHRpb25zLlxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAvLyBBZGQgc29tZSBkaW1lbnNpb25zIHNvIHRoZSBlbGVtZW50IGhhcyBhbiBgaW5uZXJUZXh0YCB3aGljaCBzb21lIHBlb3BsZSBkZXBlbmQgb24gaW4gdGVzdHMuXG4gICAgbWluLXdpZHRoOiAxcHg7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG5cbiAgLy8gVXNlZCB3aGVuIGRpc2FibGluZyBnbG9iYWwgc2Nyb2xsaW5nLlxuICAuY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgLy8gTmVjZXNzYXJ5IGZvciB0aGUgY29udGVudCBub3QgdG8gbG9zZSBpdHMgd2lkdGguIE5vdGUgdGhhdCB3ZSdyZSB1c2luZyAxMDAlLCBpbnN0ZWFkIG9mXG4gICAgLy8gMTAwdncsIGJlY2F1c2UgMTAwdncgaW5jbHVkZXMgdGhlIHdpZHRoIHBsdXMgdGhlIHNjcm9sbGJhciwgd2hlcmVhcyAxMDAlIGlzIHRoZSB3aWR0aFxuICAgIC8vIHRoYXQgdGhlIGVsZW1lbnQgaGFkIGJlZm9yZSB3ZSBtYWRlIGl0IGBmaXhlZGAuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAvLyBOb3RlOiB0aGlzIHdpbGwgYWx3YXlzIGFkZCBhIHNjcm9sbGJhciB0byB3aGF0ZXZlciBlbGVtZW50IGl0IGlzIG9uLCB3aGljaCBjYW5cbiAgICAvLyBwb3RlbnRpYWxseSByZXN1bHQgaW4gZG91YmxlIHNjcm9sbGJhcnMuIEl0IHNob3VsZG4ndCBiZSBhbiBpc3N1ZSwgYmVjYXVzZSB3ZSB3b24ndFxuICAgIC8vIGJsb2NrIHNjcm9sbGluZyBvbiBhIHBhZ2UgdGhhdCBkb2Vzbid0IGhhdmUgYSBzY3JvbGxiYXIgaW4gdGhlIGZpcnN0IHBsYWNlLlxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgfVxufVxuXG5AbWl4aW4gY2RrLWExMXkge1xuICAuY2RrLXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcblxuICAgIC8vIEF2b2lkIGJyb3dzZXJzIHJlbmRlcmluZyB0aGUgZm9jdXMgcmluZyBpbiBzb21lIGNhc2VzLlxuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBBdm9pZCBzb21lIGNhc2VzIHdoZXJlIHRoZSBicm93c2VyIHdpbGwgc3RpbGwgcmVuZGVyIHRoZSBuYXRpdmUgY29udHJvbHMgKHNlZSAjOTA0OSkuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxufVxuXG4vLy8gRW1pdHMgdGhlIG1peGluJ3MgY29udGVudCBuZXN0ZWQgdW5kZXIgYCRzZWxlY3Rvci1jb250ZXh0YCBpZiBgJHNlbGVjdG9yLWNvbnRleHRgXG4vLy8gaXMgbm9uLWVtcHR5LlxuLy8vIEBwYXJhbSBzZWxlY3Rvci1jb250ZXh0IFRoZSBzZWxlY3RvciB1bmRlciB3aGljaCB0byBuZXN0IHRoZSBtaXhpbidzIGNvbnRlbnQuXG5AbWl4aW4gX2Nkay1vcHRpb25hbGx5LW5lc3QtY29udGVudCgkc2VsZWN0b3ItY29udGV4dCkge1xuICBAaWYgKCRzZWxlY3Rvci1jb250ZXh0ID09ICcnKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JHNlbGVjdG9yLWNvbnRleHR9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIHVzZXJzIGluIGhpZ2ggY29udHJhc3QgbW9kZS4gTm90ZSB0aGF0IHRoaXMgb25seSBhcHBsaWVzXG4vLy8gdG8gTWljcm9zb2Z0IGJyb3dzZXJzLiBDaHJvbWUgY2FuIGJlIGluY2x1ZGVkIGJ5IGNoZWNraW5nIGZvciB0aGUgYGh0bWxbaGNdYFxuLy8vIGF0dHJpYnV0ZSwgaG93ZXZlciBDaHJvbWUgaGFuZGxlcyBoaWdoIGNvbnRyYXN0IGRpZmZlcmVudGx5LlxuLy8vXG4vLy8gQHBhcmFtIHRhcmdldCBXaGljaCBraW5kIG9mIGhpZ2ggY29udHJhc3Qgc2V0dGluZyB0byB0YXJnZXQuIERlZmF1bHRzIHRvIGBhY3RpdmVgLCBjYW4gYmVcbi8vLyAgICBgd2hpdGUtb24tYmxhY2tgIG9yIGBibGFjay1vbi13aGl0ZWAuXG4vLy8gQHBhcmFtIGVuY2Fwc3VsYXRpb24gV2hldGhlciB0byBlbWl0IHN0eWxlcyBmb3IgdmlldyBlbmNhcHN1bGF0aW9uLiBWYWx1ZXMgYXJlOlxuLy8vICAgICAqIGBvbmAgLSB3b3JrcyBmb3IgYEVtdWxhdGVkYCwgYE5hdGl2ZWAsIGFuZCBgU2hhZG93RG9tYFxuLy8vICAgICAqIGBvZmZgIC0gd29ya3MgZm9yIGBOb25lYFxuLy8vICAgICAqIGBhbnlgIC0gd29ya3MgZm9yIGFsbCBlbmNhcHN1bGF0aW9uIG1vZGVzIGJ5IGVtaXR0aW5nIHRoZSBDU1MgdHdpY2UgKGRlZmF1bHQpLlxuQG1peGluIGNkay1oaWdoLWNvbnRyYXN0KCR0YXJnZXQ6IGFjdGl2ZSwgJGVuY2Fwc3VsYXRpb246ICdhbnknKSB7XG4gIEBpZiAoJHRhcmdldCAhPSAnYWN0aXZlJyBhbmQgJHRhcmdldCAhPSAnYmxhY2stb24td2hpdGUnIGFuZCAkdGFyZ2V0ICE9ICd3aGl0ZS1vbi1ibGFjaycpIHtcbiAgICBAZXJyb3IgJ1Vua25vd24gY2RrLWhpZ2gtY29udHJhc3QgdmFsdWUgXCIjeyR0YXJnZXR9XCIgcHJvdmlkZWQuICcgK1xuICAgICAgICAgICAnQWxsb3dlZCB2YWx1ZXMgYXJlIFwiYWN0aXZlXCIsIFwiYmxhY2stb24td2hpdGVcIiwgYW5kIFwid2hpdGUtb24tYmxhY2tcIic7XG4gIH1cblxuICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvbicgYW5kICRlbmNhcHN1bGF0aW9uICE9ICdvZmYnIGFuZCAkZW5jYXBzdWxhdGlvbiAhPSAnYW55Jykge1xuICAgIEBlcnJvciAnVW5rbm93biBjZGstaGlnaC1jb250cmFzdCBlbmNhcHN1bGF0aW9uIFwiI3skZW5jYXBzdWxhdGlvbn1cIiBwcm92aWRlZC4gJyArXG4gICAgICAgICAgICdBbGxvd2VkIHZhbHVlcyBhcmUgXCJvblwiLCBcIm9mZlwiLCBhbmQgXCJhbnlcIic7XG4gIH1cblxuICAvLyBJZiB0aGUgc2VsZWN0b3IgY29udGV4dCBoYXMgbXVsdGlwbGUgcGFydHMsIHN1Y2ggYXMgYC5zZWN0aW9uLCAucmVnaW9uYCwganVzdCBkb2luZ1xuICAvLyBgLmNkay1oaWdoLWNvbnRyYXN0LXh4eCAjeyZ9YCB3aWxsIG9ubHkgYXBwbHkgdGhlIHBhcmVudCBzZWxlY3RvciB0byB0aGUgZmlyc3QgcGFydCBvZiB0aGVcbiAgLy8gY29udGV4dC4gV2UgYWRkcmVzcyB0aGlzIGJ5IG5lc3RpbmcgdGhlIHNlbGVjdG9yIGNvbnRleHQgdW5kZXIgLmNkay1oaWdoLWNvbnRyYXN0LlxuICBAYXQtcm9vdCB7XG4gICAgJHNlbGVjdG9yLWNvbnRleHQ6ICN7Jn07XG5cbiAgICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvbicpIHtcbiAgICAgIC8vIE5vdGUgdGhhdCBpZiB0aGlzIHNlbGVjdG9yIGlzIHVwZGF0ZWQsIHRoZSBzYW1lIGNoYW5nZSBoYXMgdG8gYmUgbWFkZSBpbnNpZGVcbiAgICAgIC8vIGBfb3ZlcmxheS5zY3NzYCB3aGljaCBjYW4ndCBkZXBlbmQgb24gdGhpcyBtaXhpbiBkdWUgdG8gc29tZSBpbmZyYXN0cnVjdHVyZSBsaW1pdGF0aW9ucy5cbiAgICAgIC5jZGstaGlnaC1jb250cmFzdC0jeyR0YXJnZXR9IHtcbiAgICAgICAgQGluY2x1ZGUgX2Nkay1vcHRpb25hbGx5LW5lc3QtY29udGVudCgkc2VsZWN0b3ItY29udGV4dCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkZW5jYXBzdWxhdGlvbiAhPSAnb2ZmJykge1xuICAgICAgLmNkay1oaWdoLWNvbnRyYXN0LSN7JHRhcmdldH0gOmhvc3Qge1xuICAgICAgICBAaW5jbHVkZSBfY2RrLW9wdGlvbmFsbHktbmVzdC1jb250ZW50KCRzZWxlY3Rvci1jb250ZXh0KSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29yZSBzdHlsZXMgdGhhdCBlbmFibGUgbW9uaXRvcmluZyBhdXRvZmlsbCBzdGF0ZSBvZiB0ZXh0IGZpZWxkcy5cbkBtaXhpbiBjZGstdGV4dC1maWVsZCB7XG4gIC8vIEtleWZyYW1lcyB0aGF0IGFwcGx5IG5vIHN0eWxlcywgYnV0IGFsbG93IHVzIHRvIG1vbml0b3Igd2hlbiBhbiB0ZXh0IGZpZWxkIGJlY29tZXMgYXV0b2ZpbGxlZFxuICAvLyBieSB3YXRjaGluZyBmb3IgdGhlIGFuaW1hdGlvbiBldmVudHMgdGhhdCBhcmUgZmlyZWQgd2hlbiB0aGV5IHN0YXJ0LiBOb3RlOiB0aGUgLyohKi8gY29tbWVudCBpc1xuICAvLyBuZWVkZWQgdG8gcHJldmVudCBMaWJTYXNzIGZyb20gc3RyaXBwaW5nIHRoZSBrZXlmcmFtZXMgb3V0LlxuICAvLyBCYXNlZCBvbjogaHR0cHM6Ly9tZWRpdW0uY29tL0BicnVubi9kZXRlY3RpbmctYXV0b2ZpbGxlZC1maWVsZHMtaW4tamF2YXNjcmlwdC1hZWQ1OThkMjVkYTdcbiAgQGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCB7LyohKi99XG4gIEBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIHsvKiEqL31cblxuICAuY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIC8vIFNpbmNlIENocm9tZSA4MCB3ZSBuZWVkIGEgMW1zIGRlbGF5LCBvciB0aGUgYW5pbWF0aW9uc3RhcnQgZXZlbnQgd29uJ3QgZmlyZS5cbiAgICBhbmltYXRpb246IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtcztcbiAgfVxuXG4gIC5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6bm90KDotd2Via2l0LWF1dG9maWxsKSB7XG4gICAgLy8gU2luY2UgQ2hyb21lIDgwIHdlIG5lZWQgYSAxbXMgZGVsYXksIG9yIHRoZSBhbmltYXRpb25zdGFydCBldmVudCB3b24ndCBmaXJlLlxuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtcztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgcmVzaXplIGhhbmRsZSBvbiBhdXRvc2l6aW5nIHRleHRhcmVhcywgYmVjYXVzZSB3aGF0ZXZlciBoZWlnaHRcbiAgLy8gdGhlIHVzZXIgcmVzaXplZCB0byB3aWxsIGJlIG92ZXJ3cml0dGVuIG9uY2UgdGhleSBzdGFydCB0eXBpbmcgYWdhaW4uXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZSB7XG4gICAgcmVzaXplOiBub25lO1xuICB9XG5cbiAgLy8gVGhpcyBjbGFzcyBpcyB0ZW1wb3JhcmlseSBhcHBsaWVkIHRvIHRoZSB0ZXh0YXJlYSB3aGVuIGl0IGlzIGJlaW5nIG1lYXN1cmVkLiBJdCBpcyBpbW1lZGlhdGVseVxuICAvLyByZW1vdmVkIHdoZW4gbWVhc3VyaW5nIGlzIGNvbXBsZXRlLiBXZSB1c2UgYCFpbXBvcnRhbnRgIHJ1bGVzIGhlcmUgdG8gbWFrZSBzdXJlIHVzZXItc3BlY2lmaWVkXG4gIC8vIHJ1bGVzIGRvIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgbWVhc3VyZW1lbnQuXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmcge1xuICAgIEBpbmNsdWRlIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2U7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gU2ltaWxhciB0byB0aGUgYGNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdgIGNsYXNzLCBidXQgb25seSBhcHBsaWVkIG9uIEZpcmVmb3guIFdlIG5lZWRcbiAgLy8gdG8gdXNlIHRoaXMgY2xhc3MsIGJlY2F1c2UgRmlyZWZveCBoYXMgYSBidWcgd2hlcmUgY2hhbmdpbmcgdGhlIGBvdmVyZmxvd2AgYnJlYWtzIHRoZSB1c2VyJ3NcbiAgLy8gYWJpbGl0eSB0byB1bmRvL3JlZG8gd2hhdCB0aGV5IHdlcmUgdHlwaW5nIChzZWUgIzE2NjI5KS4gVGhpcyBjbGFzcyBpcyBvbmx5IHNjb3BlZCB0byBGaXJlZm94LFxuICAvLyBiZWNhdXNlIHRoZSBtZWFzdXJlbWVudHMgdGhlcmUgZG9uJ3Qgc2VlbSB0byBiZSBhZmZlY3RlZCBieSB0aGUgYGhlaWdodDogMGAsIHdoZXJlYXMgb24gb3RoZXJcbiAgLy8gYnJvd3NlcnMgdGhleSBhcmUsIGUuZy4gQ2hyb21lIGRldGVjdHMgbG9uZ2VyIHRleHQgYW5kIElFIGRvZXMndCByZXNpemUgYmFjayB0byBub3JtYWwuXG4gIC8vIElkZW50aWNhbCBpc3N1ZSByZXBvcnQ6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTQ0ODc4NFxuICB0ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3gge1xuICAgIEBpbmNsdWRlIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2U7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2Uge1xuICAvLyBIYXZpbmcgMnB4IHRvcCBhbmQgYm90dG9tIHBhZGRpbmcgc2VlbXMgdG8gZml4IGEgYnVnIHdoZXJlIENocm9tZSBnZXRzIGFuIGluY29ycmVjdFxuICAvLyBtZWFzdXJlbWVudC4gV2UganVzdCBoYXZlIHRvIGFjY291bnQgZm9yIGl0IGxhdGVyIGFuZCBzdWJ0cmFjdCBpdCBvZmYgdGhlIGZpbmFsIHJlc3VsdC5cbiAgcGFkZGluZzogMnB4IDAgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3ggIWltcG9ydGFudDtcbn1cblxuLy8gVXNlZCB0byBnZW5lcmF0ZSBVSURzIGZvciBrZXlmcmFtZXMgdXNlZCB0byBjaGFuZ2UgdGhlIHRleHQgZmllbGQgYXV0b2ZpbGwgc3R5bGVzLlxuJGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50OiAwO1xuXG4vLyBNaXhpbiB1c2VkIHRvIGFwcGx5IGN1c3RvbSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbG9ycyB0byBhbiBhdXRvZmlsbGVkIHRleHQgZmllbGQuXG4vLyBCYXNlZCBvbjogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjc4MTU0OS9cbi8vIHJlbW92aW5nLWlucHV0LWJhY2tncm91bmQtY29sb3VyLWZvci1jaHJvbWUtYXV0b2NvbXBsZXRlI2Fuc3dlci0zNzQzMjI2MFxuQG1peGluIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yKCRiYWNrZ3JvdW5kLCAkZm9yZWdyb3VuZDonJykge1xuICBAa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLSN7JGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50fSB7XG4gICAgdG8ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBAaWYgJGZvcmVncm91bmQgIT0gJycgeyBjb2xvcjogJGZvcmVncm91bmQ7IH1cbiAgICB9XG4gIH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItI3skY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnR9IGJvdGg7XG4gIH1cblxuICAmLmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAvLyBTaW5jZSBDaHJvbWUgODAgd2UgbmVlZCBhIDFtcyBkZWxheSBmb3IgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQsIG9yIHRoZSBhbmltYXRpb25zdGFydFxuICAgIC8vIGV2ZW50IHdvbid0IGZpcmUuXG4gICAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXMsXG4gICAgICAgICAgICAgICBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci0jeyRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudH0gYm90aDtcbiAgfVxuXG4gICRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudDpcbiAgICAgICRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudCArIDEgIWdsb2JhbDtcbn1cblxuXG4vLyBDb3JlIHN0eWxlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGFwcGx5IG1hdGVyaWFsIGRlc2lnbiB0cmVhdG1lbnRzIHRvIGFueSBlbGVtZW50LlxuLy8gTWVkaWEgcXVlcmllc1xuLy8gVE9ETyhqb3NlcGhwZXJyb3R0KTogQ2hhbmdlICRtYXQteHNtYWxsIGFuZCAkbWF0LXNtYWxsIHVzYWdlcyB0byByZWx5IG9uIEJyZWFrcG9pbnRPYnNlcnZlcixcbiRtYXQteHNtYWxsOiAnbWF4LXdpZHRoOiA1OTlweCc7XG4kbWF0LXNtYWxsOiAnbWF4LXdpZHRoOiA5NTlweCc7XG5cbi8vIFRPRE86IFJldmlzaXQgYWxsIHotaW5kaWNlcyBiZWZvcmUgYmV0YVxuLy8gei1pbmRleCBtYXN0ZXIgbGlzdFxuXG4kei1pbmRleC1mYWI6IDIwICFkZWZhdWx0O1xuJHotaW5kZXgtZHJhd2VyOiAxMDAgIWRlZmF1bHQ7XG5cbi8vIEdsb2JhbCBjb25zdGFudHNcbiRwaTogMy4xNDE1OTI2NTtcblxuLy8gUGFkZGluZyBiZXR3ZWVuIGlucHV0IHRvZ2dsZXMgYW5kIHRoZWlyIGxhYmVsc1xuJG1hdC10b2dnbGUtcGFkZGluZzogOHB4ICFkZWZhdWx0O1xuLy8gV2lkdGggYW5kIGhlaWdodCBvZiBpbnB1dCB0b2dnbGVzXG4kbWF0LXRvZ2dsZS1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLyBFYXNpbmcgQ3VydmVzXG4vLyBUT0RPKGplbGJvdXJuKTogYWxsIG9mIHRoZXNlIG5lZWQgdG8gYmUgcmV2aXNpdGVkXG5cbi8vIFRoZSBkZWZhdWx0IGFuaW1hdGlvbiBjdXJ2ZXMgdXNlZCBieSBtYXRlcmlhbCBkZXNpZ24uXG4kbWF0LWxpbmVhci1vdXQtc2xvdy1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSkgIWRlZmF1bHQ7XG4kbWF0LWZhc3Qtb3V0LXNsb3ctaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpICFkZWZhdWx0O1xuJG1hdC1mYXN0LW91dC1saW5lYXItaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKSAhZGVmYXVsdDtcblxuJGVhc2UtaW4tb3V0LWN1cnZlLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSkgIWRlZmF1bHQ7XG5cbiRzd2lmdC1lYXNlLW91dC1kdXJhdGlvbjogNDAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1vdXQtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLW91dDogYWxsICRzd2lmdC1lYXNlLW91dC1kdXJhdGlvbiAkc3dpZnQtZWFzZS1vdXQtdGltaW5nLWZ1bmN0aW9uICFkZWZhdWx0O1xuXG4kc3dpZnQtZWFzZS1pbi1kdXJhdGlvbjogMzAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLCAwLjU1LCAwLjIpICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2UtaW46IGFsbCAkc3dpZnQtZWFzZS1pbi1kdXJhdGlvbiAkc3dpZnQtZWFzZS1pbi10aW1pbmctZnVuY3Rpb24gIWRlZmF1bHQ7XG5cbiRzd2lmdC1lYXNlLWluLW91dC1kdXJhdGlvbjogNTAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi1vdXQtdGltaW5nLWZ1bmN0aW9uOiAkZWFzZS1pbi1vdXQtY3VydmUtZnVuY3Rpb24gIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi1vdXQ6IGFsbCAkc3dpZnQtZWFzZS1pbi1vdXQtZHVyYXRpb24gJHN3aWZ0LWVhc2UtaW4tb3V0LXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuJHN3aWZ0LWxpbmVhci1kdXJhdGlvbjogODBtcyAhZGVmYXVsdDtcbiRzd2lmdC1saW5lYXItdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWRlZmF1bHQ7XG4kc3dpZnQtbGluZWFyOiBhbGwgJHN3aWZ0LWxpbmVhci1kdXJhdGlvbiAkc3dpZnQtbGluZWFyLXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuXG5cbi8vIEEgY29sbGVjdGlvbiBvZiBtaXhpbnMgYW5kIENTUyBjbGFzc2VzIHRoYXQgY2FuIGJlIHVzZWQgdG8gYXBwbHkgZWxldmF0aW9uIHRvIGEgbWF0ZXJpYWxcbi8vIGVsZW1lbnQuXG4vLyBTZWU6IGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2Vudmlyb25tZW50L2VsZXZhdGlvbi5odG1sXG4vLyBFeGFtcGxlczpcbi8vXG4vL1xuLy8gLm1hdC1mb28ge1xuLy8gICBAaW5jbHVkZSAkbWF0LWVsZXZhdGlvbigyKTtcbi8vXG4vLyAgICY6YWN0aXZlIHtcbi8vICAgICBAaW5jbHVkZSAkbWF0LWVsZXZhdGlvbig4KTtcbi8vICAgfVxuLy8gfVxuLy9cbi8vIDxkaXYgaWQ9XCJleHRlcm5hbC1jYXJkXCIgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXoyXCI+PHA+U29tZSBjb250ZW50PC9wPjwvZGl2PlxuLy9cbi8vIEZvciBhbiBleHBsYW5hdGlvbiBvZiB0aGUgZGVzaWduIGJlaGluZCBob3cgZWxldmF0aW9uIGlzIGltcGxlbWVudGVkLCBzZWUgdGhlIGRlc2lnbiBkb2MgYXRcbi8vIGh0dHBzOi8vZ29vLmdsL0txMGs5Wi5cblxuLy8gQ29sb3JzIGZvciB1bWJyYSwgcGVudW1icmEsIGFuZCBhbWJpZW50IHNoYWRvd3MuIEFzIGRlc2NyaWJlZCBpbiB0aGUgZGVzaWduIGRvYywgZWFjaCBlbGV2YXRpb25cbi8vIGxldmVsIGlzIGNyZWF0ZWQgdXNpbmcgYSBzZXQgb2YgMyBzaGFkb3cgdmFsdWVzLCBvbmUgZm9yIHVtYnJhICh0aGUgc2hhZG93IHJlcHJlc2VudGluZyB0aGVcbi8vIHNwYWNlIGNvbXBsZXRlbHkgb2JzY3VyZWQgYnkgYW4gb2JqZWN0IHJlbGF0aXZlIHRvIGl0cyBsaWdodCBzb3VyY2UpLCBvbmUgZm9yIHBlbnVtYnJhICh0aGVcbi8vIHNwYWNlIHBhcnRpYWxseSBvYnNjdXJlZCBieSBhbiBvYmplY3QpLCBhbmQgb25lIGZvciBhbWJpZW50ICh0aGUgc3BhY2Ugd2hpY2ggY29udGFpbnMgdGhlIG9iamVjdFxuLy8gaXRzZWxmKS4gRm9yIGEgZnVydGhlciBleHBsYW5hdGlvbiBvZiB0aGVzZSB0ZXJtcyBhbmQgdGhlaXIgbWVhbmluZ3MsIHNlZVxuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW1icmEsX3BlbnVtYnJhX2FuZF9hbnR1bWJyYS5cblxuLy8gTWFwcyBmb3IgdGhlIGRpZmZlcmVudCBzaGFkb3cgc2V0cyBhbmQgdGhlaXIgdmFsdWVzIHdpdGhpbiBlYWNoIHotc3BhY2UuIFRoZXNlIHZhbHVlcyB3ZXJlXG4vLyBjcmVhdGVkIGJ5IHRha2luZyBhIGZldyByZWZlcmVuY2Ugc2hhZG93IHNldHMgY3JlYXRlZCBieSBHb29nbGUncyBEZXNpZ25lcnMgYW5kIGludGVycG9sYXRpbmdcbi8vIGFsbCBvZiB0aGUgdmFsdWVzIGJldHdlZW4gdGhlbS5cblxuQGZ1bmN0aW9uIF9nZXQtdW1icmEtbWFwKCRjb2xvciwgJG9wYWNpdHkpIHtcbiAgJHNoYWRvdy1jb2xvcjogaWYodHlwZS1vZigkY29sb3IpID09IGNvbG9yLCByZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpLCAkY29sb3IpO1xuXG4gIEByZXR1cm4gKFxuICAgIDA6ICcwcHggMHB4IDBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTogJzBweCAycHggMXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjogJzBweCAzcHggMXB4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMzogJzBweCAzcHggM3B4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNDogJzBweCAycHggNHB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNTogJzBweCAzcHggNXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNjogJzBweCAzcHggNXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNzogJzBweCA0cHggNXB4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgODogJzBweCA1cHggNXB4IC0zcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgOTogJzBweCA1cHggNnB4IC0zcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTA6ICcwcHggNnB4IDZweCAtM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDExOiAnMHB4IDZweCA3cHggLTRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMjogJzBweCA3cHggOHB4IC00cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTM6ICcwcHggN3B4IDhweCAtNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE0OiAnMHB4IDdweCA5cHggLTRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNTogJzBweCA4cHggOXB4IC01cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTY6ICcwcHggOHB4IDEwcHggLTVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNzogJzBweCA4cHggMTFweCAtNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE4OiAnMHB4IDlweCAxMXB4IC01cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTk6ICcwcHggOXB4IDEycHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMDogJzBweCAxMHB4IDEzcHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMTogJzBweCAxMHB4IDEzcHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMjogJzBweCAxMHB4IDE0cHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMzogJzBweCAxMXB4IDE0cHggLTdweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyNDogJzBweCAxMXB4IDE1cHggLTdweCAjeyRzaGFkb3ctY29sb3J9J1xuICApO1xufVxuXG5AZnVuY3Rpb24gX2dldC1wZW51bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSkge1xuICAkc2hhZG93LWNvbG9yOiBpZih0eXBlLW9mKCRjb2xvcikgPT0gY29sb3IsIHJnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpLCAkY29sb3IpO1xuXG4gIEByZXR1cm4gKFxuICAgIDA6ICcwcHggMHB4IDBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTogJzBweCAxcHggMXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyOiAnMHB4IDJweCAycHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDM6ICcwcHggM3B4IDRweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNDogJzBweCA0cHggNXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA1OiAnMHB4IDVweCA4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDY6ICcwcHggNnB4IDEwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDc6ICcwcHggN3B4IDEwcHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDg6ICcwcHggOHB4IDEwcHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDk6ICcwcHggOXB4IDEycHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEwOiAnMHB4IDEwcHggMTRweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTE6ICcwcHggMTFweCAxNXB4IDFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMjogJzBweCAxMnB4IDE3cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEzOiAnMHB4IDEzcHggMTlweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTQ6ICcwcHggMTRweCAyMXB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNTogJzBweCAxNXB4IDIycHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE2OiAnMHB4IDE2cHggMjRweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTc6ICcwcHggMTdweCAyNnB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxODogJzBweCAxOHB4IDI4cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE5OiAnMHB4IDE5cHggMjlweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjA6ICcwcHggMjBweCAzMXB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMTogJzBweCAyMXB4IDMzcHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIyOiAnMHB4IDIycHggMzVweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjM6ICcwcHggMjNweCAzNnB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyNDogJzBweCAyNHB4IDM4cHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nXG4gICk7XG59XG5cbkBmdW5jdGlvbiBfZ2V0LWFtYmllbnQtbWFwKCRjb2xvciwgJG9wYWNpdHkpIHtcbiAgJHNoYWRvdy1jb2xvcjogaWYodHlwZS1vZigkY29sb3IpID09IGNvbG9yLCByZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjEyKSwgJGNvbG9yKTtcblxuICBAcmV0dXJuIChcbiAgICAwOiAnMHB4IDBweCAwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE6ICcwcHggMXB4IDNweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjogJzBweCAxcHggNXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAzOiAnMHB4IDFweCA4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDQ6ICcwcHggMXB4IDEwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDU6ICcwcHggMXB4IDE0cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDY6ICcwcHggMXB4IDE4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDc6ICcwcHggMnB4IDE2cHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDg6ICcwcHggM3B4IDE0cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDk6ICcwcHggM3B4IDE2cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEwOiAnMHB4IDRweCAxOHB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMTogJzBweCA0cHggMjBweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTI6ICcwcHggNXB4IDIycHggNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEzOiAnMHB4IDVweCAyNHB4IDRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNDogJzBweCA1cHggMjZweCA0cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTU6ICcwcHggNnB4IDI4cHggNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE2OiAnMHB4IDZweCAzMHB4IDVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNzogJzBweCA2cHggMzJweCA1cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTg6ICcwcHggN3B4IDM0cHggNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE5OiAnMHB4IDdweCAzNnB4IDZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMDogJzBweCA4cHggMzhweCA3cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjE6ICcwcHggOHB4IDQwcHggN3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIyOiAnMHB4IDhweCA0MnB4IDdweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMzogJzBweCA5cHggNDRweCA4cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjQ6ICcwcHggOXB4IDQ2cHggOHB4ICN7JHNoYWRvdy1jb2xvcn0nXG4gICk7XG59XG5cbi8vIFRoZSBkZWZhdWx0IGR1cmF0aW9uIHZhbHVlIGZvciBlbGV2YXRpb24gdHJhbnNpdGlvbnMuXG4kbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uOiAyODBtcyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZWFzaW5nIHZhbHVlIGZvciBlbGV2YXRpb24gdHJhbnNpdGlvbnMuXG4kbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1hdC1mYXN0LW91dC1zbG93LWluLXRpbWluZy1mdW5jdGlvbjtcblxuLy8gVGhlIGRlZmF1bHQgY29sb3IgZm9yIGVsZXZhdGlvbiBzaGFkb3dzLlxuJG1hdC1lbGV2YXRpb24tY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBvcGFjaXR5IHNjYWxpbmcgdmFsdWUgZm9yIGVsZXZhdGlvbiBzaGFkb3dzLlxuJG1hdC1lbGV2YXRpb24tb3BhY2l0eTogMSAhZGVmYXVsdDtcblxuLy8gUHJlZml4IGZvciBlbGV2YXRpb24tcmVsYXRlZCBzZWxlY3RvcnMuXG4kbWF0LWVsZXZhdGlvbi1wcmVmaXg6ICdtYXQtZWxldmF0aW9uLXonO1xuXG4vLyBBcHBsaWVzIHRoZSBjb3JyZWN0IGNzcyBydWxlcyB0byBhbiBlbGVtZW50IHRvIGdpdmUgaXQgdGhlIGVsZXZhdGlvbiBzcGVjaWZpZWQgYnkgJHpWYWx1ZS5cbi8vIFRoZSAkelZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNC5cbkBtaXhpbiBtYXQtZWxldmF0aW9uKCR6VmFsdWUsICRjb2xvcjogJG1hdC1lbGV2YXRpb24tY29sb3IsICRvcGFjaXR5OiAkbWF0LWVsZXZhdGlvbi1vcGFjaXR5KSB7XG4gIEBpZiB0eXBlLW9mKCR6VmFsdWUpICE9IG51bWJlciBvciBub3QgdW5pdGxlc3MoJHpWYWx1ZSkge1xuICAgIEBlcnJvciAnJHpWYWx1ZSBtdXN0IGJlIGEgdW5pdGxlc3MgbnVtYmVyJztcbiAgfVxuICBAaWYgJHpWYWx1ZSA8IDAgb3IgJHpWYWx1ZSA+IDI0IHtcbiAgICBAZXJyb3IgJyR6VmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0JztcbiAgfVxuXG4gIGJveC1zaGFkb3c6ICN7bWFwLWdldChfZ2V0LXVtYnJhLW1hcCgkY29sb3IsICRvcGFjaXR5KSwgJHpWYWx1ZSl9LFxuICAgICAgICAgICAgICAje21hcC1nZXQoX2dldC1wZW51bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSksICR6VmFsdWUpfSxcbiAgICAgICAgICAgICAgI3ttYXAtZ2V0KF9nZXQtYW1iaWVudC1tYXAoJGNvbG9yLCAkb3BhY2l0eSksICR6VmFsdWUpfTtcbn1cblxuLy8gQXBwbGllcyB0aGUgZWxldmF0aW9uIHRvIGFuIGVsZW1lbnQgaW4gYSBtYW5uZXIgdGhhdCBhbGxvd3Ncbi8vIGNvbnN1bWVycyB0byBvdmVycmlkZSBpdCB2aWEgdGhlIE1hdGVyaWFsIGVsZXZhdGlvbiBjbGFzc2VzLlxuQG1peGluIG1hdC1vdmVycmlkYWJsZS1lbGV2YXRpb24oXG4gICAgJHpWYWx1ZSxcbiAgICAkY29sb3I6ICRtYXQtZWxldmF0aW9uLWNvbG9yLFxuICAgICRvcGFjaXR5OiAkbWF0LWVsZXZhdGlvbi1vcGFjaXR5KSB7XG4gICY6bm90KFtjbGFzcyo9JyN7JG1hdC1lbGV2YXRpb24tcHJlZml4fSddKSB7XG4gICAgQGluY2x1ZGUgbWF0LWVsZXZhdGlvbigkelZhbHVlLCAkY29sb3IsICRvcGFjaXR5KTtcbiAgfVxufVxuXG4vLyBSZXR1cm5zIGEgc3RyaW5nIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIHZhbHVlIGZvciBhIHRyYW5zaXRpb24gcHJvcGVydHkgZm9yIGVsZXZhdGlvbi5cbi8vIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBkaXJlY3RseSBpcyB1c2VmdWwgaW4gc2l0dWF0aW9ucyB3aGVyZSBhIGNvbXBvbmVudCBuZWVkcyB0byB0cmFuc2l0aW9uXG4vLyBtb3JlIHRoYW4gb25lIHByb3BlcnR5LlxuLy9cbi8vIC5mb28ge1xuLy8gICB0cmFuc2l0aW9uOiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tcHJvcGVydHktdmFsdWUoKSwgb3BhY2l0eSAxMDBtcyBlYXNlO1xuLy8gfVxuQGZ1bmN0aW9uIG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1wcm9wZXJ0eS12YWx1ZShcbiAgICAkZHVyYXRpb246ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICAgJGVhc2luZzogJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pIHtcbiAgQHJldHVybiBib3gtc2hhZG93ICN7JGR1cmF0aW9ufSAjeyRlYXNpbmd9O1xufVxuXG4vLyBBcHBsaWVzIHRoZSBjb3JyZWN0IGNzcyBydWxlcyBuZWVkZWQgdG8gaGF2ZSBhbiBlbGVtZW50IHRyYW5zaXRpb24gYmV0d2VlbiBlbGV2YXRpb25zLlxuLy8gVGhpcyBtaXhpbiBzaG91bGQgYmUgYXBwbGllZCB0byBlbGVtZW50cyB3aG9zZSBlbGV2YXRpb24gdmFsdWVzIHdpbGwgY2hhbmdlIGRlcGVuZGluZyBvbiB0aGVpclxuLy8gY29udGV4dCAoZS5nLiB3aGVuIGFjdGl2ZSBvciBkaXNhYmxlZCkuXG4vL1xuLy8gTk9URSh0cmF2aXNrYXVmbWFuKTogQm90aCB0aGlzIG1peGluIGFuZCB0aGUgYWJvdmUgZnVuY3Rpb24gdXNlIGRlZmF1bHQgcGFyYW1ldGVycyBzbyB0aGV5IGNhblxuLy8gYmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkgYnkgY2xpZW50cy5cbkBtaXhpbiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24oXG4gICAgJGR1cmF0aW9uOiAkbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAgICRlYXNpbmc6ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSB7XG4gIHRyYW5zaXRpb246IG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1wcm9wZXJ0eS12YWx1ZSgkZHVyYXRpb24sICRlYXNpbmcpO1xufVxuXG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbmZpZywgJG9wYWNpdHk6ICRtYXQtZWxldmF0aW9uLW9wYWNpdHkpIHtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRlbGV2YXRpb24tY29sb3I6IG1hcC1nZXQoJGZvcmVncm91bmQsIGVsZXZhdGlvbik7XG4gICRlbGV2YXRpb24tY29sb3Itb3ItZGVmYXVsdDogaWYoJGVsZXZhdGlvbi1jb2xvciA9PSBudWxsLCAkbWF0LWVsZXZhdGlvbi1jb2xvciwgJGVsZXZhdGlvbi1jb2xvcik7XG5cbiAgQGluY2x1ZGUgbWF0LWVsZXZhdGlvbigkelZhbHVlLCAkZWxldmF0aW9uLWNvbG9yLW9yLWRlZmF1bHQsICRvcGFjaXR5KTtcbn1cblxuQG1peGluIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigkelZhbHVlLCAkY29uZmlnLCAkb3BhY2l0eTogJG1hdC1lbGV2YXRpb24tb3BhY2l0eSkge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGVsZXZhdGlvbi1jb2xvcjogbWFwLWdldCgkZm9yZWdyb3VuZCwgZWxldmF0aW9uKTtcbiAgJGVsZXZhdGlvbi1jb2xvci1vci1kZWZhdWx0OiBpZigkZWxldmF0aW9uLWNvbG9yID09IG51bGwsICRtYXQtZWxldmF0aW9uLWNvbG9yLCAkZWxldmF0aW9uLWNvbG9yKTtcblxuICBAaW5jbHVkZSBtYXQtb3ZlcnJpZGFibGUtZWxldmF0aW9uKCR6VmFsdWUsICRlbGV2YXRpb24tY29sb3Itb3ItZGVmYXVsdCwgJG9wYWNpdHkpO1xufVxuXG4vLyBJZiB0aGUgbWF0LWFuaW1hdGlvbi1ub29wIGNsYXNzIGlzIHByZXNlbnQgb24gdGhlIGNvbXBvbmVudHMgcm9vdCBlbGVtZW50LFxuLy8gcHJldmVudCBub24gY3NzIGFuaW1hdGlvbnMgZnJvbSBydW5uaW5nLlxuLy8gTk9URTogQ3VycmVudGx5IHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIGNvbXBvbmVudHMgdGhhdCBkbyBub3Rcbi8vIGhhdmUgYW55IHByb2plY3RlZCBjb250ZW50LlxuQG1peGluIG1hdC1wcml2YXRlLWFuaW1hdGlvbi1ub29wKCkge1xuICAvLyBAYXQtcm9vdCBpcyB1c2VkIHRvIHN0ZXBzIG91dHNpZGUgb2YgdGhlIGhpZXJhcmNoeSBvZiB0aGUgc2NzcyBydWxlcy4gVGhpcyBpc1xuICAvLyBkb25lIHRvIGFsbG93IGEgY2xhc3MgdG8gYmUgYWRkZWQgdG8gYmUgYWRkZWQgdG8gYmFzZSBvZiB0aGUgc2NzcyBuZXN0aW5nXG4gIC8vIGNvbnRleHQuXG4gIC8vIEZvciBleGFtcGxlOlxuICAvLyAubXktcm9vdCB7XG4gIC8vICAgLm15LXN1YmNsYXNzIHtcbiAgLy8gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1hbmltYXRpb24tbm9vcCgpO1xuICAvLyAgICB9XG4gIC8vIH1cbiAgLy8gcmVzdWx0cyBpbjpcbiAgLy8gLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm15LXJvb3QgLm15LXN1YmNsYXNzIHsgLi4uIH1cbiAgQGF0LXJvb3QgLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlI3smfSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gQ29sb3IgcGFsZXR0ZXMgZnJvbSB0aGUgTWF0ZXJpYWwgRGVzaWduIHNwZWMuXG4vLyBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29sb3IvXG4vL1xuLy8gQ29udHJhc3QgY29sb3JzIGFyZSBoYXJkLWNvZGVkIGJlY2F1c2UgaXQgaXMgdG9vIGRpZmZpY3VsdCAocHJvYmFibHkgaW1wb3NzaWJsZSkgdG9cbi8vIGNhbGN1bGF0ZSB0aGVtLiBUaGVzZSBjb250cmFzdCBjb2xvcnMgYXJlIHB1bGxlZCBmcm9tIHRoZSBwdWJsaWMgTWF0ZXJpYWwgRGVzaWduIHNwZWMgc3dhdGNoZXMuXG4vLyBXaGlsZSB0aGUgY29udHJhc3QgY29sb3JzIGluIHRoZSBzcGVjIGFyZSBub3QgcHJlc2NyaXB0aXZlLCB3ZSB1c2UgdGhlbSBmb3IgY29udmVuaWVuY2UuXG5cblxuLy8gQGRlcHJlY2F0ZWQgcmVuYW1lZCB0byAkZGFyay1wcmltYXJ5LXRleHQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kYmxhY2stODctb3BhY2l0eTogcmdiYShibGFjaywgMC44Nyk7XG4vLyBAZGVwcmVjYXRlZCByZW5hbWVkIHRvICRsaWdodC1wcmltYXJ5LXRleHQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kd2hpdGUtODctb3BhY2l0eTogcmdiYSh3aGl0ZSwgMC44Nyk7XG4vLyBAZGVwcmVjYXRlZCB1c2UgJGRhcmstW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiRibGFjay0xMi1vcGFjaXR5OiByZ2JhKGJsYWNrLCAwLjEyKTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkbGlnaHQtW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiR3aGl0ZS0xMi1vcGFjaXR5OiByZ2JhKHdoaXRlLCAwLjEyKTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkZGFyay1bc2Vjb25kYXJ5LXRleHQsZGlzYWJsZWQtdGV4dCxkaXZpZGVycyxmb2N1c2VkXSBpbnN0ZWFkLlxuLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMFxuJGJsYWNrLTYtb3BhY2l0eTogcmdiYShibGFjaywgMC4wNik7XG4vLyBAZGVwcmVjYXRlZCB1c2UgJGxpZ2h0LVtzZWNvbmRhcnktdGV4dCxkaXNhYmxlZC10ZXh0LGRpdmlkZXJzLGZvY3VzZWRdIGluc3RlYWQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kd2hpdGUtNi1vcGFjaXR5OiByZ2JhKHdoaXRlLCAwLjA2KTtcblxuJGRhcmstcHJpbWFyeS10ZXh0OiByZ2JhKGJsYWNrLCAwLjg3KTtcbiRkYXJrLXNlY29uZGFyeS10ZXh0OiByZ2JhKGJsYWNrLCAwLjU0KTtcbiRkYXJrLWRpc2FibGVkLXRleHQ6IHJnYmEoYmxhY2ssIDAuMzgpO1xuJGRhcmstZGl2aWRlcnM6IHJnYmEoYmxhY2ssIDAuMTIpO1xuJGRhcmstZm9jdXNlZDogcmdiYShibGFjaywgMC4xMik7XG4kbGlnaHQtcHJpbWFyeS10ZXh0OiB3aGl0ZTtcbiRsaWdodC1zZWNvbmRhcnktdGV4dDogcmdiYSh3aGl0ZSwgMC43KTtcbiRsaWdodC1kaXNhYmxlZC10ZXh0OiByZ2JhKHdoaXRlLCAwLjUpO1xuJGxpZ2h0LWRpdmlkZXJzOiByZ2JhKHdoaXRlLCAwLjEyKTtcbiRsaWdodC1mb2N1c2VkOiByZ2JhKHdoaXRlLCAwLjEyKTtcblxuJG1hdC1yZWQ6IChcbiAgNTA6ICNmZmViZWUsXG4gIDEwMDogI2ZmY2RkMixcbiAgMjAwOiAjZWY5YTlhLFxuICAzMDA6ICNlNTczNzMsXG4gIDQwMDogI2VmNTM1MCxcbiAgNTAwOiAjZjQ0MzM2LFxuICA2MDA6ICNlNTM5MzUsXG4gIDcwMDogI2QzMmYyZixcbiAgODAwOiAjYzYyODI4LFxuICA5MDA6ICNiNzFjMWMsXG4gIEExMDA6ICNmZjhhODAsXG4gIEEyMDA6ICNmZjUyNTIsXG4gIEE0MDA6ICNmZjE3NDQsXG4gIEE3MDA6ICNkNTAwMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1waW5rOiAoXG4gIDUwOiAjZmNlNGVjLFxuICAxMDA6ICNmOGJiZDAsXG4gIDIwMDogI2Y0OGZiMSxcbiAgMzAwOiAjZjA2MjkyLFxuICA0MDA6ICNlYzQwN2EsXG4gIDUwMDogI2U5MWU2MyxcbiAgNjAwOiAjZDgxYjYwLFxuICA3MDA6ICNjMjE4NWIsXG4gIDgwMDogI2FkMTQ1NyxcbiAgOTAwOiAjODgwZTRmLFxuICBBMTAwOiAjZmY4MGFiLFxuICBBMjAwOiAjZmY0MDgxLFxuICBBNDAwOiAjZjUwMDU3LFxuICBBNzAwOiAjYzUxMTYyLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtcHVycGxlOiAoXG4gIDUwOiAjZjNlNWY1LFxuICAxMDA6ICNlMWJlZTcsXG4gIDIwMDogI2NlOTNkOCxcbiAgMzAwOiAjYmE2OGM4LFxuICA0MDA6ICNhYjQ3YmMsXG4gIDUwMDogIzljMjdiMCxcbiAgNjAwOiAjOGUyNGFhLFxuICA3MDA6ICM3YjFmYTIsXG4gIDgwMDogIzZhMWI5YSxcbiAgOTAwOiAjNGExNDhjLFxuICBBMTAwOiAjZWE4MGZjLFxuICBBMjAwOiAjZTA0MGZiLFxuICBBNDAwOiAjZDUwMGY5LFxuICBBNzAwOiAjYWEwMGZmLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1kZWVwLXB1cnBsZTogKFxuICA1MDogI2VkZTdmNixcbiAgMTAwOiAjZDFjNGU5LFxuICAyMDA6ICNiMzlkZGIsXG4gIDMwMDogIzk1NzVjZCxcbiAgNDAwOiAjN2U1N2MyLFxuICA1MDA6ICM2NzNhYjcsXG4gIDYwMDogIzVlMzViMSxcbiAgNzAwOiAjNTEyZGE4LFxuICA4MDA6ICM0NTI3YTAsXG4gIDkwMDogIzMxMWI5MixcbiAgQTEwMDogI2IzODhmZixcbiAgQTIwMDogIzdjNGRmZixcbiAgQTQwMDogIzY1MWZmZixcbiAgQTcwMDogIzYyMDBlYSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtaW5kaWdvOiAoXG4gIDUwOiAjZThlYWY2LFxuICAxMDA6ICNjNWNhZTksXG4gIDIwMDogIzlmYThkYSxcbiAgMzAwOiAjNzk4NmNiLFxuICA0MDA6ICM1YzZiYzAsXG4gIDUwMDogIzNmNTFiNSxcbiAgNjAwOiAjMzk0OWFiLFxuICA3MDA6ICMzMDNmOWYsXG4gIDgwMDogIzI4MzU5MyxcbiAgOTAwOiAjMWEyMzdlLFxuICBBMTAwOiAjOGM5ZWZmLFxuICBBMjAwOiAjNTM2ZGZlLFxuICBBNDAwOiAjM2Q1YWZlLFxuICBBNzAwOiAjMzA0ZmZlLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1ibHVlOiAoXG4gIDUwOiAjZTNmMmZkLFxuICAxMDA6ICNiYmRlZmIsXG4gIDIwMDogIzkwY2FmOSxcbiAgMzAwOiAjNjRiNWY2LFxuICA0MDA6ICM0MmE1ZjUsXG4gIDUwMDogIzIxOTZmMyxcbiAgNjAwOiAjMWU4OGU1LFxuICA3MDA6ICMxOTc2ZDIsXG4gIDgwMDogIzE1NjVjMCxcbiAgOTAwOiAjMGQ0N2ExLFxuICBBMTAwOiAjODJiMWZmLFxuICBBMjAwOiAjNDQ4YWZmLFxuICBBNDAwOiAjMjk3OWZmLFxuICBBNzAwOiAjMjk2MmZmLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtbGlnaHQtYmx1ZTogKFxuICA1MDogI2UxZjVmZSxcbiAgMTAwOiAjYjNlNWZjLFxuICAyMDA6ICM4MWQ0ZmEsXG4gIDMwMDogIzRmYzNmNyxcbiAgNDAwOiAjMjliNmY2LFxuICA1MDA6ICMwM2E5ZjQsXG4gIDYwMDogIzAzOWJlNSxcbiAgNzAwOiAjMDI4OGQxLFxuICA4MDA6ICMwMjc3YmQsXG4gIDkwMDogIzAxNTc5YixcbiAgQTEwMDogIzgwZDhmZixcbiAgQTIwMDogIzQwYzRmZixcbiAgQTQwMDogIzAwYjBmZixcbiAgQTcwMDogIzAwOTFlYSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1jeWFuOiAoXG4gIDUwOiAjZTBmN2ZhLFxuICAxMDA6ICNiMmViZjIsXG4gIDIwMDogIzgwZGVlYSxcbiAgMzAwOiAjNGRkMGUxLFxuICA0MDA6ICMyNmM2ZGEsXG4gIDUwMDogIzAwYmNkNCxcbiAgNjAwOiAjMDBhY2MxLFxuICA3MDA6ICMwMDk3YTcsXG4gIDgwMDogIzAwODM4ZixcbiAgOTAwOiAjMDA2MDY0LFxuICBBMTAwOiAjODRmZmZmLFxuICBBMjAwOiAjMThmZmZmLFxuICBBNDAwOiAjMDBlNWZmLFxuICBBNzAwOiAjMDBiOGQ0LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtdGVhbDogKFxuICA1MDogI2UwZjJmMSxcbiAgMTAwOiAjYjJkZmRiLFxuICAyMDA6ICM4MGNiYzQsXG4gIDMwMDogIzRkYjZhYyxcbiAgNDAwOiAjMjZhNjlhLFxuICA1MDA6ICMwMDk2ODgsXG4gIDYwMDogIzAwODk3YixcbiAgNzAwOiAjMDA3OTZiLFxuICA4MDA6ICMwMDY5NWMsXG4gIDkwMDogIzAwNGQ0MCxcbiAgQTEwMDogI2E3ZmZlYixcbiAgQTIwMDogIzY0ZmZkYSxcbiAgQTQwMDogIzFkZTliNixcbiAgQTcwMDogIzAwYmZhNSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWdyZWVuOiAoXG4gIDUwOiAjZThmNWU5LFxuICAxMDA6ICNjOGU2YzksXG4gIDIwMDogI2E1ZDZhNyxcbiAgMzAwOiAjODFjNzg0LFxuICA0MDA6ICM2NmJiNmEsXG4gIDUwMDogIzRjYWY1MCxcbiAgNjAwOiAjNDNhMDQ3LFxuICA3MDA6ICMzODhlM2MsXG4gIDgwMDogIzJlN2QzMixcbiAgOTAwOiAjMWI1ZTIwLFxuICBBMTAwOiAjYjlmNmNhLFxuICBBMjAwOiAjNjlmMGFlLFxuICBBNDAwOiAjMDBlNjc2LFxuICBBNzAwOiAjMDBjODUzLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1saWdodC1ncmVlbjogKFxuICA1MDogI2YxZjhlOSxcbiAgMTAwOiAjZGNlZGM4LFxuICAyMDA6ICNjNWUxYTUsXG4gIDMwMDogI2FlZDU4MSxcbiAgNDAwOiAjOWNjYzY1LFxuICA1MDA6ICM4YmMzNGEsXG4gIDYwMDogIzdjYjM0MixcbiAgNzAwOiAjNjg5ZjM4LFxuICA4MDA6ICM1NThiMmYsXG4gIDkwMDogIzMzNjkxZSxcbiAgQTEwMDogI2NjZmY5MCxcbiAgQTIwMDogI2IyZmY1OSxcbiAgQTQwMDogIzc2ZmYwMyxcbiAgQTcwMDogIzY0ZGQxNyxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1saW1lOiAoXG4gIDUwOiAjZjlmYmU3LFxuICAxMDA6ICNmMGY0YzMsXG4gIDIwMDogI2U2ZWU5YyxcbiAgMzAwOiAjZGNlNzc1LFxuICA0MDA6ICNkNGUxNTcsXG4gIDUwMDogI2NkZGMzOSxcbiAgNjAwOiAjYzBjYTMzLFxuICA3MDA6ICNhZmI0MmIsXG4gIDgwMDogIzllOWQyNCxcbiAgOTAwOiAjODI3NzE3LFxuICBBMTAwOiAjZjRmZjgxLFxuICBBMjAwOiAjZWVmZjQxLFxuICBBNDAwOiAjYzZmZjAwLFxuICBBNzAwOiAjYWVlYTAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC15ZWxsb3c6IChcbiAgNTA6ICNmZmZkZTcsXG4gIDEwMDogI2ZmZjljNCxcbiAgMjAwOiAjZmZmNTlkLFxuICAzMDA6ICNmZmYxNzYsXG4gIDQwMDogI2ZmZWU1OCxcbiAgNTAwOiAjZmZlYjNiLFxuICA2MDA6ICNmZGQ4MzUsXG4gIDcwMDogI2ZiYzAyZCxcbiAgODAwOiAjZjlhODI1LFxuICA5MDA6ICNmNTdmMTcsXG4gIEExMDA6ICNmZmZmOGQsXG4gIEEyMDA6ICNmZmZmMDAsXG4gIEE0MDA6ICNmZmVhMDAsXG4gIEE3MDA6ICNmZmQ2MDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtYW1iZXI6IChcbiAgNTA6ICNmZmY4ZTEsXG4gIDEwMDogI2ZmZWNiMyxcbiAgMjAwOiAjZmZlMDgyLFxuICAzMDA6ICNmZmQ1NGYsXG4gIDQwMDogI2ZmY2EyOCxcbiAgNTAwOiAjZmZjMTA3LFxuICA2MDA6ICNmZmIzMDAsXG4gIDcwMDogI2ZmYTAwMCxcbiAgODAwOiAjZmY4ZjAwLFxuICA5MDA6ICNmZjZmMDAsXG4gIEExMDA6ICNmZmU1N2YsXG4gIEEyMDA6ICNmZmQ3NDAsXG4gIEE0MDA6ICNmZmM0MDAsXG4gIEE3MDA6ICNmZmFiMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtb3JhbmdlOiAoXG4gIDUwOiAjZmZmM2UwLFxuICAxMDA6ICNmZmUwYjIsXG4gIDIwMDogI2ZmY2M4MCxcbiAgMzAwOiAjZmZiNzRkLFxuICA0MDA6ICNmZmE3MjYsXG4gIDUwMDogI2ZmOTgwMCxcbiAgNjAwOiAjZmI4YzAwLFxuICA3MDA6ICNmNTdjMDAsXG4gIDgwMDogI2VmNmMwMCxcbiAgOTAwOiAjZTY1MTAwLFxuICBBMTAwOiAjZmZkMTgwLFxuICBBMjAwOiAjZmZhYjQwLFxuICBBNDAwOiAjZmY5MTAwLFxuICBBNzAwOiAjZmY2ZDAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiBibGFjayxcbiAgKVxuKTtcblxuJG1hdC1kZWVwLW9yYW5nZTogKFxuICA1MDogI2ZiZTllNyxcbiAgMTAwOiAjZmZjY2JjLFxuICAyMDA6ICNmZmFiOTEsXG4gIDMwMDogI2ZmOGE2NSxcbiAgNDAwOiAjZmY3MDQzLFxuICA1MDA6ICNmZjU3MjIsXG4gIDYwMDogI2Y0NTExZSxcbiAgNzAwOiAjZTY0YTE5LFxuICA4MDA6ICNkODQzMTUsXG4gIDkwMDogI2JmMzYwYyxcbiAgQTEwMDogI2ZmOWU4MCxcbiAgQTIwMDogI2ZmNmU0MCxcbiAgQTQwMDogI2ZmM2QwMCxcbiAgQTcwMDogI2RkMmMwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtYnJvd246IChcbiAgNTA6ICNlZmViZTksXG4gIDEwMDogI2Q3Y2NjOCxcbiAgMjAwOiAjYmNhYWE0LFxuICAzMDA6ICNhMTg4N2YsXG4gIDQwMDogIzhkNmU2MyxcbiAgNTAwOiAjNzk1NTQ4LFxuICA2MDA6ICM2ZDRjNDEsXG4gIDcwMDogIzVkNDAzNyxcbiAgODAwOiAjNGUzNDJlLFxuICA5MDA6ICMzZTI3MjMsXG4gIEExMDA6ICNkN2NjYzgsXG4gIEEyMDA6ICNiY2FhYTQsXG4gIEE0MDA6ICM4ZDZlNjMsXG4gIEE3MDA6ICM1ZDQwMzcsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtZ3JleTogKFxuICA1MDogI2ZhZmFmYSxcbiAgMTAwOiAjZjVmNWY1LFxuICAyMDA6ICNlZWVlZWUsXG4gIDMwMDogI2UwZTBlMCxcbiAgNDAwOiAjYmRiZGJkLFxuICA1MDA6ICM5ZTllOWUsXG4gIDYwMDogIzc1NzU3NSxcbiAgNzAwOiAjNjE2MTYxLFxuICA4MDA6ICM0MjQyNDIsXG4gIDkwMDogIzIxMjEyMSxcbiAgQTEwMDogI2ZmZmZmZixcbiAgQTIwMDogI2VlZWVlZSxcbiAgQTQwMDogI2JkYmRiZCxcbiAgQTcwMDogIzYxNjE2MSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4vLyBBbGlhcyBmb3IgYWx0ZXJuYXRlIHNwZWxsaW5nLlxuJG1hdC1ncmF5OiAkbWF0LWdyZXk7XG5cbiRtYXQtYmx1ZS1ncmV5OiAoXG4gIDUwOiAjZWNlZmYxLFxuICAxMDA6ICNjZmQ4ZGMsXG4gIDIwMDogI2IwYmVjNSxcbiAgMzAwOiAjOTBhNGFlLFxuICA0MDA6ICM3ODkwOWMsXG4gIDUwMDogIzYwN2Q4YixcbiAgNjAwOiAjNTQ2ZTdhLFxuICA3MDA6ICM0NTVhNjQsXG4gIDgwMDogIzM3NDc0ZixcbiAgOTAwOiAjMjYzMjM4LFxuICBBMTAwOiAjY2ZkOGRjLFxuICBBMjAwOiAjYjBiZWM1LFxuICBBNDAwOiAjNzg5MDljLFxuICBBNzAwOiAjNDU1YTY0LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbi8vIEFsaWFzIGZvciBhbHRlcm5hdGUgc3BlbGxpbmcuXG4kbWF0LWJsdWUtZ3JheTogJG1hdC1ibHVlLWdyZXk7XG5cblxuLy8gQmFja2dyb3VuZCBwYWxldHRlIGZvciBsaWdodCB0aGVtZXMuXG4kbWF0LWxpZ2h0LXRoZW1lLWJhY2tncm91bmQ6IChcbiAgc3RhdHVzLWJhcjogbWFwLWdldCgkbWF0LWdyZXksIDMwMCksXG4gIGFwcC1iYXI6ICAgIG1hcC1nZXQoJG1hdC1ncmV5LCAxMDApLFxuICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRtYXQtZ3JleSwgNTApLFxuICBob3ZlcjogICAgICByZ2JhKGJsYWNrLCAwLjA0KSwgLy8gVE9ETyhrYXJhKTogY2hlY2sgc3R5bGUgd2l0aCBNYXRlcmlhbCBEZXNpZ24gVVhcbiAgY2FyZDogICAgICAgd2hpdGUsXG4gIGRpYWxvZzogICAgIHdoaXRlLFxuICBkaXNhYmxlZC1idXR0b246IHJnYmEoYmxhY2ssIDAuMTIpLFxuICByYWlzZWQtYnV0dG9uOiB3aGl0ZSxcbiAgZm9jdXNlZC1idXR0b246ICRkYXJrLWZvY3VzZWQsXG4gIHNlbGVjdGVkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDMwMCksXG4gIHNlbGVjdGVkLWRpc2FibGVkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDQwMCksXG4gIGRpc2FibGVkLWJ1dHRvbi10b2dnbGU6IG1hcC1nZXQoJG1hdC1ncmV5LCAyMDApLFxuICB1bnNlbGVjdGVkLWNoaXA6IG1hcC1nZXQoJG1hdC1ncmV5LCAzMDApLFxuICBkaXNhYmxlZC1saXN0LW9wdGlvbjogbWFwLWdldCgkbWF0LWdyZXksIDIwMCksXG4gIHRvb2x0aXA6IG1hcC1nZXQoJG1hdC1ncmV5LCA3MDApLFxuKTtcblxuLy8gQmFja2dyb3VuZCBwYWxldHRlIGZvciBkYXJrIHRoZW1lcy5cbiRtYXQtZGFyay10aGVtZS1iYWNrZ3JvdW5kOiAoXG4gIHN0YXR1cy1iYXI6IGJsYWNrLFxuICBhcHAtYmFyOiAgICBtYXAtZ2V0KCRtYXQtZ3JleSwgOTAwKSxcbiAgYmFja2dyb3VuZDogIzMwMzAzMCxcbiAgaG92ZXI6ICAgICAgcmdiYSh3aGl0ZSwgMC4wNCksIC8vIFRPRE8oa2FyYSk6IGNoZWNrIHN0eWxlIHdpdGggTWF0ZXJpYWwgRGVzaWduIFVYXG4gIGNhcmQ6ICAgICAgIG1hcC1nZXQoJG1hdC1ncmV5LCA4MDApLFxuICBkaWFsb2c6ICAgICBtYXAtZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZGlzYWJsZWQtYnV0dG9uOiByZ2JhKHdoaXRlLCAwLjEyKSxcbiAgcmFpc2VkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDgwMCksXG4gIGZvY3VzZWQtYnV0dG9uOiAkbGlnaHQtZm9jdXNlZCxcbiAgc2VsZWN0ZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgOTAwKSxcbiAgc2VsZWN0ZWQtZGlzYWJsZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZGlzYWJsZWQtYnV0dG9uLXRvZ2dsZTogYmxhY2ssXG4gIHVuc2VsZWN0ZWQtY2hpcDogbWFwLWdldCgkbWF0LWdyZXksIDcwMCksXG4gIGRpc2FibGVkLWxpc3Qtb3B0aW9uOiBibGFjayxcbiAgdG9vbHRpcDogbWFwLWdldCgkbWF0LWdyZXksIDcwMCksXG4pO1xuXG4vLyBGb3JlZ3JvdW5kIHBhbGV0dGUgZm9yIGxpZ2h0IHRoZW1lcy5cbiRtYXQtbGlnaHQtdGhlbWUtZm9yZWdyb3VuZDogKFxuICBiYXNlOiAgICAgICAgICAgICAgYmxhY2ssXG4gIGRpdmlkZXI6ICAgICAgICAgICAkZGFyay1kaXZpZGVycyxcbiAgZGl2aWRlcnM6ICAgICAgICAgICRkYXJrLWRpdmlkZXJzLFxuICBkaXNhYmxlZDogICAgICAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgZGlzYWJsZWQtYnV0dG9uOiAgIHJnYmEoYmxhY2ssIDAuMjYpLFxuICBkaXNhYmxlZC10ZXh0OiAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgZWxldmF0aW9uOiAgICAgICAgIGJsYWNrLFxuICBoaW50LXRleHQ6ICAgICAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgc2Vjb25kYXJ5LXRleHQ6ICAgICRkYXJrLXNlY29uZGFyeS10ZXh0LFxuICBpY29uOiAgICAgICAgICAgICAgcmdiYShibGFjaywgMC41NCksXG4gIGljb25zOiAgICAgICAgICAgICByZ2JhKGJsYWNrLCAwLjU0KSxcbiAgdGV4dDogICAgICAgICAgICAgIHJnYmEoYmxhY2ssIDAuODcpLFxuICBzbGlkZXItbWluOiAgICAgICAgcmdiYShibGFjaywgMC44NyksXG4gIHNsaWRlci1vZmY6ICAgICAgICByZ2JhKGJsYWNrLCAwLjI2KSxcbiAgc2xpZGVyLW9mZi1hY3RpdmU6IHJnYmEoYmxhY2ssIDAuMzgpLFxuKTtcblxuLy8gRm9yZWdyb3VuZCBwYWxldHRlIGZvciBkYXJrIHRoZW1lcy5cbiRtYXQtZGFyay10aGVtZS1mb3JlZ3JvdW5kOiAoXG4gIGJhc2U6ICAgICAgICAgICAgICB3aGl0ZSxcbiAgZGl2aWRlcjogICAgICAgICAgICRsaWdodC1kaXZpZGVycyxcbiAgZGl2aWRlcnM6ICAgICAgICAgICRsaWdodC1kaXZpZGVycyxcbiAgZGlzYWJsZWQ6ICAgICAgICAgICRsaWdodC1kaXNhYmxlZC10ZXh0LFxuICBkaXNhYmxlZC1idXR0b246ICAgcmdiYSh3aGl0ZSwgMC4zKSxcbiAgZGlzYWJsZWQtdGV4dDogICAgICRsaWdodC1kaXNhYmxlZC10ZXh0LFxuICBlbGV2YXRpb246ICAgICAgICAgYmxhY2ssXG4gIGhpbnQtdGV4dDogICAgICAgICAkbGlnaHQtZGlzYWJsZWQtdGV4dCxcbiAgc2Vjb25kYXJ5LXRleHQ6ICAgICRsaWdodC1zZWNvbmRhcnktdGV4dCxcbiAgaWNvbjogICAgICAgICAgICAgIHdoaXRlLFxuICBpY29uczogICAgICAgICAgICAgd2hpdGUsXG4gIHRleHQ6ICAgICAgICAgICAgICB3aGl0ZSxcbiAgc2xpZGVyLW1pbjogICAgICAgIHdoaXRlLFxuICBzbGlkZXItb2ZmOiAgICAgICAgcmdiYSh3aGl0ZSwgMC4zKSxcbiAgc2xpZGVyLW9mZi1hY3RpdmU6IHJnYmEod2hpdGUsIDAuMyksXG4pO1xuXG4vLyBOb3RlIHRoYXQgdGhpcyBmaWxlIGlzIGNhbGxlZCBgcHJpdmF0ZWAsIGJlY2F1c2UgdGhlIEFQSXMgaW4gaXQgYXJlbid0IHB1YmxpYyB5ZXQuXG4vLyBPbmNlIHRoZXkncmUgbWFkZSBhdmFpbGFibGUsIHRoZSBjb2RlIHNob3VsZCBiZSBtb3ZlZCBvdXQgaW50byBhbiBgaW5kZXguc2Nzc2AuXG5cbi8vIFRha2VuIGZyb20gbWF0LWRlbnNpdHkgd2l0aCBzbWFsbCBtb2RpZmljYXRpb25zIHRvIG5vdCByZWx5IG9uIHRoZSBuZXcgU2FzcyBtb2R1bGVcbi8vIHN5c3RlbSwgYW5kIHRvIHN1cHBvcnQgYXJiaXRyYXJ5IHByb3BlcnRpZXMgaW4gYSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24uXG4vLyBodHRwczovL2dpdGh1Yi5jb20vbWF0ZXJpYWwtY29tcG9uZW50cy9tYXRlcmlhbC1jb21wb25lbnRzLXdlYi9ibG9iL21hc3Rlci9wYWNrYWdlcy9tZGMtZGVuc2l0eVxuXG4kX21hdC1kZW5zaXR5LWludGVydmFsOiA0cHggIWRlZmF1bHQ7XG4kX21hdC1kZW5zaXR5LW1pbmltdW0tc2NhbGU6IG1pbmltdW0gIWRlZmF1bHQ7XG4kX21hdC1kZW5zaXR5LW1heGltdW0tc2NhbGU6IG1heGltdW0gIWRlZmF1bHQ7XG4kX21hdC1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXM6IChkZWZhdWx0LCBtaW5pbXVtLCBtYXhpbXVtKSAhZGVmYXVsdDtcbiRfbWF0LWRlbnNpdHktZGVmYXVsdC1zY2FsZTogMCAhZGVmYXVsdDtcblxuLy8gV2hldGhlciBkZW5zaXR5IHNob3VsZCBiZSBnZW5lcmF0ZWQgYXQgcm9vdC4gVGhpcyB3aWxsIGJlIHRlbXBvcmFyaWx5IHNldCB0byBgdHJ1ZWBcbi8vIHdoZW5ldmVyIGRlbnNpdHkgc3R5bGVzIGZvciBsZWdhY3kgdGhlbWVzIGFyZSBnZW5lcmF0ZWQuXG4kbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1hdC1yb290OiBmYWxzZTtcbi8vIFdoZXRoZXIgZGVuc2l0eSBzdHlsZXMgc2hvdWxkIGJlIGdlbmVyYXRlZC4gVGhpcyB3aWxsIGJlIHRlbXBvcmFyaWx5IHNldCB0byBgZmFsc2VgIGlmXG4vLyBkdXBsaWNhdGUgZGVuc2l0eSBzdHlsZXMgZm9yIGEgbGVnYWN5IHRoZW1lIHdvdWxkIGJlIGdlbmVyYXRlZC4gRm9yIGxlZ2FjeSB0aGVtZXMsXG4vLyB3ZSBhbHdheXMgZ2VuZXJhdGUgdGhlIGRlZmF1bHQgZGVuc2l0eSAqKm9ubHkgb25jZSoqIGF0IHJvb3QuXG4kbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXM6IHRydWU7XG5cbi8vIE1peGluIHRoYXQgY2FuIGJlIHVzZWQgdG8gd3JhcCBkZW5zaXR5IHN0eWxlcyBvZiBnaXZlbiBjb21wb25lbnRzLiBUaGUgbWl4aW4gd2lsbFxuLy8gbW92ZSB0aGUgZGVuc2l0eSBzdHlsZXMgdG8gcm9vdCBpZiB0aGUgYCRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3RgIGdsb2JhbCB2YXJpYWJsZVxuLy8gaXMgc2V0LiBJZiBgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzYCBpcyBzZXQgdG8gYGZhbHNlYCwgZ2VuZXJhdGlvbiBvZiBkZW5zaXR5XG4vLyBzdHlsZXMgd3JhcHBlZCBpbiB0aGlzIG1peGluIGlzIHNraXBwZWQuIFRoaXMgbWl4aW4gZXhpc3RzIHRvIGltcHJvdmUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbi8vIG9mIHRoZSBuZXcgdGhlbWluZyBBUEkgd2hlcmUgZGVuc2l0eSBzdHlsZXMgYXJlIGluY2x1ZGVkIGFzIHBhcnQgb2YgdGhlbWVzLiBQcmV2aW91c2x5LFxuLy8gZGVuc2l0eSBzdHlsZXMgb2YgY29tcG9uZW50cyB3ZXJlIHBhcnQgb2YgdGhlaXIgYmFzZSBzdHlsZXMuIFdpdGggdGhlIG5ldyBBUEksIHRoZXkgYXJlXG4vLyBwYXJ0IG9mIHRoZSB0aGVtaW5nIHN5c3RlbS4gVGhlIGA8Li4+LXRoZW1lYCBtaXhpbnMgZ2VuZXJhdGUgZGVuc2l0eSBieSBkZWZhdWx0IHVubGVzc1xuLy8gdGhlIGRlbnNpdHkgY29uZmlndXJhdGlvbiBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCBhcyBwZXIgbmV3IEFQSS4gVGhpcyBtZWFucywgdGhhdCBwcm9qZWN0c1xuLy8gdXNpbmcgYDwuLj4tdGhlbWVgIG1peGlucyBmb3Igc2VwYXJhdGUgdGhlbWVzIChsaWtlIGAuZGFyay10aGVtZWApIHdpbGwgY2F1c2UgZHVwbGljYXRlXG4vLyBkZW5zaXR5IHN0eWxlcy4gVGhpcyBpcyBicmVha2luZyBhcyBpdCBpbmNyZWFzZXMgc3BlY2lmaWNpdHkgb2YgZGVuc2l0eSBzdHlsZXMuIFRoaXMgbWl4aW5cbi8vIHByb3ZpZGVzIGFuIEFQSSB0byBjb250cm9sIGdlbmVyYXRpb24gb2YgZGVuc2l0eSBzdHlsZXMgc28gdGhhdCB3ZSBjYW4gZW5zdXJlIHRoZXkgYXJlIG9ubHlcbi8vIGNyZWF0ZWQgKm9uY2UqIGFuZCBhdCByb290LlxuQG1peGluIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gIEBpZiAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXMgYW5kICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3Qge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoJGRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgJHByb3BlcnR5LW5hbWUpIHtcbiAgQGlmICh0eXBlLW9mKCRkZW5zaXR5LXNjYWxlKSA9PSAnc3RyaW5nJyBhbmRcbiAgICAgIGluZGV4KCRsaXN0OiAkX21hdC1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXMsICR2YWx1ZTogJGRlbnNpdHktc2NhbGUpID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ21hdC1kZW5zaXR5OiBTdXBwb3J0ZWQgZGVuc2l0eSBzY2FsZXMgI3skX21hdC1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXN9LCAnICArXG4gICAgICAnYnV0IHJlY2VpdmVkICN7JGRlbnNpdHktc2NhbGV9Lic7XG4gIH1cblxuICAkdmFsdWU6IG51bGw7XG4gICRwcm9wZXJ0eS1zY2FsZS1tYXA6IG1hcC1nZXQoJGRlbnNpdHktY29uZmlnLCAkcHJvcGVydHktbmFtZSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRkZW5zaXR5LXNjYWxlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRkZW5zaXR5LXNjYWxlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsIGRlZmF1bHQpICsgJGRlbnNpdHktc2NhbGUgKiAkX21hdC1kZW5zaXR5LWludGVydmFsO1xuICB9XG5cbiAgJG1pbi12YWx1ZTogbWFwLWdldCgkcHJvcGVydHktc2NhbGUtbWFwLCAkX21hdC1kZW5zaXR5LW1pbmltdW0tc2NhbGUpO1xuICAkbWF4LXZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRfbWF0LWRlbnNpdHktbWF4aW11bS1zY2FsZSk7XG5cbiAgQGlmICgkdmFsdWUgPCAkbWluLXZhbHVlIG9yICR2YWx1ZSA+ICRtYXgtdmFsdWUpIHtcbiAgICBAZXJyb3IgJ21hdC1kZW5zaXR5OiAjeyRwcm9wZXJ0eS1uYW1lfSBtdXN0IGJlIGJldHdlZW4gI3skbWluLXZhbHVlfSBhbmQgJyArXG4gICAgICAnI3skbWF4LXZhbHVlfSAoaW5jbHVzaXZlKSwgYnV0IHJlY2VpdmVkICN7JHZhbHVlfS4nO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8gV2hldGhlciBkdXBsaWNhdGlvbiB3YXJuaW5ncyBzaG91bGQgYmUgZGlzYWJsZWQuIFdhcm5pbmdzIGVuYWJsZWQgYnkgZGVmYXVsdC5cbiRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2hldGhlciBkZW5zaXR5IHNob3VsZCBiZSBnZW5lcmF0ZWQgYnkgZGVmYXVsdC5cbiRfbWF0LXRoZW1lLWdlbmVyYXRlLWRlZmF1bHQtZGVuc2l0eTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gV2FybmluZyB0aGF0IHdpbGwgYmUgcHJpbnRlZCBpZiBkdXBsaWNhdGVkIHN0eWxlcyBhcmUgZ2VuZXJhdGVkIGJ5IGEgdGhlbWUuXG4kX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZzogJ1JlYWQgbW9yZSBhYm91dCBob3cgc3R5bGUgZHVwbGljYXRpb24gY2FuIGJlIGF2b2lkZWQgaW4gYSAnICtcbiAgJ2RlZGljYXRlZCBndWlkZS4gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iL21hc3Rlci9ndWlkZXMvZHVwbGljYXRlLXRoZW1pbmctc3R5bGVzLm1kJztcblxuLy8gVGhlc2UgdmFyaWFibGUgYXJlIG5vdCBpbnRlbmRlZCB0byBiZSBvdmVycmlkZGVuIGV4dGVybmFsbHkuIFRoZXkgdXNlIGAhZGVmYXVsdGAgdG9cbi8vIGF2b2lkIGJlaW5nIHJlc2V0IGV2ZXJ5IHRpbWUgdGhpcyBmaWxlIGlzIGltcG9ydGVkLlxuJF9tYXQtdGhlbWUtZW1pdHRlZC1jb2xvcjogKCkgIWRlZmF1bHQ7XG4kX21hdC10aGVtZS1lbWl0dGVkLXR5cG9ncmFwaHk6ICgpICFkZWZhdWx0O1xuJF9tYXQtdGhlbWUtZW1pdHRlZC1kZW5zaXR5OiAoKSAhZGVmYXVsdDtcblxuLy8gRm9yIGEgZ2l2ZW4gaHVlIGluIGEgcGFsZXR0ZSwgcmV0dXJuIHRoZSBjb250cmFzdCBjb2xvciBmcm9tIHRoZSBtYXAgb2YgY29udHJhc3QgcGFsZXR0ZXMuXG4vLyBAcGFyYW0gJHBhbGV0dGVcbi8vIEBwYXJhbSAkaHVlXG5AZnVuY3Rpb24gbWF0LWNvbnRyYXN0KCRwYWxldHRlLCAkaHVlKSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRwYWxldHRlLCBjb250cmFzdCksICRodWUpO1xufVxuXG5cbi8vIENyZWF0ZXMgYSBtYXAgb2YgaHVlcyB0byBjb2xvcnMgZm9yIGEgdGhlbWUuIFRoaXMgaXMgdXNlZCB0byBkZWZpbmUgYSB0aGVtZSBwYWxldHRlIGluIHRlcm1zXG4vLyBvZiB0aGUgTWF0ZXJpYWwgRGVzaWduIGh1ZXMuXG4vLyBAcGFyYW0gJGJhc2UtcGFsZXR0ZVxuLy8gQHBhcmFtICRkZWZhdWx0XG4vLyBAcGFyYW0gJGxpZ2h0ZXJcbi8vIEBwYXJhbSAkZGFya2VyXG4vLyBAcGFyYW0gJHRleHRcbkBmdW5jdGlvbiBtYXQtcGFsZXR0ZSgkYmFzZS1wYWxldHRlLCAkZGVmYXVsdDogNTAwLCAkbGlnaHRlcjogMTAwLCAkZGFya2VyOiA3MDAsICR0ZXh0OiAkZGVmYXVsdCkge1xuICAkcmVzdWx0OiBtYXAtbWVyZ2UoJGJhc2UtcGFsZXR0ZSwgKFxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJGRlZmF1bHQpLFxuICAgIGxpZ2h0ZXI6IG1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJGxpZ2h0ZXIpLFxuICAgIGRhcmtlcjogbWFwLWdldCgkYmFzZS1wYWxldHRlLCAkZGFya2VyKSxcbiAgICB0ZXh0OiBtYXAtZ2V0KCRiYXNlLXBhbGV0dGUsICR0ZXh0KSxcblxuICAgIGRlZmF1bHQtY29udHJhc3Q6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkZGVmYXVsdCksXG4gICAgbGlnaHRlci1jb250cmFzdDogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRsaWdodGVyKSxcbiAgICBkYXJrZXItY29udHJhc3Q6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkZGFya2VyKVxuICApKTtcblxuICAvLyBGb3IgZWFjaCBodWUgaW4gdGhlIHBhbGV0dGUsIGFkZCBhIFwiLWNvbnRyYXN0XCIgY29sb3IgdG8gdGhlIG1hcC5cbiAgQGVhY2ggJGh1ZSwgJGNvbG9yIGluICRiYXNlLXBhbGV0dGUge1xuICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoXG4gICAgICAnI3skaHVlfS1jb250cmFzdCc6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkaHVlKVxuICAgICkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG5cbi8vIEdldHMgYSBjb2xvciBmcm9tIGEgdGhlbWUgcGFsZXR0ZSAodGhlIG91dHB1dCBvZiBtYXQtcGFsZXR0ZSkuXG4vLyBUaGUgaHVlIGNhbiBiZSBvbmUgb2YgdGhlIHN0YW5kYXJkIHZhbHVlcyAoNTAwLCBBNDAwLCBldGMuKSwgb25lIG9mIHRoZSB0aHJlZSBwcmVjb25maWd1cmVkXG4vLyBodWVzIChkZWZhdWx0LCBsaWdodGVyLCBkYXJrZXIpLCBvciBhbnkgb2YgdGhlIGFmb3JlbWVudGlvbmVkIHByZWZpeGVkIHdpdGggXCItY29udHJhc3RcIi5cbi8vXG4vLyBAcGFyYW0gJHBhbGV0dGUgVGhlIHRoZW1lIHBhbGV0dGUgKG91dHB1dCBvZiBtYXQtcGFsZXR0ZSkuXG4vLyBAcGFyYW0gJGh1ZSBUaGUgaHVlIGZyb20gdGhlIHBhbGV0dGUgdG8gdXNlLiBJZiB0aGlzIGlzIGEgdmFsdWUgYmV0d2VlbiAwIGFuZCAxLCBpdCB3aWxsXG4vLyAgICAgYmUgdHJlYXRlZCBhcyBvcGFjaXR5LlxuLy8gQHBhcmFtICRvcGFjaXR5IFRoZSBhbHBoYSBjaGFubmVsIHZhbHVlIGZvciB0aGUgY29sb3IuXG5AZnVuY3Rpb24gbWF0LWNvbG9yKCRwYWxldHRlLCAkaHVlOiBkZWZhdWx0LCAkb3BhY2l0eTogbnVsbCkge1xuICAvLyBJZiBodWVLZXkgaXMgYSBudW1iZXIgYmV0d2VlbiB6ZXJvIGFuZCBvbmUsIHRoZW4gaXQgYWN0dWFsbHkgY29udGFpbnMgYW5cbiAgLy8gb3BhY2l0eSB2YWx1ZSwgc28gcmVjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCB0aGUgZGVmYXVsdCBodWUgYW5kIHRoYXQgZ2l2ZW4gb3BhY2l0eS5cbiAgQGlmIHR5cGUtb2YoJGh1ZSkgPT0gbnVtYmVyIGFuZCAkaHVlID49IDAgYW5kICRodWUgPD0gMSB7XG4gICAgQHJldHVybiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQsICRodWUpO1xuICB9XG5cbiAgJGNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCAkaHVlKTtcblxuICBAaWYgKHR5cGUtb2YoJGNvbG9yKSAhPSBjb2xvcikge1xuICAgIC8vIElmIHRoZSAkY29sb3IgcmVzb2x2ZWQgdG8gc29tZXRoaW5nIGRpZmZlcmVudCBmcm9tIGEgY29sb3IgKGUuZy4gYSBDU1MgdmFyaWFibGUpLFxuICAgIC8vIHdlIGNhbid0IGFwcGx5IHRoZSBvcGFjaXR5IGFueXdheSBzbyB3ZSByZXR1cm4gdGhlIHZhbHVlIGFzIGlzLCBvdGhlcndpc2UgU2FzcyBjYW5cbiAgICAvLyB0aHJvdyBhbiBlcnJvciBvciBvdXRwdXQgc29tZXRoaW5nIGludmFsaWQuXG4gICAgQHJldHVybiAkY29sb3I7XG4gIH1cblxuICBAcmV0dXJuIHJnYmEoJGNvbG9yLCBpZigkb3BhY2l0eSA9PSBudWxsLCBvcGFjaXR5KCRjb2xvciksICRvcGFjaXR5KSk7XG59XG5cbi8vIFZhbGlkYXRlcyB0aGUgc3BlY2lmaWVkIHRoZW1lIGJ5IGVuc3VyaW5nIHRoYXQgdGhlIG9wdGlvbmFsIGNvbG9yIGNvbmZpZyBkZWZpbmVzXG4vLyBhIHByaW1hcnksIGFjY2VudCBhbmQgd2FybiBwYWxldHRlLiBSZXR1cm5zIHRoZSB0aGVtZSBpZiBubyBmYWlsdXJlcyB3ZXJlIGZvdW5kLlxuQGZ1bmN0aW9uIF9tYXQtdmFsaWRhdGUtdGhlbWUoJHRoZW1lKSB7XG4gIEBpZiBtYXAtZ2V0KCR0aGVtZSwgY29sb3IpIHtcbiAgICAkY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBjb2xvcik7XG4gICAgQGlmIG5vdCBtYXAtZ2V0KCRjb2xvciwgcHJpbWFyeSkge1xuICAgICAgQGVycm9yICdUaGVtZSBkb2VzIG5vdCBkZWZpbmUgYSB2YWxpZCBcInByaW1hcnlcIiBwYWxldHRlLic7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtZ2V0KCRjb2xvciwgYWNjZW50KSB7XG4gICAgICBAZXJyb3IgJ1RoZW1lIGRvZXMgbm90IGRlZmluZSBhIHZhbGlkIFwiYWNjZW50XCIgcGFsZXR0ZS4nO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QgbWFwLWdldCgkY29sb3IsIHdhcm4pIHtcbiAgICAgIEBlcnJvciAnVGhlbWUgZG9lcyBub3QgZGVmaW5lIGEgdmFsaWQgXCJ3YXJuXCIgcGFsZXR0ZS4nO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICR0aGVtZTtcbn1cblxuLy8gQ3JlYXRlcyBhIGxpZ2h0LXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIHNwZWNpZmllZFxuLy8gcHJpbWFyeSwgYWNjZW50IGFuZCB3YXJuIHBhbGV0dGVzLlxuQGZ1bmN0aW9uIF9tYXQtY3JlYXRlLWxpZ2h0LWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm46IG51bGwpIHtcbiAgQHJldHVybiAoXG4gICAgcHJpbWFyeTogJHByaW1hcnksXG4gICAgYWNjZW50OiAkYWNjZW50LFxuICAgIHdhcm46IGlmKCR3YXJuICE9IG51bGwsICR3YXJuLCBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpLFxuICAgIGlzLWRhcms6IGZhbHNlLFxuICAgIGZvcmVncm91bmQ6ICRtYXQtbGlnaHQtdGhlbWUtZm9yZWdyb3VuZCxcbiAgICBiYWNrZ3JvdW5kOiAkbWF0LWxpZ2h0LXRoZW1lLWJhY2tncm91bmQsXG4gICk7XG59XG5cbi8vIENyZWF0ZXMgYSBkYXJrLXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIHNwZWNpZmllZFxuLy8gcHJpbWFyeSwgYWNjZW50IGFuZCB3YXJuIHBhbGV0dGVzLlxuQGZ1bmN0aW9uIF9tYXQtY3JlYXRlLWRhcmstY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybjogbnVsbCkge1xuICBAcmV0dXJuIChcbiAgICBwcmltYXJ5OiAkcHJpbWFyeSxcbiAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgd2FybjogaWYoJHdhcm4gIT0gbnVsbCwgJHdhcm4sIG1hdC1wYWxldHRlKCRtYXQtcmVkKSksXG4gICAgaXMtZGFyazogdHJ1ZSxcbiAgICBmb3JlZ3JvdW5kOiAkbWF0LWRhcmstdGhlbWUtZm9yZWdyb3VuZCxcbiAgICBiYWNrZ3JvdW5kOiAkbWF0LWRhcmstdGhlbWUtYmFja2dyb3VuZCxcbiAgKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBvYmplY3QgZm9yIGEgbGlnaHQgdGhlbWUgdG8gYmUgZ2l2ZW4gdG8gaW5kaXZpZHVhbCBjb21wb25lbnQgdGhlbWUgbWl4aW5zLlxuLy8gVE9ETzogUmVtb3ZlIGxlZ2FjeSBBUEkgYW5kIHJlbmFtZSBgJHByaW1hcnlgIHRvIGAkY29uZmlnYC4gQ3VycmVudGx5IGl0IGNhbm5vdCBiZSByZW5hbWVkXG4vLyBhcyBpdCB3b3VsZCBicmVhayBleGlzdGluZyBhcHBzIHRoYXQgc2V0IHRoZSBwYXJhbWV0ZXIgYnkgbmFtZS5cbkBmdW5jdGlvbiBtYXQtbGlnaHQtdGhlbWUoJHByaW1hcnksICRhY2NlbnQ6IG51bGwsICR3YXJuOiBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgdGhlIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy4gQ29uc3VtZXJzXG4gIC8vIGNhbiBjb25zdHJ1Y3Qgc3VjaCBhbiBvYmplY3QgYnkgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCBvciBieSBidWlsZGluZyB0aGUgb2JqZWN0IG1hbnVhbGx5LlxuICAvLyBUaGVyZSBhcmUgdHdvIHBvc3NpYmxlIHdheXMgdG8gaW52b2tlIHRoaXMgZnVuY3Rpb24gaW4gb3JkZXIgdG8gY3JlYXRlIHN1Y2ggYW4gb2JqZWN0OlxuICAvL1xuICAvLyAgICAoMSkgUGFzc2luZyBpbiBhIG1hcCB0aGF0IGhvbGRzIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zIGZvciBpbmRpdmlkdWFsIHBhcnRzIG9mIHRoZVxuICAvLyAgICAgICAgdGhlbWluZyBzeXN0ZW0uIEZvciBgY29sb3JgIGNvbmZpZ3VyYXRpb25zLCB0aGUgZnVuY3Rpb24gb25seSBleHBlY3RzIHRoZSBwYWxldHRlc1xuICAvLyAgICAgICAgZm9yIGBwcmltYXJ5YCBhbmQgYGFjY2VudGAgKGFuZCBvcHRpb25hbGx5IGB3YXJuYCkuIFRoZSBmdW5jdGlvbiB3aWxsIGV4cGFuZCB0aGVcbiAgLy8gICAgICAgIHNob3J0aGFuZCBpbnRvIGFuIGFjdHVhbCBjb25maWd1cmF0aW9uIHRoYXQgY2FuIGJlIGNvbnN1bWVkIGluIGAtY29sb3JgIG1peGlucy5cbiAgLy8gICAgKDIpIExlZ2FjeSBwYXR0ZXJuOiBQYXNzaW5nIGluIHRoZSBwYWxldHRlcyBhcyBwYXJhbWV0ZXJzLiBUaGlzIGlzIG5vdCBhcyBmbGV4aWJsZVxuICAvLyAgICAgICAgYXMgcGFzc2luZyBpbiBhIGNvbmZpZ3VyYXRpb24gbWFwIGJlY2F1c2Ugb25seSB0aGUgYGNvbG9yYCBzeXN0ZW0gY2FuIGJlIGNvbmZpZ3VyZWQuXG4gIC8vXG4gIC8vIElmIHRoZSBsZWdhY3kgcGF0dGVybiBpcyB1c2VkLCB3ZSBnZW5lcmF0ZSBhIGNvbnRhaW5lciBvYmplY3Qgb25seSB3aXRoIGEgbGlnaHQtdGhlbWVkXG4gIC8vIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBgY29sb3JgIHRoZW1pbmcgcGFydC5cbiAgQGlmICRhY2NlbnQgIT0gbnVsbCB7XG4gICAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoX21hdC12YWxpZGF0ZS10aGVtZSgoXG4gICAgICBfaXMtbGVnYWN5LXRoZW1lOiB0cnVlLFxuICAgICAgY29sb3I6IF9tYXQtY3JlYXRlLWxpZ2h0LWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pLFxuICAgICkpKTtcbiAgfVxuICAvLyBJZiB0aGUgbWFwIHBhdHRlcm4gaXMgdXNlZCAoMSksIHdlIGp1c3QgcGFzcy10aHJvdWdoIHRoZSBjb25maWd1cmF0aW9ucyBmb3IgaW5kaXZpZHVhbFxuICAvLyBwYXJ0cyBvZiB0aGUgdGhlbWluZyBzeXN0ZW0sIGJ1dCB1cGRhdGUgdGhlIGBjb2xvcmAgY29uZmlndXJhdGlvbiBpZiBzZXQuIEFzIGV4cGxhaW5lZFxuICAvLyBhYm92ZSwgdGhlIGNvbG9yIHNob3J0aGFuZCB3aWxsIGJlIGV4cGFuZGVkIHRvIGFuIGFjdHVhbCBsaWdodC10aGVtZWQgY29sb3IgY29uZmlndXJhdGlvbi5cbiAgJHJlc3VsdDogJHByaW1hcnk7XG4gIEBpZiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcikge1xuICAgICRjb2xvci1zZXR0aW5nczogbWFwLWdldCgkcHJpbWFyeSwgY29sb3IpO1xuICAgICRwcmltYXJ5OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgcHJpbWFyeSk7XG4gICAgJGFjY2VudDogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIGFjY2VudCk7XG4gICAgJHdhcm46IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCB3YXJuKTtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKGNvbG9yOiBfbWF0LWNyZWF0ZS1saWdodC1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuKSkpO1xuICB9XG4gIEByZXR1cm4gbWF0LXByaXZhdGUtY3JlYXRlLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LXRoZW1lKF9tYXQtdmFsaWRhdGUtdGhlbWUoJHJlc3VsdCkpO1xufVxuXG4vLyBDcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgYSBkYXJrIHRoZW1lIHRvIGJlIGdpdmVuIHRvIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy5cbi8vIFRPRE86IFJlbW92ZSBsZWdhY3kgQVBJIGFuZCByZW5hbWUgYCRwcmltYXJ5YCB0byBgJGNvbmZpZ2AuIEN1cnJlbnRseSBpdCBjYW5ub3QgYmUgcmVuYW1lZFxuLy8gYXMgaXQgd291bGQgYnJlYWsgZXhpc3RpbmcgYXBwcyB0aGF0IHNldCB0aGUgcGFyYW1ldGVyIGJ5IG5hbWUuXG5AZnVuY3Rpb24gbWF0LWRhcmstdGhlbWUoJHByaW1hcnksICRhY2NlbnQ6IG51bGwsICR3YXJuOiBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgdGhlIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy4gQ29uc3VtZXJzXG4gIC8vIGNhbiBjb25zdHJ1Y3Qgc3VjaCBhbiBvYmplY3QgYnkgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCBvciBieSBidWlsZGluZyB0aGUgb2JqZWN0IG1hbnVhbGx5LlxuICAvLyBUaGVyZSBhcmUgdHdvIHBvc3NpYmxlIHdheXMgdG8gaW52b2tlIHRoaXMgZnVuY3Rpb24gaW4gb3JkZXIgdG8gY3JlYXRlIHN1Y2ggYW4gb2JqZWN0OlxuICAvL1xuICAvLyAgICAoMSkgUGFzc2luZyBpbiBhIG1hcCB0aGF0IGhvbGRzIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zIGZvciBpbmRpdmlkdWFsIHBhcnRzIG9mIHRoZVxuICAvLyAgICAgICAgdGhlbWluZyBzeXN0ZW0uIEZvciBgY29sb3JgIGNvbmZpZ3VyYXRpb25zLCB0aGUgZnVuY3Rpb24gb25seSBleHBlY3RzIHRoZSBwYWxldHRlc1xuICAvLyAgICAgICAgZm9yIGBwcmltYXJ5YCBhbmQgYGFjY2VudGAgKGFuZCBvcHRpb25hbGx5IGB3YXJuYCkuIFRoZSBmdW5jdGlvbiB3aWxsIGV4cGFuZCB0aGVcbiAgLy8gICAgICAgIHNob3J0aGFuZCBpbnRvIGFuIGFjdHVhbCBjb25maWd1cmF0aW9uIHRoYXQgY2FuIGJlIGNvbnN1bWVkIGluIGAtY29sb3JgIG1peGlucy5cbiAgLy8gICAgKDIpIExlZ2FjeSBwYXR0ZXJuOiBQYXNzaW5nIGluIHRoZSBwYWxldHRlcyBhcyBwYXJhbWV0ZXJzLiBUaGlzIGlzIG5vdCBhcyBmbGV4aWJsZVxuICAvLyAgICAgICAgYXMgcGFzc2luZyBpbiBhIGNvbmZpZ3VyYXRpb24gbWFwIGJlY2F1c2Ugb25seSB0aGUgYGNvbG9yYCBzeXN0ZW0gY2FuIGJlIGNvbmZpZ3VyZWQuXG4gIC8vXG4gIC8vIElmIHRoZSBsZWdhY3kgcGF0dGVybiBpcyB1c2VkLCB3ZSBnZW5lcmF0ZSBhIGNvbnRhaW5lciBvYmplY3Qgb25seSB3aXRoIGEgZGFyay10aGVtZWRcbiAgLy8gY29uZmlndXJhdGlvbiBmb3IgdGhlIGBjb2xvcmAgdGhlbWluZyBwYXJ0LlxuICBAaWYgJGFjY2VudCAhPSBudWxsIHtcbiAgICBAcmV0dXJuIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZShfbWF0LXZhbGlkYXRlLXRoZW1lKChcbiAgICAgIF9pcy1sZWdhY3ktdGhlbWU6IHRydWUsXG4gICAgICBjb2xvcjogX21hdC1jcmVhdGUtZGFyay1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuKSxcbiAgICApKSk7XG4gIH1cbiAgLy8gSWYgdGhlIG1hcCBwYXR0ZXJuIGlzIHVzZWQgKDEpLCB3ZSBqdXN0IHBhc3MtdGhyb3VnaCB0aGUgY29uZmlndXJhdGlvbnMgZm9yIGluZGl2aWR1YWxcbiAgLy8gcGFydHMgb2YgdGhlIHRoZW1pbmcgc3lzdGVtLCBidXQgdXBkYXRlIHRoZSBgY29sb3JgIGNvbmZpZ3VyYXRpb24gaWYgc2V0LiBBcyBleHBsYWluZWRcbiAgLy8gYWJvdmUsIHRoZSBjb2xvciBzaG9ydGhhbmQgd2lsbCBiZSBleHBhbmRlZCB0byBhbiBhY3R1YWwgZGFyay10aGVtZWQgY29sb3IgY29uZmlndXJhdGlvbi5cbiAgJHJlc3VsdDogJHByaW1hcnk7XG4gIEBpZiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcikge1xuICAgICRjb2xvci1zZXR0aW5nczogbWFwLWdldCgkcHJpbWFyeSwgY29sb3IpO1xuICAgICRwcmltYXJ5OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgcHJpbWFyeSk7XG4gICAgJGFjY2VudDogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIGFjY2VudCk7XG4gICAgJHdhcm46IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCB3YXJuKTtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKGNvbG9yOiBfbWF0LWNyZWF0ZS1kYXJrLWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pKSk7XG4gIH1cbiAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoX21hdC12YWxpZGF0ZS10aGVtZSgkcmVzdWx0KSk7XG59XG5cbi8vLyBHZXRzIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIGdpdmVuIHRoZW1lIG9yIGNvbmZpZ3VyYXRpb24uXG5AZnVuY3Rpb24gbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lLCAkZGVmYXVsdDogbnVsbCkge1xuICAvLyBJZiBhIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gcGFzc2VkLCByZXR1cm4gdGhlIGNvbmZpZyBkaXJlY3RseS5cbiAgQGlmIG5vdCBtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJHRoZW1lKSB7XG4gICAgQHJldHVybiAkdGhlbWU7XG4gIH1cbiAgLy8gSWYgdGhlIHRoZW1lIGhhcyBiZWVuIGNvbnN0cnVjdGVkIHRocm91Z2ggdGhlIGxlZ2FjeSB0aGVtaW5nIEFQSSwgd2UgdXNlIHRoZSB0aGVtZSBvYmplY3RcbiAgLy8gYXMgY29sb3IgY29uZmlndXJhdGlvbiBpbnN0ZWFkIG9mIHRoZSBkZWRpY2F0ZWQgYGNvbG9yYCBwcm9wZXJ0eS4gV2UgZG8gdGhpcyBiZWNhdXNlIGZvclxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgd2UgY29waWVkIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gYCR0aGVtZS5jb2xvcmAgdG8gYCR0aGVtZWAuXG4gIC8vIEhlbmNlIGRldmVsb3BlcnMgY291bGQgY3VzdG9taXplIHRoZSBjb2xvcnMgYXQgdG9wLWxldmVsIGFuZCB3YW50IHRvIHJlc3BlY3QgdGhlc2UgY2hhbmdlc1xuICAvLyBUT0RPOiBSZW1vdmUgd2hlbiBsZWdhY3kgdGhlbWluZyBBUEkgaXMgcmVtb3ZlZC5cbiAgQGlmIG1hdC1wcml2YXRlLWlzLWxlZ2FjeS1jb25zdHJ1Y3RlZC10aGVtZSgkdGhlbWUpIHtcbiAgICBAcmV0dXJuICR0aGVtZTtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJHRoZW1lLCBjb2xvcikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkdGhlbWUsIGNvbG9yKTtcbiAgfVxuICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG4vLy8gR2V0cyB0aGUgZGVuc2l0eSBjb25maWd1cmF0aW9uIGZyb20gdGhlIGdpdmVuIHRoZW1lIG9yIGNvbmZpZ3VyYXRpb24uXG5AZnVuY3Rpb24gbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUtb3ItY29uZmlnLCAkZGVmYXVsdDogMCkge1xuICAvLyBJZiBhIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gcGFzc2VkLCByZXR1cm4gdGhlIGNvbmZpZyBkaXJlY3RseS5cbiAgQGlmIG5vdCBtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJHRoZW1lLW9yLWNvbmZpZykge1xuICAgIEByZXR1cm4gJHRoZW1lLW9yLWNvbmZpZztcbiAgfVxuICAvLyBJbiBjYXNlIGEgdGhlbWUgaGFzIGJlZW4gcGFzc2VkLCBleHRyYWN0IHRoZSBjb25maWd1cmF0aW9uIGlmIHByZXNlbnQsXG4gIC8vIG9yIGZhbGwgYmFjayB0byB0aGUgZGVmYXVsdCBkZW5zaXR5IGNvbmZpZy5cbiAgQGlmIG1hcC1oYXMta2V5KCR0aGVtZS1vci1jb25maWcsIGRlbnNpdHkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLW9yLWNvbmZpZywgZGVuc2l0eSk7XG4gIH1cbiAgQHJldHVybiAkZGVmYXVsdDtcbn1cblxuLy8vIEdldHMgdGhlIHR5cG9ncmFwaHkgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBnaXZlbiB0aGVtZSBvciBjb25maWd1cmF0aW9uLlxuLy8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgdHlwb2dyYXBoeSBpcyBub3QgaW5jbHVkZWQgYnkgZGVmYXVsdC5cbkBmdW5jdGlvbiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZS1vci1jb25maWcsICRkZWZhdWx0OiBudWxsKSB7XG4gIC8vIElmIGEgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBwYXNzZWQsIHJldHVybiB0aGUgY29uZmlnIGRpcmVjdGx5LlxuICBAaWYgbm90IG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkdGhlbWUtb3ItY29uZmlnKSB7XG4gICAgQHJldHVybiAkdGhlbWUtb3ItY29uZmlnO1xuICB9XG4gIC8vIEluIGNhc2UgYSB0aGVtZSBoYXMgYmVlbiBwYXNzZWQsIGV4dHJhY3QgdGhlIGNvbmZpZ3VyYXRpb24gaWYgcHJlc2VudCxcbiAgLy8gb3IgZmFsbCBiYWNrIHRvIHRoZSBkZWZhdWx0IHR5cG9ncmFwaHkgY29uZmlnLlxuICBAaWYgKG1hcC1oYXMta2V5KCR0aGVtZS1vci1jb25maWcsIHR5cG9ncmFwaHkpKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1vci1jb25maWcsIHR5cG9ncmFwaHkpO1xuICB9XG4gIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cblxuLy9cbi8vIFByaXZhdGUgQVBJc1xuLy9cblxuLy8gQ2hlY2tzIGlmIGNvbmZpZ3VyYXRpb25zIHRoYXQgaGF2ZSBiZWVuIGRlY2xhcmVkIGluIHRoZSBnaXZlbiB0aGVtZSBoYXZlIGJlZW4gZ2VuZXJhdGVkXG4vLyBiZWZvcmUuIElmIHNvLCB3YXJuaW5ncyB3aWxsIGJlIHJlcG9ydGVkLiBUaGlzIHNob3VsZCBub3RpZnkgZGV2ZWxvcGVycyBpbiBjYXNlIGR1cGxpY2F0ZVxuLy8gc3R5bGVzIGFyZSBhY2NpZGVudGFsbHkgZ2VuZXJhdGVkIGR1ZSB0byB3cm9uZyB1c2FnZSBvZiB0aGUgYWxsLXRoZW1lIG1peGlucy5cbi8vXG4vLyBBZGRpdGlvbmFsbHksIHRoaXMgbWl4aW4gY29udHJvbHMgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24uIEJ5XG4vLyBkZWZhdWx0LCBkZW5zaXR5IHN0eWxlcyBhcmUgZ2VuZXJhdGVkIGF0IHNjYWxlIHplcm8uIElmIHRoZSBzYW1lIGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlXG4vLyBnZW5lcmF0ZWQgYSBzZWNvbmQgdGltZSB0aG91Z2gsIHRoZSBkZWZhdWx0IHZhbHVlIHdpbGwgY2hhbmdlIHRvIGF2b2lkIGR1cGxpY2F0ZSBzdHlsZXMuXG4vL1xuLy8gVGhlIG1peGluIGtlZXBzIHRyYWNrIG9mIGFsbCBjb25maWd1cmF0aW9ucyBpbiBhIGxpc3QgdGhhdCBpcyBzY29wZWQgdG8gdGhlIHNwZWNpZmllZFxuLy8gaWQuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgYSBnaXZlbiB0aGVtZSBjYW4gYmUgcGFzc2VkIHRvIG11bHRpcGxlIGRpc2pvaW50IHRoZW1lIG1peGluc1xuLy8gKGUuZy4gYGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWVgIGFuZCBgYW5ndWxhci1tYXRlcmlhbC1tZGMtdGhlbWVgKSB3aXRob3V0IGNhdXNpbmcgYW55XG4vLyBzdHlsZSBkdXBsaWNhdGlvbi5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZS1vci1jb2xvci1jb25maWcsICRpZCkge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICRjb2xvci1jb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICRkZW5zaXR5LWNvbmZpZzogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAkdHlwb2dyYXBoeS1jb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcbiAgLy8gTGlzdHMgb2YgcHJldmlvdXMgYGNvbG9yYCwgYGRlbnNpdHlgIGFuZCBgdHlwb2dyYXBoeWAgY29uZmlndXJhdGlvbnMuXG4gICRwcmV2aW91cy1jb2xvcjogbWFwLWdldCgkX21hdC10aGVtZS1lbWl0dGVkLWNvbG9yLCAkaWQpIG9yICgpO1xuICAkcHJldmlvdXMtdHlwb2dyYXBoeTogbWFwLWdldCgkX21hdC10aGVtZS1lbWl0dGVkLXR5cG9ncmFwaHksICRpZCkgb3IgKCk7XG4gICRwcmV2aW91cy1kZW5zaXR5OiBtYXAtZ2V0KCRfbWF0LXRoZW1lLWVtaXR0ZWQtZGVuc2l0eSwgJGlkKSBvciAoKTtcbiAgLy8gV2hldGhlciBkdXBsaWNhdGUgbGVnYWN5IGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlIGdlbmVyYXRlZC5cbiAgJGR1cGxpY2F0ZS1sZWdhY3ktZGVuc2l0eTogZmFsc2U7XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gZ2VuZXJhdGVkIGJlZm9yZS5cbiAgQGlmICRjb2xvci1jb25maWcgIT0gbnVsbCB7XG4gICAgQGlmIGluZGV4KCRwcmV2aW91cy1jb2xvciwgJGNvbG9yLWNvbmZpZykgIT0gbnVsbCBhbmRcbiAgICAgICAgbm90ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuICdUaGUgc2FtZSBjb2xvciBzdHlsZXMgYXJlIGdlbmVyYXRlZCBtdWx0aXBsZSB0aW1lcy4gJyArXG4gICAgICAgICAgJF9tYXQtdGhlbWUtZHVwbGljYXRlLXdhcm5pbmc7XG4gICAgfVxuICAgICRwcmV2aW91cy1jb2xvcjogYXBwZW5kKCRwcmV2aW91cy1jb2xvciwgJGNvbG9yLWNvbmZpZyk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgdHlwb2dyYXBoeSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIGdlbmVyYXRlZCBiZWZvcmUuXG4gIEBpZiAkdHlwb2dyYXBoeS1jb25maWcgIT0gbnVsbCB7XG4gICAgQGlmIGluZGV4KCRwcmV2aW91cy10eXBvZ3JhcGh5LCAkdHlwb2dyYXBoeS1jb25maWcpICE9IG51bGwgYW5kXG4gICAgICAgIG5vdCAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5ncyB7XG4gICAgICBAd2FybiAnVGhlIHNhbWUgdHlwb2dyYXBoeSBzdHlsZXMgYXJlIGdlbmVyYXRlZCBtdWx0aXBsZSB0aW1lcy4gJyArXG4gICAgICAgICAgJF9tYXQtdGhlbWUtZHVwbGljYXRlLXdhcm5pbmc7XG4gICAgfVxuICAgICRwcmV2aW91cy10eXBvZ3JhcGh5OiBhcHBlbmQoJHByZXZpb3VzLXR5cG9ncmFwaHksICR0eXBvZ3JhcGh5LWNvbmZpZyk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgZGVuc2l0eSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIGdlbmVyYXRlZCBiZWZvcmUuXG4gIEBpZiAkZGVuc2l0eS1jb25maWcgIT0gbnVsbCB7XG4gICAgQGlmIGluZGV4KCRwcmV2aW91cy1kZW5zaXR5LCAkZGVuc2l0eS1jb25maWcpICE9IG51bGwge1xuICAgICAgLy8gT25seSByZXBvcnQgYSB3YXJuaW5nIGlmIGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlIGR1cGxpY2F0ZWQgZm9yIG5vbi1sZWdhY3kgdGhlbWVcbiAgICAgIC8vIGRlZmluaXRpb25zLiBGb3IgbGVnYWN5IHRoZW1lcywgd2UgaGF2ZSBjb21wYXRpYmlsaXR5IGxvZ2ljIHRoYXQgYXZvaWRzIGR1cGxpY2F0aW9uXG4gICAgICAvLyBvZiBkZWZhdWx0IGRlbnNpdHkgc3R5bGVzLiBXZSBkb24ndCB3YW50IHRvIHJlcG9ydCBhIHdhcm5pbmcgaW4gdGhvc2UgY2FzZXMuXG4gICAgICBAaWYgbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR0aGVtZSkge1xuICAgICAgICAkZHVwbGljYXRlLWxlZ2FjeS1kZW5zaXR5OiB0cnVlO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgbm90ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzIHtcbiAgICAgICAgQHdhcm4gJ1RoZSBzYW1lIGRlbnNpdHkgc3R5bGVzIGFyZSBnZW5lcmF0ZWQgbXVsdGlwbGUgdGltZXMuICcgK1xuICAgICAgICAgICAkX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZztcbiAgICAgIH1cbiAgICB9XG4gICAgJHByZXZpb3VzLWRlbnNpdHk6IGFwcGVuZCgkcHJldmlvdXMtZGVuc2l0eSwgJGRlbnNpdHktY29uZmlnKTtcbiAgfVxuXG4gICRfbWF0LXRoZW1lLWVtaXR0ZWQtY29sb3I6IG1hcC1tZXJnZShcbiAgICAgICRfbWF0LXRoZW1lLWVtaXR0ZWQtY29sb3IsICgkaWQ6ICRwcmV2aW91cy1jb2xvcikpICFnbG9iYWw7XG4gICRfbWF0LXRoZW1lLWVtaXR0ZWQtZGVuc2l0eTogbWFwLW1lcmdlKFxuICAgICAgJF9tYXQtdGhlbWUtZW1pdHRlZC1kZW5zaXR5LCAoJGlkOiAkcHJldmlvdXMtZGVuc2l0eSkpICFnbG9iYWw7XG4gICRfbWF0LXRoZW1lLWVtaXR0ZWQtdHlwb2dyYXBoeTogbWFwLW1lcmdlKFxuICAgICAgJF9tYXQtdGhlbWUtZW1pdHRlZC10eXBvZ3JhcGh5LCAoJGlkOiAkcHJldmlvdXMtdHlwb2dyYXBoeSkpICFnbG9iYWw7XG5cbiAgLy8gT3B0aW9uYWxseSwgY29uc3VtZXJzIG9mIHRoaXMgbWl4aW4gY2FuIHdyYXAgY29udGVudHMgaW5zaWRlIHNvIHRoYXQgbmVzdGVkXG4gIC8vIGR1cGxpY2F0ZSBzdHlsZSBjaGVja3MgZG8gbm90IHJlcG9ydCBhbm90aGVyIHdhcm5pbmcuIGUuZy4gaWYgZGV2ZWxvcGVycyBpbmNsdWRlXG4gIC8vIHRoZSBgYW5ndWxhci1tYXRlcmlhbC10aGVtZWAgbWl4aW4gdHdpY2UsIG9ubHkgdGhlIHRvcC1sZXZlbCBkdXBsaWNhdGUgc3R5bGVzIGNoZWNrXG4gIC8vIHNob3VsZCByZXBvcnQgYSB3YXJuaW5nLiBOb3QgYWxsIGluZGl2aWR1YWwgY29tcG9uZW50cyBzaG91bGQgcmVwb3J0IGEgd2FybmluZyB0b28uXG4gICRvcmlnLW1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3M6ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzO1xuICAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5nczogdHJ1ZSAhZ2xvYmFsO1xuXG4gIC8vIElmIGR1cGxpY2F0ZSBkZWZhdWx0IGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlIGdlbmVyYXRlZCBmb3IgYSBsZWdhY3kgY29uc3RydWN0ZWQgdGhlbWUsXG4gIC8vIHdlIGFkanVzdCB0aGUgZGVuc2l0eSBnZW5lcmF0aW9uIHNvIHRoYXQgbm8gZGVuc2l0eSBzdHlsZXMgYXJlIGdlbmVyYXRlZCBieSBkZWZhdWx0LlxuICAvLyBJZiBubyBkZWZhdWx0IGRlbnNpdHkgc3R5bGVzIGhhdmUgYmVlbiBnZW5lcmF0ZWQgeWV0LCB3ZSBlbnN1cmUgdGhhdCB0aGUgc3R5bGVzXG4gIC8vIGFyZSBnZW5lcmF0ZWQgYXQgcm9vdC4gRm9yIGxlZ2FjeSB0aGVtZXMgb3VyIGdvYWwgaXMgdG8gZ2VuZXJhdGUgZGVmYXVsdCBkZW5zaXR5XG4gIC8vIHN0eWxlcyAqKm9uY2UqKiBhbmQgYXQgcm9vdC4gVGhpcyBtYXRjaGVzIHRoZSBvbGQgYmVoYXZpb3Igd2hlcmUgZGVuc2l0eSBzdHlsZXMgd2VyZVxuICAvLyBwYXJ0IG9mIHRoZSBiYXNlIGNvbXBvbmVudCBzdHlsZXMgKHRoYXQgZGlkIG5vdCB1c2UgdmlldyBlbmNhcHN1bGF0aW9uKS5cbiAgLy8gVE9ETzogUmVtb3ZlIHRoaXMgY29tcGF0aWJpbGl0eSBsb2dpYyB3aGVuIHRoZSBsZWdhY3kgdGhlbWluZyBBUEkgaXMgcmVtb3ZlZC5cbiAgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdDogbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR0aGVtZSkgIWdsb2JhbDtcbiAgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzOiBub3QgJGR1cGxpY2F0ZS1sZWdhY3ktZGVuc2l0eSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuICAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5nczogJG9yaWctbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5ncyAhZ2xvYmFsO1xuXG4gICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3Q6IGZhbHNlICFnbG9iYWw7XG4gICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlczogdHJ1ZSAhZ2xvYmFsO1xufVxuXG4vLyBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gdmFsdWUgcmVzb2x2ZXMgdG8gYSB0aGVtZSBvYmplY3QuIFRoZW1lIG9iamVjdHMgYXJlIGFsd2F5c1xuLy8gb2YgdHlwZSBgbWFwYCBhbmQgY2FuIG9wdGlvbmFsbHkgb25seSBzcGVjaWZ5IGBjb2xvcmAsIGBkZW5zaXR5YCBvciBgdHlwb2dyYXBoeWAuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSA9PSAnbWFwJyBhbmQgKFxuICAgIG1hcC1oYXMta2V5KCR2YWx1ZSwgY29sb3IpIG9yXG4gICAgbWFwLWhhcy1rZXkoJHZhbHVlLCBkZW5zaXR5KSBvclxuICAgIG1hcC1oYXMta2V5KCR2YWx1ZSwgdHlwb2dyYXBoeSkgb3JcbiAgICBsZW5ndGgoJHZhbHVlKSA9PSAwXG4gICk7XG59XG5cbi8vIENoZWNrcyB3aGV0aGVyIGEgZ2l2ZW4gdmFsdWUgY29ycmVzcG9uZHMgdG8gYSBsZWdhY3kgY29uc3RydWN0ZWQgdGhlbWUuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSA9PSAnbWFwJyBhbmQgbWFwLWdldCgkdmFsdWUsICdfaXMtbGVnYWN5LXRoZW1lJyk7XG59XG5cbi8vIENyZWF0ZXMgYSBiYWNrd2FyZHMgY29tcGF0aWJsZSB0aGVtZS4gUHJldmlvdXNseSBpbiBBbmd1bGFyIE1hdGVyaWFsLCB0aGVtZSBvYmplY3RzXG4vLyBjb250YWluZWQgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkuIFdpdGggdGhlIHJlY2VudCByZWZhY3RvcmluZyBvZiB0aGUgdGhlbWluZ1xuLy8gc3lzdGVtIHRvIGFsbG93IGZvciBkZW5zaXR5IGFuZCB0eXBvZ3JhcGh5IGNvbmZpZ3VyYXRpb25zLCB0aGlzIGlzIG5vIGxvbmdlciB0aGUgY2FzZS5cbi8vIFRvIGVuc3VyZSB0aGF0IGNvbnN0cnVjdGVkIHRoZW1lcyB3aGljaCB3aWxsIGJlIHBhc3NlZCB0byBjdXN0b20gdGhlbWUgbWl4aW5zIGRvIG5vdCBicmVhayxcbi8vIHdlIGNvcHkgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gYW5kIHB1dCBpdHMgcHJvcGVydGllcyBhdCB0aGUgdG9wLWxldmVsIG9mIHRoZSB0aGVtZSBvYmplY3QuXG4vLyBIZXJlIGlzIGFuIGV4YW1wbGUgb2YgYSBwYXR0ZXJuIHRoYXQgc2hvdWxkIHN0aWxsIHdvcmsgdW50aWwgaXQncyBvZmZpY2lhbGx5IG1hcmtlZCBhcyBhXG4vLyBicmVha2luZyBjaGFuZ2U6XG4vL1xuLy8gICAgQG1peGluIG15LWN1c3RvbS1jb21wb25lbnQtdGhlbWUoJHRoZW1lKSB7XG4vLyAgICAgIC5teS1jb21wIHtcbi8vICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IobWFwLWdldCgkdGhlbWUsIHByaW1hcnkpKTtcbi8vICAgICAgfVxuLy8gICAgfVxuLy9cbi8vIE5vdGUgdGhhdCB0aGUgYCR0aGVtZS5wcmltYXJ5YCBrZXkgZG9lcyB1c3VhbGx5IG5vdCBleGlzdCBzaW5jZSB0aGUgY29sb3IgY29uZmlndXJhdGlvblxuLy8gaXMgc3RvcmVkIGluIGAkdGhlbWUuY29sb3JgIHdoaWNoIGNvbnRhaW5zIGEgcHJvcGVydHkgZm9yIGBwcmltYXJ5YC4gVGhpcyBtZXRob2QgY29waWVzXG4vLyB0aGUgbWFwIGZyb20gYCR0aGVtZS5jb2xvcmAgdG8gYCR0aGVtZWAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZSgkdGhlbWUpIHtcbiAgQGlmIG5vdCBtYXAtZ2V0KCR0aGVtZSwgY29sb3IpIHtcbiAgICBAcmV0dXJuICR0aGVtZTtcbiAgfVxuICAkY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBjb2xvcik7XG4gIEByZXR1cm4gbWFwLW1lcmdlKCR0aGVtZSwgJGNvbG9yKTtcbn1cblxuLy8gR2V0cyB0aGUgdGhlbWUgZnJvbSB0aGUgZ2l2ZW4gdmFsdWUgdGhhdCBpcyBlaXRoZXIgYWxyZWFkeSBhIHRoZW1lLCBvciBhIGNvbG9yIGNvbmZpZ3VyYXRpb24uXG4vLyBUaGlzIGhhbmRsZXMgdGhlIGxlZ2FjeSBjYXNlIHdoZXJlIGRldmVsb3BlcnMgcGFzcyBhIGNvbG9yIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkgdG8gdGhlXG4vLyB0aGVtZSBtaXhpbi4gQmVmb3JlIHdlIGludHJvZHVjZWQgdGhlIG5ldyBwYXR0ZXJuIGZvciBjb25zdHJ1Y3RpbmcgYSB0aGVtZSwgZGV2ZWxvcGVycyBwYXNzZWRcbi8vIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGRpcmVjdGx5IHRvIHRoZSB0aGVtZSBtaXhpbnMuIFRoaXMgY2FuIGJlIHN0aWxsIHRoZSBjYXNlIGlmIGRldmVsb3BlcnNcbi8vIGNvbnN0cnVjdCBhIHRoZW1lIG1hbnVhbGx5IGFuZCBwYXNzIGl0IHRvIGEgdGhlbWUuIFdlIHN1cHBvcnQgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4vLyBUT0RPKGRldnZlcnNpb24pOiByZW1vdmUgdGhpcyBpbiB0aGUgZnV0dXJlLiBDb25zdHJ1Y3RpbmcgdGhlbWVzIG1hbnVhbGx5IGlzIHJhcmUsXG4vLyBhbmQgdGhlIGNvZGUgY2FuIGJlIGVhc2lseSB1cGRhdGVkIHRvIHRoZSBuZXcgQVBJLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICBAaWYgbWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgICBAcmV0dXJuICR0aGVtZS1vci1jb2xvci1jb25maWc7XG4gIH1cbiAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoKFxuICAgIF9pcy1sZWdhY3ktdGhlbWU6IHRydWUsXG4gICAgY29sb3I6ICR0aGVtZS1vci1jb2xvci1jb25maWdcbiAgKSk7XG59XG5cblxuXG4kbWF0LXJpcHBsZS1jb2xvci1vcGFjaXR5OiAwLjE7XG5cbkBtaXhpbiBtYXQtcmlwcGxlKCkge1xuXG4gIC8vIFRoZSBob3N0IGVsZW1lbnQgb2YgYW4gbWF0LXJpcHBsZSBkaXJlY3RpdmUgc2hvdWxkIGFsd2F5cyBoYXZlIGEgcG9zaXRpb24gb2YgXCJhYnNvbHV0ZVwiIG9yXG4gIC8vIFwicmVsYXRpdmVcIiBzbyB0aGF0IHRoZSByaXBwbGVzIGluc2lkZSBhcmUgY29ycmVjdGx5IHBvc2l0aW9uZWQgcmVsYXRpdmVseSB0byB0aGUgY29udGFpbmVyLlxuICAubWF0LXJpcHBsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIEJ5IGRlZmF1bHQsIGV2ZXJ5IHJpcHBsZSBjb250YWluZXIgc2hvdWxkIGhhdmUgcG9zaXRpb246IHJlbGF0aXZlIGluIGZhdm9yIG9mIGNyZWF0aW5nIGFuXG4gICAgLy8gZWFzeSBBUEkgZm9yIGRldmVsb3BlcnMgdXNpbmcgdGhlIE1hdFJpcHBsZSBkaXJlY3RpdmUuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gUHJvbW90ZSBjb250YWluZXJzIHRoYXQgaGF2ZSByaXBwbGVzIHRvIGEgbmV3IGxheWVyLiBXZSB3YW50IHRvIHRhcmdldCBgOm5vdCg6ZW1wdHkpYCxcbiAgICAvLyBiZWNhdXNlIHdlIGRvbid0IHdhbnQgYWxsIHJpcHBsZSBjb250YWluZXJzIHRvIGhhdmUgdGhlaXIgb3duIGxheWVyIHNpbmNlIHRoZXkncmUgdXNlZCBpbiBhXG4gICAgLy8gbG90IG9mIHBsYWNlcyBhbmQgdGhlIGxheWVyIGlzIG9ubHkgcmVsZXZhbnQgd2hpbGUgYW5pbWF0aW5nLiBOb3RlIHRoYXQgaWRlYWxseSB3ZSdkIHVzZVxuICAgIC8vIHRoZSBgY29udGFpbmAgcHJvcGVydHkgaGVyZSAoc2VlICMxMzE3NSksIGJlY2F1c2UgYDplbXB0eWAgY2FuIGJlIGJyb2tlbiBieSBoYXZpbmcgZXh0cmFcbiAgICAvLyB0ZXh0IGluc2lkZSB0aGUgZWxlbWVudCwgYnV0IGl0IGlzbid0IHZlcnkgd2VsbCBzdXBwb3J0ZWQgeWV0LlxuICAgICY6bm90KDplbXB0eSkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCB0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG5cbiAgICAvLyBJbiBoaWdoIGNvbnRyYXN0IG1vZGUgdGhlIHJpcHBsZSBpcyBvcGFxdWUsIGNhdXNpbmcgaXQgdG8gb2JzdHJ1Y3QgdGhlIGNvbnRlbnQuXG4gICAgQGluY2x1ZGUgY2RrLWhpZ2gtY29udHJhc3QoYWN0aXZlLCBvZmYpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIENvbG9ycyBmb3IgdGhlIHJpcHBsZSBlbGVtZW50cy4qL1xuQG1peGluIG1hdC1yaXBwbGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRmb3JlZ3JvdW5kLWJhc2U6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIC8vIElmIHRoZSByaXBwbGUgY29sb3IgaXMgcmVzb2x2ZXMgdG8gYSBjb2xvciAqdHlwZSosIHdlIGNhbiB1c2UgaXQgZGlyZWN0bHksIG90aGVyd2lzZVxuICAgIC8vIChlLmcuIGl0IHJlc29sdmVzIHRvIGEgQ1NTIHZhcmlhYmxlKSB3ZSBmYWxsIGJhY2sgdG8gdXNpbmcgdGhlIGNvbG9yIGFuZCBzZXR0aW5nIGFuIG9wYWNpdHkuXG4gICAgQGlmICh0eXBlLW9mKCRmb3JlZ3JvdW5kLWJhc2UpID09IGNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRmb3JlZ3JvdW5kLWJhc2UsICRtYXQtcmlwcGxlLWNvbG9yLW9wYWNpdHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9yZWdyb3VuZC1iYXNlO1xuICAgICAgb3BhY2l0eTogJG1hdC1yaXBwbGUtY29sb3Itb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1yaXBwbGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXJpcHBsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1yaXBwbGUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUaGlzIG1peGluIGVuc3VyZXMgYW4gZWxlbWVudCBzcGFucyB0byBmaWxsIHRoZSBuZWFyZXN0IGFuY2VzdG9yIHdpdGggZGVmaW5lZCBwb3NpdGlvbmluZy5cbkBtaXhpbiBtYXQtZmlsbCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5cbi8vLyBNaXhpbiB0aGF0IHR1cm5zIG9uIHN0cm9uZyBmb2N1cyBpbmRpY2F0b3JzLlxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgIC5teS1hcHAge1xuLy8vICAgICBAaW5jbHVkZSBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMoJGNvbmZpZyk7XG4vLy8gICB9XG5AbWl4aW4gbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzKCRjb25maWc6ICgpKSB7XG4gIC8vIERlZmF1bHQgZm9jdXMgaW5kaWNhdG9yIGNvbmZpZy5cbiAgJGRlZmF1bHQtY29uZmlnOiAoXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZCxcbiAgICBib3JkZXItd2lkdGg6IDNweCxcbiAgICBib3JkZXItcmFkaXVzOiA0cHgsXG4gICk7XG5cbiAgLy8gTWVyZ2UgZGVmYXVsdCBjb25maWcgd2l0aCB1c2VyIGNvbmZpZy5cbiAgJGNvbmZpZzogbWFwLW1lcmdlKCRkZWZhdWx0LWNvbmZpZywgJGNvbmZpZyk7XG4gICRib3JkZXItc3R5bGU6IG1hcC1nZXQoJGNvbmZpZywgYm9yZGVyLXN0eWxlKTtcbiAgJGJvcmRlci13aWR0aDogbWFwLWdldCgkY29uZmlnLCBib3JkZXItd2lkdGgpO1xuICAkYm9yZGVyLXJhZGl1czogbWFwLWdldCgkY29uZmlnLCBib3JkZXItcmFkaXVzKTtcblxuICAvLyBCYXNlIHN0eWxlcyBmb3IgZm9jdXMgaW5kaWNhdG9ycy5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWF0LWZpbGwoKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCAkYm9yZGVyLXN0eWxlIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLy8gQnkgZGVmYXVsdCwgYWxsIGZvY3VzIGluZGljYXRvcnMgYXJlIGZsdXNoIHdpdGggdGhlIGJvdW5kaW5nIGJveCBvZiB0aGVpclxuICAvLyBob3N0IGVsZW1lbnQuIEZvciBwYXJ0aWN1bGFyIGVsZW1lbnRzIChsaXN0ZWQgYmVsb3cpLCBkZWZhdWx0IGluc2V0L29mZnNldFxuICAvLyB2YWx1ZXMgYXJlIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgZm9jdXMgaW5kaWNhdG9yIGlzIHN1ZmZpY2llbnRseVxuICAvLyBjb250cmFzdGl2ZSBhbmQgcmVuZGVycyBhcHByb3ByaWF0ZWx5LlxuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1mbGF0LWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtcmFpc2VkLWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtZmFiOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1taW5pLWZhYjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtY2hpcDo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyOjpiZWZvcmUge1xuICAgIG1hcmdpbjogLSgkYm9yZGVyLXdpZHRoICsgMnB4KTtcbiAgfVxuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1zdHJva2VkLWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiAtKCRib3JkZXItd2lkdGggKyAzcHgpO1xuICB9XG5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LXRhYi1saW5rOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC10YWItbGFiZWw6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiA1cHg7XG4gIH1cblxuICAvLyBSZW5kZXIgdGhlIGZvY3VzIGluZGljYXRvciBvbiBmb2N1cy4gRGVmaW5pbmcgYSBwc2V1ZG8gZWxlbWVudCdzXG4gIC8vIGNvbnRlbnQgd2lsbCBjYXVzZSBpdCB0byByZW5kZXIuXG5cbiAgLy8gQ2hlY2tib3hlcywgcmFkaW9zLCBhbmQgc2xpZGUgdG9nZ2xlcyByZW5kZXIgZm9jdXMgaW5kaWNhdG9ycyB3aGVuIHRoZVxuICAvLyBhc3NvY2lhdGVkIHZpc3VhbGx5LWhpZGRlbiBpbnB1dCBpcyBmb2N1c2VkLlxuICAubWF0LWNoZWNrYm94LWlucHV0OmZvY3VzIH4gLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcbiAgLm1hdC1yYWRpby1pbnB1dDpmb2N1cyB+IC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG4gIC5tYXQtc2xpZGUtdG9nZ2xlLWlucHV0OmZvY3VzIH4gLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG5cbiAgLy8gRm9yIG9wdGlvbnMsIHJlbmRlciB0aGUgZm9jdXMgaW5kaWNhdG9yIHdoZW4gdGhlIGNsYXNzIC5tYXQtYWN0aXZlXG4gIC8vIGlzIHByZXNlbnQuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1vcHRpb24ubWF0LWFjdGl2ZTo6YmVmb3JlLFxuXG4gIC8vIEZvciBjYWxlbmRhciBjZWxscywgcmVuZGVyIHRoZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgcGFyZW50IGNlbGwgaXNcbiAgLy8gZm9jdXNlZC5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6Zm9jdXMgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcblxuICAvLyBGb3IgYWxsIG90aGVyIGNvbXBvbmVudHMsIHJlbmRlciB0aGUgZm9jdXMgaW5kaWNhdG9yIG9uIGZvY3VzLlxuICAubWF0LWZvY3VzLWluZGljYXRvcjpmb2N1czo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4vLyBNaXhpbiB0aGF0IGFwcGxpZXMgdGhlIGJvcmRlciBjb2xvciBmb3IgdGhlIGZvY3VzIGluZGljYXRvcnMuXG5AbWl4aW4gX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IoJGNvbG9yKSB7XG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgQGluY2x1ZGUgX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IobWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSkpKTtcbn1cblxuLy8vIE1peGluIHRoYXQgc2V0cyB0aGUgY29sb3Igb2YgdGhlIGZvY3VzIGluZGljYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge2NvbG9yfG1hcH0gJHRoZW1lLW9yLWNvbG9yXG4vLy8gICBJZiB0aGVtZSwgZm9jdXMgaW5kaWNhdG9ycyBhcmUgc2V0IHRvIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSB0aGVtZS4gSWZcbi8vLyAgIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3JzIGFyZSBzZXQgdG8gdGhhdCBjb2xvci5cbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gICAuZGVtby1kYXJrLXRoZW1lIHtcbi8vLyAgICAgQGluY2x1ZGUgbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lKCRkYXJrLXRoZW1lLW1hcCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vICAgLmRlbW8tcmVkLXRoZW1lIHtcbi8vLyAgICAgQGluY2x1ZGUgbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lKCNmMDApO1xuLy8vICAgfVxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1hdGVyaWFsL3RoZW1lLW1peGluLWFwaSAqL1xuQG1peGluIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy10aGVtZSgkdGhlbWUtb3ItY29sb3IpIHtcbiAgQGlmIHR5cGUtb2YoJHRoZW1lLW9yLWNvbG9yKSAhPSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IoJHRoZW1lLW9yLWNvbG9yKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvcik7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMnKSB7XG4gICAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgICBAaW5jbHVkZSBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtY29sb3IoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gdGhhdCBlbnN1cmVzIGZvY3VzIGluZGljYXRvciBob3N0IGVsZW1lbnRzIGFyZSBwb3NpdGlvbmVkIHNvIHRoYXQgdGhlIGZvY3VzIGluZGljYXRvclxuLy8gcHNldWRvIGVsZW1lbnQgd2l0aGluIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGhvc3QuIFByaXZhdGUgbWl4aW4gaW5jbHVkZWQgd2l0aGluXG4vLyBgbWF0LWNvcmVgLlxuQG1peGluIG1hdC1wcml2YXRlLXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXBvc2l0aW9uaW5nKCkge1xuICAubWF0LWZvY3VzLWluZGljYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cblxuXG4vLyBVdGlsaXR5IGZvciBmZXRjaGluZyBhIG5lc3RlZCB2YWx1ZSBmcm9tIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsICRuYW1lKSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb25maWcsICRsZXZlbCksICRuYW1lKTtcbn1cblxuLy8gR2V0cyB0aGUgZm9udCBzaXplIGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1mb250LXNpemUoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGZvbnQtc2l6ZSk7XG59XG5cbi8vIEdldHMgdGhlIGxpbmUgaGVpZ2h0IGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCAkbGV2ZWwpIHtcbiAgQHJldHVybiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgbGluZS1oZWlnaHQpO1xufVxuXG4vLyBHZXRzIHRoZSBmb250IHdlaWdodCBmb3IgYSBsZXZlbCBpbnNpZGUgYSB0eXBvZ3JhcGh5IGNvbmZpZy5cbkBmdW5jdGlvbiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGZvbnQtd2VpZ2h0KTtcbn1cblxuLy8gR2V0cyB0aGUgbGV0dGVyIHNwYWNpbmcgZm9yIGEgbGV2ZWwgaW5zaWRlIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gbWF0LWxldHRlci1zcGFjaW5nKCRjb25maWcsICRsZXZlbCkge1xuICBAcmV0dXJuIF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBsZXR0ZXItc3BhY2luZyk7XG59XG5cbi8vIEdldHMgdGhlIGZvbnQtZmFtaWx5IGZyb20gYSB0eXBvZ3JhcGh5IGNvbmZpZyBhbmQgcmVtb3ZlcyB0aGUgcXVvdGVzIGFyb3VuZCBpdC5cbkBmdW5jdGlvbiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgJGxldmVsOiBudWxsKSB7XG4gICRmb250LWZhbWlseTogbWFwLWdldCgkY29uZmlnLCBmb250LWZhbWlseSk7XG5cbiAgQGlmICRsZXZlbCAhPSBudWxsIHtcbiAgICAkZm9udC1mYW1pbHk6IF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBmb250LWZhbWlseSk7XG4gIH1cblxuICAvLyBHdWFyZCBhZ2FpbnN0IHVucXVvdGluZyBub24tc3RyaW5nIHZhbHVlcywgYmVjYXVzZSBpdCdzIGRlcHJlY2F0ZWQuXG4gIEByZXR1cm4gaWYodHlwZS1vZigkZm9udC1mYW1pbHkpID09IHN0cmluZywgdW5xdW90ZSgkZm9udC1mYW1pbHkpLCAkZm9udC1mYW1pbHkpO1xufVxuXG4vLyBPdXRwdXRzIHRoZSBzaG9ydGhhbmQgYGZvbnRgIENTUyBwcm9wZXJ0eSwgYmFzZWQgb24gYSBzZXQgb2YgdHlwb2dyYXBoeSB2YWx1ZXMuIEZhbGxzIGJhY2sgdG9cbi8vIHRoZSBpbmRpdmlkdWFsIHByb3BlcnRpZXMgaWYgYSB2YWx1ZSB0aGF0IGlzbid0IGFsbG93ZWQgaW4gdGhlIHNob3J0aGFuZCBpcyBwYXNzZWQgaW4uXG5AbWl4aW4gbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoJGZvbnQtc2l6ZSwgJGZvbnQtd2VpZ2h0LCAkbGluZS1oZWlnaHQsICRmb250LWZhbWlseSkge1xuICAvLyBJZiBhbnkgb2YgdGhlIHZhbHVlcyBhcmUgc2V0IHRvIGBpbmhlcml0YCwgd2UgY2FuJ3QgdXNlIHRoZSBzaG9ydGhhbmRcbiAgLy8gc28gd2UgZmFsbCBiYWNrIHRvIHBhc3NpbmcgaW4gdGhlIGluZGl2aWR1YWwgcHJvcGVydGllcy5cbiAgQGlmICgkZm9udC1zaXplID09IGluaGVyaXQgb3JcbiAgICAgICAkZm9udC13ZWlnaHQgPT0gaW5oZXJpdCBvclxuICAgICAgICRsaW5lLWhlaWdodCA9PSBpbmhlcml0IG9yXG4gICAgICAgJGZvbnQtZmFtaWx5ID09IGluaGVyaXQgb3JcbiAgICAgICAkZm9udC1zaXplID09IG51bGwgb3JcbiAgICAgICAkZm9udC13ZWlnaHQgPT0gbnVsbCBvclxuICAgICAgICRsaW5lLWhlaWdodCA9PSBudWxsIG9yXG4gICAgICAgJGZvbnQtZmFtaWx5ID09IG51bGwpIHtcblxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gT3RoZXJ3aXNlIHVzZSB0aGUgc2hvcnRoYW5kIGBmb250YCwgYmVjYXVzZSBpdCdzIHRoZSBsZWFzdCBhbW91bnQgb2YgYnl0ZXMuIE5vdGVcbiAgICAvLyB0aGF0IHdlIG5lZWQgdG8gdXNlIGludGVycG9sYXRpb24gZm9yIGBmb250LXNpemUvbGluZS1oZWlnaHRgIGluIG9yZGVyIHRvIHByZXZlbnRcbiAgICAvLyBTYXNzIGZyb20gZGl2aWRpbmcgdGhlIHR3byB2YWx1ZXMuXG4gICAgZm9udDogJGZvbnQtd2VpZ2h0ICN7JGZvbnQtc2l6ZX0vI3skbGluZS1oZWlnaHR9ICRmb250LWZhbWlseTtcbiAgfVxufVxuXG4vLyBDb252ZXJ0cyBhIHR5cG9ncmFwaHkgbGV2ZWwgaW50byBDU1Mgc3R5bGVzLlxuQG1peGluIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCAkbGV2ZWwpIHtcbiAgJGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCAkbGV2ZWwpO1xuICAkZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCAkbGV2ZWwpO1xuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCAkbGV2ZWwpO1xuICAkZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCAkbGV2ZWwpO1xuXG4gIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWZvbnQtc2hvcnRoYW5kKCRmb250LXNpemUsICRmb250LXdlaWdodCwgJGxpbmUtaGVpZ2h0LCAkZm9udC1mYW1pbHkpO1xuICBsZXR0ZXItc3BhY2luZzogbWF0LWxldHRlci1zcGFjaW5nKCRjb25maWcsICRsZXZlbCk7XG59XG5cblxuQG1peGluIG1hdC1vcHRpb24tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcblxuICAubWF0LW9wdGlvbiB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gICAgJjpmb2N1czpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICAgIH1cblxuICAgIC8vIEluIG11bHRpcGxlIG1vZGUgdGhlcmUgaXMgYSBjaGVja2JveCB0byBzaG93IHRoYXQgdGhlIG9wdGlvbiBpcyBzZWxlY3RlZC5cbiAgICAmLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgfVxuXG4gICAgJi5tYXQtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuXG4gICAgJi5tYXQtb3B0aW9uLWRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1wcmltYXJ5IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtYWNjZW50IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC13YXJuIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1vcHRpb24ge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBzdWJoZWFkaW5nLTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1vcHRpb24tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LW9wdGlvbi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtb3B0aW9uJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGlvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LW9wdGlvbi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LW9wdGdyb3VwLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtb3B0Z3JvdXAtbGFiZWwge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtb3B0Z3JvdXAtZGlzYWJsZWQgLm1hdC1vcHRncm91cC1sYWJlbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LW9wdGdyb3VwLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LW9wdGdyb3VwLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1vcHRncm91cC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtb3B0Z3JvdXAtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LW9wdGdyb3VwJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGdyb3VwLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtb3B0Z3JvdXAtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1vcHRncm91cC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbkBtaXhpbiBtYXQtcHNldWRvLWNoZWNrYm94LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLy8gTk9URSh0cmF2aXNrYXVmbWFuKTogV2hpbGUgdGhlIHNwZWMgY2FsbHMgZm9yIHRyYW5zbHVjZW50IGJsYWNrcy93aGl0ZXMgZm9yIGRpc2FibGVkIGNvbG9ycyxcbiAgLy8gdGhpcyBkb2VzIG5vdCB3b3JrIHdlbGwgd2l0aCBlbGVtZW50cyBsYXllcmVkIG9uIHRvcCBvZiBvbmUgYW5vdGhlci4gVG8gZ2V0IGFyb3VuZCB0aGlzIHdlXG4gIC8vIGJsZW5kIHRoZSBjb2xvcnMgdG9nZXRoZXIgYmFzZWQgb24gdGhlIGJhc2UgY29sb3IgYW5kIHRoZSB0aGVtZSBiYWNrZ3JvdW5kLlxuICAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrOiAjNjg2ODY4O1xuICAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodDogI2IwYjBiMDtcbiAgJGRpc2FibGVkLWNvbG9yOiBpZigkaXMtZGFyay10aGVtZSwgJHdoaXRlLTMwcGN0LW9wYWNpdHktb24tZGFyaywgJGJsYWNrLTI2cGN0LW9wYWNpdHktb24tbGlnaHQpO1xuICAkY29sb3JlZC1ib3gtc2VsZWN0b3I6ICcubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLCAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlJztcblxuICAubWF0LXBzZXVkby1jaGVja2JveCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpLCBzZWNvbmRhcnktdGV4dCk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcbiAgICB9XG4gIH1cblxuICAubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSkpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCB0byB0aGUgYWNjZW50IGNvbG9yLiBOb3RlIHRoYXQgdGhlIHBzZXVkbyBjaGVja2JveGVzIGFyZSBtZWFudCB0byBpbmhlcml0IHRoZVxuICAvLyB0aGVtZSBmcm9tIHRoZWlyIHBhcmVudCwgcmF0aGVyIHRoYW4gaW1wbGVtZW50aW5nIHRoZWlyIG93biB0aGVtaW5nLCB3aGljaCBpcyB3aHkgd2VcbiAgLy8gZG9uJ3QgYXR0YWNoIHRvIHRoZSBgbWF0LSpgIGNsYXNzZXMuIEFsc28gbm90ZSB0aGF0IHRoaXMgbmVlZHMgdG8gYmUgYmVsb3cgYC5tYXQtcHJpbWFyeWBcbiAgLy8gaW4gb3JkZXIgdG8gYWxsb3cgZm9yIHRoZSBjb2xvciB0byBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgY2hlY2tib3ggaXMgaW5zaWRlIGEgcGFyZW50IHRoYXRcbiAgLy8gaGFzIGBtYXQtYWNjZW50YCBhbmQgaXMgcGxhY2VkIGluc2lkZSBhbm90aGVyIHBhcmVudCB0aGF0IGhhcyBgbWF0LXByaW1hcnlgLlxuICAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlLFxuICAubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCBhY2NlbnQpKTtcbiAgfVxuXG4gIC5tYXQtd2FybiAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgd2FybikpO1xuICB9XG5cbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgJi5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wc2V1ZG8tY2hlY2tib3gtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1wc2V1ZG8tY2hlY2tib3gtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXBzZXVkby1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcHNldWRvLWNoZWNrYm94Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBzZXVkby1jaGVja2JveC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXBzZXVkby1jaGVja2JveC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBzZXVkby1jaGVja2JveC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFJlcHJlc2VudHMgYSB0eXBvZ3JhcGh5IGxldmVsIGZyb20gdGhlIE1hdGVyaWFsIGRlc2lnbiBzcGVjLlxuQGZ1bmN0aW9uIG1hdC10eXBvZ3JhcGh5LWxldmVsKFxuICAkZm9udC1zaXplLFxuICAkbGluZS1oZWlnaHQ6ICRmb250LXNpemUsXG4gICRmb250LXdlaWdodDogNDAwLFxuICAkZm9udC1mYW1pbHk6IG51bGwsXG4gICRsZXR0ZXItc3BhY2luZzogbm9ybWFsKSB7XG5cbiAgQHJldHVybiAoXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLFxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQsXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodCxcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LFxuICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmdcbiAgKTtcbn1cblxuLy8gUmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2YgdHlwb2dyYXBoeSBsZXZlbHMuXG4vLyBEZWZhdWx0cyBjb21lIGZyb20gaHR0cHM6Ly9tYXRlcmlhbC5pby9ndWlkZWxpbmVzL3N0eWxlL3R5cG9ncmFwaHkuaHRtbFxuLy8gTm90ZTogVGhlIHNwZWMgZG9lc24ndCBtZW50aW9uIGxldHRlciBzcGFjaW5nLiBUaGUgdmFsdWVzIGhlcmUgY29tZSBmcm9tXG4vLyBleWViYWxsaW5nIGl0IHVudGlsIGl0IGxvb2tlZCBleGFjdGx5IGxpa2UgdGhlIHNwZWMgZXhhbXBsZXMuXG5AZnVuY3Rpb24gbWF0LXR5cG9ncmFwaHktY29uZmlnKFxuICAkZm9udC1mYW1pbHk6ICAgJ1JvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmJyxcbiAgJGRpc3BsYXktNDogICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDExMnB4LCAxMTJweCwgMzAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW0pLFxuICAkZGlzcGxheS0zOiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoNTZweCwgNTZweCwgNDAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW0pLFxuICAkZGlzcGxheS0yOiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoNDVweCwgNDhweCwgNDAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjAwNWVtKSxcbiAgJGRpc3BsYXktMTogICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDM0cHgsIDQwcHgsIDQwMCksXG4gICRoZWFkbGluZTogICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgyNHB4LCAzMnB4LCA0MDApLFxuICAkdGl0bGU6ICAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMjBweCwgMzJweCwgNTAwKSxcbiAgJHN1YmhlYWRpbmctMjogIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE2cHgsIDI4cHgsIDQwMCksXG4gICRzdWJoZWFkaW5nLTE6ICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxNXB4LCAyNHB4LCA0MDApLFxuICAkYm9keS0yOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMjRweCwgNTAwKSxcbiAgJGJvZHktMTogICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE0cHgsIDIwcHgsIDQwMCksXG4gICRjYXB0aW9uOiAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxMnB4LCAyMHB4LCA0MDApLFxuICAkYnV0dG9uOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMTRweCwgNTAwKSxcbiAgLy8gTGluZS1oZWlnaHQgbXVzdCBiZSB1bml0LWxlc3MgZnJhY3Rpb24gb2YgdGhlIGZvbnQtc2l6ZS5cbiAgJGlucHV0OiAgICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKGluaGVyaXQsIDEuMTI1LCA0MDApXG4pIHtcblxuICAvLyBEZWNsYXJlIGFuIGluaXRpYWwgbWFwIHdpdGggYWxsIG9mIHRoZSBsZXZlbHMuXG4gICRjb25maWc6IChcbiAgICBkaXNwbGF5LTQ6ICAgICAgJGRpc3BsYXktNCxcbiAgICBkaXNwbGF5LTM6ICAgICAgJGRpc3BsYXktMyxcbiAgICBkaXNwbGF5LTI6ICAgICAgJGRpc3BsYXktMixcbiAgICBkaXNwbGF5LTE6ICAgICAgJGRpc3BsYXktMSxcbiAgICBoZWFkbGluZTogICAgICAgJGhlYWRsaW5lLFxuICAgIHRpdGxlOiAgICAgICAgICAkdGl0bGUsXG4gICAgc3ViaGVhZGluZy0yOiAgICRzdWJoZWFkaW5nLTIsXG4gICAgc3ViaGVhZGluZy0xOiAgICRzdWJoZWFkaW5nLTEsXG4gICAgYm9keS0yOiAgICAgICAgICRib2R5LTIsXG4gICAgYm9keS0xOiAgICAgICAgICRib2R5LTEsXG4gICAgY2FwdGlvbjogICAgICAgICRjYXB0aW9uLFxuICAgIGJ1dHRvbjogICAgICAgICAkYnV0dG9uLFxuICAgIGlucHV0OiAgICAgICAgICAkaW5wdXQsXG4gICk7XG5cbiAgLy8gTG9vcCB0aHJvdWdoIHRoZSBsZXZlbHMgYW5kIHNldCB0aGUgYGZvbnQtZmFtaWx5YCBvZiB0aGUgb25lcyB0aGF0IGRvbid0IGhhdmUgb25lIHRvIHRoZSBiYXNlLlxuICAvLyBOb3RlIHRoYXQgU2FzcyBjYW4ndCBtb2RpZnkgbWFwcyBpbiBwbGFjZSwgd2hpY2ggbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIG1lcmdlIGFuZCByZS1hc3NpZ24uXG4gIEBlYWNoICRrZXksICRsZXZlbCBpbiAkY29uZmlnIHtcbiAgICBAaWYgbWFwLWdldCgkbGV2ZWwsIGZvbnQtZmFtaWx5KSA9PSBudWxsIHtcbiAgICAgICRuZXctbGV2ZWw6IG1hcC1tZXJnZSgkbGV2ZWwsIChmb250LWZhbWlseTogJGZvbnQtZmFtaWx5KSk7XG4gICAgICAkY29uZmlnOiBtYXAtbWVyZ2UoJGNvbmZpZywgKCRrZXk6ICRuZXctbGV2ZWwpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBZGQgdGhlIGJhc2UgZm9udCBmYW1pbHkgdG8gdGhlIGNvbmZpZy5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJGNvbmZpZywgKGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHkpKTtcbn1cblxuLy8gV2hldGhlciBhIGNvbmZpZyBpcyBmb3IgdGhlIE1hdGVyaWFsIERlc2lnbiAyMDE4IHR5cG9ncmFwaHkgc3lzdGVtLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxOC1jb25maWcoJGNvbmZpZykge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtMSkgIT0gbnVsbDtcbn1cblxuLy8gV2hldGhlciBhIGNvbmZpZyBpcyBmb3IgdGhlIE1hdGVyaWFsIERlc2lnbiAyMDE0IHR5cG9ncmFwaHkgc3lzdGVtLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxNC1jb25maWcoJGNvbmZpZykge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUpICE9IG51bGw7XG59XG5cbi8vIEdpdmVuIGEgY29uZmlnIGZvciBlaXRoZXIgdGhlIDIwMTQgb3IgMjAxOCBNYXRlcmlhbCBEZXNpZ24gdHlwb2dyYXBoeSBzeXN0ZW0sXG4vLyBwcm9kdWNlcyBhIG5vcm1hbGl6ZWQgdHlwb2dyYXBoeSBjb25maWcgZm9yIHRoZSAyMDE0IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbS5cbi8vIDIwMTQgLSBodHRwczovL21hdGVyaWFsLmlvL2FyY2hpdmUvZ3VpZGVsaW5lcy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWwjdHlwb2dyYXBoeS1zdHlsZXNcbi8vIDIwMTggLSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi90eXBvZ3JhcGh5L3RoZS10eXBlLXN5c3RlbS5odG1sI3R5cGUtc2NhbGVcbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LXRvLTIwMTQtY29uZmlnKCRjb25maWcpIHtcbiAgQGlmIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxOC1jb25maWcoJGNvbmZpZykge1xuICAgIEByZXR1cm4gbWF0LXR5cG9ncmFwaHktY29uZmlnKFxuICAgICAgICAkZGlzcGxheS00OiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTEpLFxuICAgICAgICAkZGlzcGxheS0zOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTIpLFxuICAgICAgICAkZGlzcGxheS0yOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTMpLFxuICAgICAgICAkZGlzcGxheS0xOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTQpLFxuICAgICAgICAkaGVhZGxpbmU6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtNSksXG4gICAgICAgICR0aXRsZTogbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZS02KSxcbiAgICAgICAgJHN1YmhlYWRpbmctMjogbWFwLWdldCgkY29uZmlnLCBzdWJ0aXRsZS0xKSxcbiAgICAgICAgJHN1YmhlYWRpbmctMTogbWFwLWdldCgkY29uZmlnLCBzdWJ0aXRsZS0yKSxcbiAgICAgICAgJGJvZHktMjogbWFwLWdldCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgICAkYm9keS0xOiBtYXAtZ2V0KCRjb25maWcsIGJvZHktMiksXG4gICAgICAgICRidXR0b246IG1hcC1nZXQoJGNvbmZpZywgYnV0dG9uKSxcbiAgICAgICAgJGNhcHRpb246IG1hcC1nZXQoJGNvbmZpZywgY2FwdGlvbiksXG4gICAgKTtcbiAgfVxuICBAcmV0dXJuICRjb25maWc7XG59XG5cbi8vIEdpdmVuIGEgY29uZmlnIGZvciBlaXRoZXIgdGhlIDIwMTQgb3IgMjAxOCBNYXRlcmlhbCBEZXNpZ24gdHlwb2dyYXBoeSBzeXN0ZW0sXG4vLyBwcm9kdWNlcyBhIG5vcm1hbGl6ZWQgdHlwb2dyYXBoeSBjb25maWcgZm9yIHRoZSAyMDE4IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbS5cbi8vIDIwMTQgLSBodHRwczovL21hdGVyaWFsLmlvL2FyY2hpdmUvZ3VpZGVsaW5lcy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWwjdHlwb2dyYXBoeS1zdHlsZXNcbi8vIDIwMTggLSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi90eXBvZ3JhcGh5L3RoZS10eXBlLXN5c3RlbS5odG1sI3R5cGUtc2NhbGVcbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LXRvLTIwMTgtY29uZmlnKCRjb25maWcpIHtcbiAgQGlmIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxNC1jb25maWcoJGNvbmZpZykge1xuICAgIEByZXR1cm4gKFxuICAgICAgICBoZWFkbGluZS0xOiBtYXAtZ2V0KCRjb25maWcsIGRpc3BsYXktNCksXG4gICAgICAgIGhlYWRsaW5lLTI6IG1hcC1nZXQoJGNvbmZpZywgZGlzcGxheS0zKSxcbiAgICAgICAgaGVhZGxpbmUtMzogbWFwLWdldCgkY29uZmlnLCBkaXNwbGF5LTIpLFxuICAgICAgICBoZWFkbGluZS00OiBtYXAtZ2V0KCRjb25maWcsIGRpc3BsYXktMSksXG4gICAgICAgIGhlYWRsaW5lLTU6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUpLFxuICAgICAgICBoZWFkbGluZS02OiBtYXAtZ2V0KCRjb25maWcsIHRpdGxlKSxcbiAgICAgICAgc3VidGl0bGUtMTogbWFwLWdldCgkY29uZmlnLCBzdWJoZWFkaW5nLTIpLFxuICAgICAgICBzdWJ0aXRsZS0yOiBtYXAtZ2V0KCRjb25maWcsIHN1YmhlYWRpbmctMSksXG4gICAgICAgIGJvZHktMTogbWFwLWdldCgkY29uZmlnLCBib2R5LTIpLFxuICAgICAgICBib2R5LTI6IG1hcC1nZXQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgICAgYnV0dG9uOiBtYXAtZ2V0KCRjb25maWcsIGJ1dHRvbiksXG4gICAgICAgIGNhcHRpb246IG1hcC1nZXQoJGNvbmZpZywgY2FwdGlvbiksXG4gICAgKTtcbiAgfVxuICBAcmV0dXJuICRjb25maWc7XG59XG5cbi8vIEFkZHMgdGhlIGJhc2UgdHlwb2dyYXBoeSBzdHlsZXMsIGJhc2VkIG9uIGEgY29uZmlnLlxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1hdGVyaWFsL3RoZW1lLW1peGluLWFwaSAqL1xuQG1peGluIG1hdC1iYXNlLXR5cG9ncmFwaHkoJGNvbmZpZywgJHNlbGVjdG9yOiAnLm1hdC10eXBvZ3JhcGh5Jykge1xuICAubWF0LWgxLCAubWF0LWhlYWRsaW5lLCAjeyRzZWxlY3Rvcn0gaDEge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBoZWFkbGluZSk7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC5tYXQtaDIsIC5tYXQtdGl0bGUsICN7JHNlbGVjdG9yfSBoMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHRpdGxlKTtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICB9XG5cbiAgLm1hdC1oMywgLm1hdC1zdWJoZWFkaW5nLTIsICN7JHNlbGVjdG9yfSBoMyB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC5tYXQtaDQsIC5tYXQtc3ViaGVhZGluZy0xLCAjeyRzZWxlY3Rvcn0gaDQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBzdWJoZWFkaW5nLTEpO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gIH1cblxuICAvLyBOb3RlOiB0aGUgc3BlYyBkb2Vzbid0IGhhdmUgYW55dGhpbmcgdGhhdCB3b3VsZCBjb3JyZXNwb25kIHRvIGg1IGFuZCBoNiwgYnV0IHdlIGFkZCB0aGVzZSBmb3JcbiAgLy8gY29uc2lzdGVuY3kuIFRoZSBmb250IHNpemVzIGNvbWUgZnJvbSB0aGUgQ2hyb21lIHVzZXIgYWdlbnQgc3R5bGVzIHdoaWNoIGhhdmUgaDUgYXQgMC44M2VtXG4gIC8vIGFuZCBoNiBhdCAwLjY3ZW0uXG4gIC5tYXQtaDUsICN7JHNlbGVjdG9yfSBoNSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoXG4gICAgICAgLy8gY2FsYyBpcyB1c2VkIGhlcmUgdG8gc3VwcG9ydCBjc3MgdmFyaWFibGVzXG4gICAgICBjYWxjKCN7bWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpfSAqIDAuODMpLFxuICAgICAgbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgIG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpXG4gICAgKTtcblxuICAgIG1hcmdpbjogMCAwIDEycHg7XG4gIH1cblxuICAubWF0LWg2LCAjeyRzZWxlY3Rvcn0gaDYge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWZvbnQtc2hvcnRoYW5kKFxuICAgICAgIC8vIGNhbGMgaXMgdXNlZCBoZXJlIHRvIHN1cHBvcnQgY3NzIHZhcmlhYmxlc1xuICAgICAgY2FsYygje21hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKX0gKiAwLjY3KSxcbiAgICAgIG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKVxuICAgICk7XG5cbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICB9XG5cbiAgLm1hdC1ib2R5LXN0cm9uZywgLm1hdC1ib2R5LTIge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTIpO1xuICB9XG5cbiAgLm1hdC1ib2R5LCAubWF0LWJvZHktMSwgI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0xKTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICB9XG4gIH1cblxuICAubWF0LXNtYWxsLCAubWF0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBjYXB0aW9uKTtcbiAgfVxuXG4gIC5tYXQtZGlzcGxheS00LCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTQpO1xuICAgIG1hcmdpbjogMCAwIDU2cHg7XG4gIH1cblxuICAubWF0LWRpc3BsYXktMywgI3skc2VsZWN0b3J9IC5tYXQtZGlzcGxheS0zIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgZGlzcGxheS0zKTtcbiAgICBtYXJnaW46IDAgMCA2NHB4O1xuICB9XG5cbiAgLm1hdC1kaXNwbGF5LTIsICN7JHNlbGVjdG9yfSAubWF0LWRpc3BsYXktMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGRpc3BsYXktMik7XG4gICAgbWFyZ2luOiAwIDAgNjRweDtcbiAgfVxuXG4gIC5tYXQtZGlzcGxheS0xLCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTEge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTEpO1xuICAgIG1hcmdpbjogMCAwIDY0cHg7XG4gIH1cbn1cblxuXG5cblxuQG1peGluIG1hdC1hdXRvY29tcGxldGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuXG4gIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgIC8vIFNlbGVjdGVkIG9wdGlvbnMgaW4gYXV0b2NvbXBsZXRlcyBzaG91bGQgbm90IGJlIGdyYXksIGJ1dCB3ZVxuICAgIC8vIG9ubHkgd2FudCB0byBvdmVycmlkZSB0aGUgYmFja2dyb3VuZCBmb3Igc2VsZWN0ZWQgb3B0aW9ucyBpZlxuICAgIC8vIHRoZXkgYXJlICpub3QqIGluIGhvdmVyIG9yIGZvY3VzIHN0YXRlLiBUaGlzIGNoYW5nZSBoYXMgdG8gYmVcbiAgICAvLyBtYWRlIGhlcmUgYmVjYXVzZSBiYXNlIG9wdGlvbiBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZVxuICAgIC8vIGF1dG9jb21wbGV0ZSBhbmQgdGhlIHNlbGVjdC5cbiAgICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuXG4gICAgICAmOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1hdXRvY29tcGxldGUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1hdXRvY29tcGxldGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWF1dG9jb21wbGV0ZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYXV0b2NvbXBsZXRlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWF1dG9jb21wbGV0ZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhpcyBjb250YWlucyBhbGwgb2YgdGhlIHN0eWxlcyBmb3IgdGhlIGJhZGdlXG4vLyByYXRoZXIgdGhhbiBqdXN0IHRoZSBjb2xvci90aGVtZSBiZWNhdXNlIG9mXG4vLyBubyBzdHlsZSBzaGVldCBzdXBwb3J0IGZvciBkaXJlY3RpdmVzLlxuXG5cblxuXG5cbiRtYXQtYmFkZ2UtZm9udC1zaXplOiAxMnB4O1xuJG1hdC1iYWRnZS1mb250LXdlaWdodDogNjAwO1xuJG1hdC1iYWRnZS1kZWZhdWx0LXNpemU6IDIycHggIWRlZmF1bHQ7XG4kbWF0LWJhZGdlLXNtYWxsLXNpemU6ICRtYXQtYmFkZ2UtZGVmYXVsdC1zaXplIC0gNjtcbiRtYXQtYmFkZ2UtbGFyZ2Utc2l6ZTogJG1hdC1iYWRnZS1kZWZhdWx0LXNpemUgKyA2O1xuXG4vLyBNaXhpbiBmb3IgYnVpbGRpbmcgb2Zmc2V0IGdpdmVuIGRpZmZlcmVudCBzaXplc1xuQG1peGluIF9tYXQtYmFkZ2Utc2l6ZSgkc2l6ZSkge1xuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZTtcbiAgfVxuXG4gICYubWF0LWJhZGdlLWFib3ZlIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgdG9wOiAtJHNpemUgLyAyO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LWJhZGdlLWJlbG93IHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgYm90dG9tOiAtJHNpemUgLyAyO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LWJhZGdlLWJlZm9yZSB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGxlZnQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICBbZGlyPSdydGwnXSAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1hZnRlciB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgfVxuICB9XG5cbiAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1vdmVybGFwIHtcbiAgICAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgbGVmdDogLSRzaXplIC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBbZGlyPSdydGwnXSAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgcmlnaHQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYmFkZ2UtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIGRlZmF1bHQtY29udHJhc3QpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG5cbiAgICBAaW5jbHVkZSBjZGstaGlnaC1jb250cmFzdChhY3RpdmUsIG9mZikge1xuICAgICAgb3V0bGluZTogc29saWQgMXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlLWFjY2VudCB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1iYWRnZS13YXJuIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5tYXQtYmFkZ2UtaGlkZGVuIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlLWRpc2FibGVkIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgJGFwcC1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdiYWNrZ3JvdW5kJyk7XG4gICAgICAkYmFkZ2UtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtYnV0dG9uKTtcblxuICAgICAgLy8gVGhlIGRpc2FibGVkIGNvbG9yIHVzdWFsbHkgaGFzIHNvbWUga2luZCBvZiBvcGFjaXR5LCBidXQgYmVjYXVzZSB0aGUgYmFkZ2UgaXMgb3ZlcmxheWVkXG4gICAgICAvLyBvbiB0b3Agb2Ygc29tZXRoaW5nIGVsc2UsIGl0IHdvbid0IGxvb2sgZ29vZCBpZiBpdCdzIG9wYXF1ZS4gSWYgaXQgaXMgYSBjb2xvciAqdHlwZSosXG4gICAgICAvLyB3ZSBjb252ZXJ0IGl0IGludG8gYSBzb2xpZCBjb2xvciBieSB0YWtpbmcgdGhlIG9wYWNpdHkgZnJvbSB0aGUgcmdiYSB2YWx1ZSBhbmQgdXNpbmdcbiAgICAgIC8vIHRoZSB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgdG8gcHV0IGludG8gZm9yZWdyb3VuZCB3aGVuXG4gICAgICAvLyBtaXhpbmcgdGhlIGNvbG9ycyB0b2dldGhlci5cbiAgICAgIEBpZiAodHlwZS1vZigkYmFkZ2UtY29sb3IpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRhcHAtYmFja2dyb3VuZCkgPT0gY29sb3IpIHtcbiAgICAgICAgJGJhZGdlLW9wYWNpdHk6IG9wYWNpdHkoJGJhZGdlLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZDogbWl4KCRhcHAtYmFja2dyb3VuZCwgcmdiYSgkYmFkZ2UtY29sb3IsIDEpLCAoMSAtICRiYWRnZS1vcGFjaXR5KSAqIDEwMCUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLm5nLWFuaW1hdGUtZGlzYWJsZWQgLm1hdC1iYWRnZS1jb250ZW50LFxuICAubWF0LWJhZGdlLWNvbnRlbnQuX21hdC1hbmltYXRpb24tbm9vcGFibGUge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBUaGUgYWN0aXZlIGNsYXNzIGlzIGFkZGVkIGFmdGVyIHRoZSBlbGVtZW50IGlzIGFkZGVkXG4gIC8vIHNvIGl0IGNhbiBhbmltYXRlIHNjYWxlIHRvIGRlZmF1bHRcbiAgLm1hdC1iYWRnZS1jb250ZW50Lm1hdC1iYWRnZS1hY3RpdmUge1xuICAgIC8vIFNjYWxlIHRvIGBub25lYCBpbnN0ZWFkIG9mIGAxYCB0byBhdm9pZCBibHVycnkgdGV4dCBpbiBzb21lIGJyb3dzZXJzLlxuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5tYXQtYmFkZ2Utc21hbGwge1xuICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2Utc2l6ZSgkbWF0LWJhZGdlLXNtYWxsLXNpemUpO1xuICB9XG4gIC5tYXQtYmFkZ2UtbWVkaXVtIHtcbiAgICBAaW5jbHVkZSBfbWF0LWJhZGdlLXNpemUoJG1hdC1iYWRnZS1kZWZhdWx0LXNpemUpO1xuICB9XG4gIC5tYXQtYmFkZ2UtbGFyZ2Uge1xuICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2Utc2l6ZSgkbWF0LWJhZGdlLWxhcmdlLXNpemUpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtYmFkZ2UtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgZm9udC13ZWlnaHQ6ICRtYXQtYmFkZ2UtZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1iYWRnZS1zbWFsbCAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIC8vIFNldCB0aGUgZm9udCBzaXplIHRvIDc1JSBvZiB0aGUgb3JpZ2luYWwuXG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZSAqIDAuNzU7XG4gIH1cblxuICAubWF0LWJhZGdlLWxhcmdlIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZSAqIDI7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtYmFkZ2UtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWJhZGdlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1iYWRnZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1iYWRnZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWJhZGdlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYmFkZ2UtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMTYsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1ib3R0b20tc2hlZXQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYm90dG9tLXNoZWV0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWJvdHRvbS1zaGVldC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4kX21hdC1idXR0b24tcmlwcGxlLW9wYWNpdHk6IDAuMTtcblxuLy8gQXBwbGllcyBhIGZvY3VzIHN0eWxlIHRvIGFuIG1hdC1idXR0b24gZWxlbWVudCBmb3IgZWFjaCBvZiB0aGUgc3VwcG9ydGVkIHBhbGV0dGVzLlxuQG1peGluIF9tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXktY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgJi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICB9XG5cbiAgJi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgfVxuXG4gICYubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgfVxuXG4gICYubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLyBBcHBsaWVzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhIHJpcHBsZS4gSWYgdGhlIHZhbHVlIHByb3ZpZGVkIGlzIG5vdCBhIFNhc3MgY29sb3IsXG4vLyB3ZSBhc3N1bWUgdGhhdCB3ZSd2ZSBiZWVuIGdpdmVuIGEgQ1NTIHZhcmlhYmxlLiBTaW5jZSB3ZSBjYW4ndCBwZXJmb3JtIGFscGhhLWJsZW5kaW5nXG4vLyBvbiBhIENTUyB2YXJpYWJsZSwgd2UgaW5zdGVhZCBhZGQgdGhlIG9wYWNpdHkgZGlyZWN0bHkgdG8gdGhlIHJpcHBsZSBlbGVtZW50LlxuQG1peGluIF9tYXQtYnV0dG9uLXJpcHBsZS1iYWNrZ3JvdW5kKCRwYWxldHRlLCAkaHVlLCAkb3BhY2l0eSkge1xuICAkYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkaHVlLCAkb3BhY2l0eSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBAaWYgKHR5cGUtb2YoJGJhY2tncm91bmQtY29sb3IpICE9IGNvbG9yKSB7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtYnV0dG9uLXJpcHBsZS1jb2xvcigkdGhlbWUsICRodWUsICRvcGFjaXR5OiAkX21hdC1idXR0b24tcmlwcGxlLW9wYWNpdHkpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG5cbiAgJi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtYmFja2dyb3VuZCgkcHJpbWFyeSwgJGh1ZSwgJG9wYWNpdHkpO1xuICB9XG5cbiAgJi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXJpcHBsZS1iYWNrZ3JvdW5kKCRhY2NlbnQsICRodWUsICRvcGFjaXR5KTtcbiAgfVxuXG4gICYubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tcmlwcGxlLWJhY2tncm91bmQoJHdhcm4sICRodWUsICRvcGFjaXR5KTtcbiAgfVxufVxuXG4vLyBBcHBsaWVzIGEgcHJvcGVydHkgdG8gYW4gbWF0LWJ1dHRvbiBlbGVtZW50IGZvciBlYWNoIG9mIHRoZSBzdXBwb3J0ZWQgcGFsZXR0ZXMuXG5AbWl4aW4gX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJHRoZW1lLCAkcHJvcGVydHksICRodWUpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG5cbiAgJi5tYXQtcHJpbWFyeSB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHByaW1hcnksICRodWUpO1xuICB9XG4gICYubWF0LWFjY2VudCB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJGFjY2VudCwgJGh1ZSk7XG4gIH1cbiAgJi5tYXQtd2FybiB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHdhcm4sICRodWUpO1xuICB9XG5cbiAgJi5tYXQtcHJpbWFyeSwgJi5tYXQtYWNjZW50LCAmLm1hdC13YXJuLCAmLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICAgICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICAkcGFsZXR0ZTogaWYoJHByb3BlcnR5ID09ICdjb2xvcicsICRmb3JlZ3JvdW5kLCAkYmFja2dyb3VuZCk7XG4gICAgICAjeyRwcm9wZXJ0eX06IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGlzYWJsZWQtYnV0dG9uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1idXR0b24tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWJ1dHRvbiwgLm1hdC1pY29uLWJ1dHRvbiwgLm1hdC1zdHJva2VkLWJ1dHRvbiB7XG4gICAgLy8gQnV0dG9ucyB3aXRob3V0IGEgYmFja2dyb3VuZCBjb2xvciBzaG91bGQgaW5oZXJpdCB0aGUgZm9udCBjb2xvci4gVGhpcyBpcyBuZWNlc3NhcnkgdG9cbiAgICAvLyBlbnN1cmUgdGhhdCB0aGUgYnV0dG9uIGlzIHJlYWRhYmxlIG9uIGN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9ycy4gSXQncyB3cm9uZyB0byBhbHdheXMgYXNzdW1lXG4gICAgLy8gdGhhdCB0aG9zZSBidXR0b25zIGFyZSBhbHdheXMgcGxhY2VkIGluc2lkZSBvZiBjb250YWluZXJzIHdpdGggdGhlIGRlZmF1bHQgYmFja2dyb3VuZFxuICAgIC8vIGNvbG9yIG9mIHRoZSB0aGVtZSAoZS5nLiB0aGVtZWQgdG9vbGJhcnMpLlxuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2NvbG9yJywgdGV4dCk7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tZm9jdXMtb3ZlcmxheS1jb2xvcigkY29uZmlnKTtcblxuICAgIC8vIFNldHVwIHRoZSByaXBwbGUgY29sb3IgdG8gYmUgYmFzZWQgb24gdGhlIHRleHQgY29sb3IuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSByaXBwbGVzXG4gICAgLy8gYXJlIG1hdGNoaW5nIHdpdGggdGhlIGN1cnJlbnQgdGhlbWUgcGFsZXR0ZSBhbmQgYXJlIGluIGNvbnRyYXN0IHRvIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4gICAgLy8gKGUuZyBpbiB0aGVtZWQgdG9vbGJhcnMpLlxuICAgIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgb3BhY2l0eTogJF9tYXQtYnV0dG9uLXJpcHBsZS1vcGFjaXR5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuICB9XG5cbiAgLy8gTm90ZTogdGhpcyBuZWVkcyBhIGJpdCBleHRyYSBzcGVjaWZpY2l0eSwgYmVjYXVzZSB3ZSdyZSBub3QgZ3VhcmFudGVlZCB0aGUgaW5jbHVzaW9uXG4gIC8vIG9yZGVyIG9mIHRoZSB0aGVtZSBzdHlsZXMgYW5kIHRoZSBidXR0b24gcmVzZXQgbWF5IGVuZCB1cCByZXNldHRpbmcgdGhpcyBhcyB3ZWxsLlxuICAubWF0LXN0cm9rZWQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtZmxhdC1idXR0b24sIC5tYXQtcmFpc2VkLWJ1dHRvbiwgLm1hdC1mYWIsIC5tYXQtbWluaS1mYWIge1xuICAgIC8vIERlZmF1bHQgZm9udCBhbmQgYmFja2dyb3VuZCBjb2xvciB3aGVuIG5vdCB1c2luZyBhbnkgY29sb3IgcGFsZXR0ZS5cbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHJhaXNlZC1idXR0b24pO1xuXG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2NvbG9yJywgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2JhY2tncm91bmQtY29sb3InLCBkZWZhdWx0KTtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtY29sb3IoJGNvbmZpZywgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICAubWF0LXN0cm9rZWQtYnV0dG9uLCAubWF0LWZsYXQtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXJhaXNlZC1idXR0b24ge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigyLCAkY29uZmlnKTtcblxuICAgICY6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDgsICRjb25maWcpO1xuICAgIH1cblxuICAgICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mYWIsIC5tYXQtbWluaS1mYWIge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbig2LCAkY29uZmlnKTtcblxuICAgICY6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDEyLCAkY29uZmlnKTtcbiAgICB9XG5cbiAgICAmLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDAsICRjb25maWcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1idXR0b24sIC5tYXQtcmFpc2VkLWJ1dHRvbiwgLm1hdC1pY29uLWJ1dHRvbiwgLm1hdC1zdHJva2VkLWJ1dHRvbixcbiAgLm1hdC1mbGF0LWJ1dHRvbiwgLm1hdC1mYWIsIC5tYXQtbWluaS1mYWIge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJ1dHRvbik7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJ1dHRvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1idXR0b24tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYnV0dG9uJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciBoaWdoZXN0IGRlbnNpdHkgY2FuIHZhcnkgYmFzZWQgb24gdGhlIGNvbnRlbnQgdGhhdCBkZXZlbG9wZXJzXG4vLyBwcm9qZWN0IGludG8gYnV0dG9uLXRvZ2dsZSdzLiBXZSB1c2UgYSBtaW5pbXVtIG9mIGAyNHB4YCB0aG91Z2ggYmVjYXVzZSBjb21tb25seVxuLy8gaWNvbnMgb3IgdGV4dCBhcmUgZGlzcGxheWVkLiBJY29ucyBieSBkZWZhdWx0IGhhdmUgYSBzaXplIG9mIGAyNHB4YC5cbiRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1taW5pbXVtLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbiRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1tYXhpbXVtLWhlaWdodDogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZGl2aWRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcblxuICAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZSxcbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMiwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLFxuICAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcblxuICAgIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZm9jdXNlZC1idXR0b24pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuXG4gICAgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBmb2N1c2VkLWJ1dHRvbiwgMSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlICsgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4ICRkaXZpZGVyLWNvbG9yO1xuICB9XG5cbiAgW2Rpcj0ncnRsJ10gLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlICsgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAkZGl2aWRlci1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkLm1hdC1idXR0b24tdG9nZ2xlLXZlcnRpY2FsIHtcbiAgICAubWF0LWJ1dHRvbi10b2dnbGUgKyAubWF0LWJ1dHRvbi10b2dnbGUge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggJGRpdmlkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgc2VsZWN0ZWQtYnV0dG9uKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG5cbiAgICAmLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlzYWJsZWQtYnV0dG9uLXRvZ2dsZSk7XG5cbiAgICAmLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICB9XG5cbiAgICAmLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBzZWxlY3RlZC1kaXNhYmxlZC1idXR0b24pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkZGl2aWRlci1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkc3RhbmRhcmQtaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnQge1xuICAgICAgbGluZS1oZWlnaHQ6ICRzdGFuZGFyZC1oZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYnV0dG9uLXRvZ2dsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRvZ2dsZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1jYXJkLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWNhcmQge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigxLCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgLy8gTmVlZHMgZXh0cmEgc3BlY2lmaWNpdHkgdG8gYmUgYWJsZSB0byBvdmVycmlkZSB0aGUgZWxldmF0aW9uIHNlbGVjdG9ycy5cbiAgICAmLm1hdC1jYXJkLWZsYXQge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDAsICRjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FyZC1zdWJ0aXRsZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtY2FyZC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jYXJkIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1jYXJkLXRpdGxlIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGhlYWRsaW5lKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIHRpdGxlKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhcmQtaGVhZGVyIC5tYXQtY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHRpdGxlKTtcbiAgfVxuXG4gIC5tYXQtY2FyZC1zdWJ0aXRsZSxcbiAgLm1hdC1jYXJkLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNhcmQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWNhcmQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWNhcmQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2FyZC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWNhcmQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jYXJkLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtY2hlY2tib3gtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cblxuICAvLyBUaGUgY29sb3Igb2YgdGhlIGNoZWNrYm94J3MgY2hlY2ttYXJrIC8gbWl4ZWRtYXJrLlxuICAkY2hlY2tib3gtbWFyay1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcblxuICAvLyBOT1RFKHRyYXZpc2thdWZtYW4pOiBXaGlsZSB0aGUgc3BlYyBjYWxscyBmb3IgdHJhbnNsdWNlbnQgYmxhY2tzL3doaXRlcyBmb3IgZGlzYWJsZWQgY29sb3JzLFxuICAvLyB0aGlzIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGVsZW1lbnRzIGxheWVyZWQgb24gdG9wIG9mIG9uZSBhbm90aGVyLiBUbyBnZXQgYXJvdW5kIHRoaXMgd2VcbiAgLy8gYmxlbmQgdGhlIGNvbG9ycyB0b2dldGhlciBiYXNlZCBvbiB0aGUgYmFzZSBjb2xvciBhbmQgdGhlIHRoZW1lIGJhY2tncm91bmQuXG4gICR3aGl0ZS0zMHBjdC1vcGFjaXR5LW9uLWRhcms6ICM2ODY4Njg7XG4gICRibGFjay0yNnBjdC1vcGFjaXR5LW9uLWxpZ2h0OiAjYjBiMGIwO1xuICAkZGlzYWJsZWQtY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrLCAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodCk7XG5cbiAgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrIHtcbiAgICBmaWxsOiAkY2hlY2tib3gtbWFyay1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGgge1xuICAgIC8vICFpbXBvcnRhbnQgaXMgbmVlZGVkIGhlcmUgYmVjYXVzZSBhIHN0cm9rZSBtdXN0IGJlIHNldCBhcyBhblxuICAgIC8vIGF0dHJpYnV0ZSBvbiB0aGUgU1ZHIGluIG9yZGVyIGZvciBsaW5lIGFuaW1hdGlvbiB0byB3b3JrIHByb3Blcmx5LlxuICAgIHN0cm9rZTogJGNoZWNrYm94LW1hcmstY29sb3IgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hlY2tib3gtbWFyay1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSwgLm1hdC1jaGVja2JveC1jaGVja2VkIHtcbiAgICAmLm1hdC1wcmltYXJ5IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jaGVja2JveC1kaXNhYmxlZCB7XG4gICAgJi5tYXQtY2hlY2tib3gtY2hlY2tlZCxcbiAgICAmLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICAgIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LWNoZWNrYm94LWNoZWNrZWQpIHtcbiAgICAgIC5tYXQtY2hlY2tib3gtZnJhbWUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LWNoZWNrYm94LWxhYmVsIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAvLyBTd2l0Y2ggdGhpcyB0byBhIHNvbGlkIGNvbG9yIHNpbmNlIHdlJ3JlIHVzaW5nIGBvcGFjaXR5YFxuICAvLyB0byBjb250cm9sIGhvdyBvcGFxdWUgdGhlIHJpcHBsZSBzaG91bGQgYmUuXG4gIC5tYXQtY2hlY2tib3ggLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldChtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpLCBiYXNlKTtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2tlZDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCksXG4gIC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKSB7XG4gICAgJi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWNoZWNrYm94IHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLy8gVE9ETyhrYXJhKTogUmVtb3ZlIHRoaXMgc3R5bGUgd2hlbiBmaXhpbmcgdmVydGljYWwgYmFzZWxpbmVcbiAgLm1hdC1jaGVja2JveC1sYXlvdXQgLm1hdC1jaGVja2JveC1sYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNoZWNrYm94LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY2hlY2tib3gnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2hlY2tib3gtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGVja2JveC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuJG1hdC1jaGlwLXJlbW92ZS1mb250LXNpemU6IDE4cHg7XG5cbkBtaXhpbiBfbWF0LWNoaXAtZWxlbWVudC1jb2xvcigkZm9yZWdyb3VuZCwgJGJhY2tncm91bmQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkZm9yZWdyb3VuZDtcblxuICAubWF0LWNoaXAtcmVtb3ZlIHtcbiAgICBjb2xvcjogJGZvcmVncm91bmQ7XG4gICAgb3BhY2l0eTogMC40O1xuICB9XG59XG5cblxuLy8gQXBwbGllcyB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgYSByaXBwbGUgZWxlbWVudC5cbi8vIElmIHRoZSBjb2xvciB2YWx1ZSBwcm92aWRlZCBpcyBub3QgYSBTYXNzIGNvbG9yLFxuLy8gd2UgYXNzdW1lIHRoYXQgd2UndmUgYmVlbiBnaXZlbiBhIENTUyB2YXJpYWJsZS5cbi8vIFNpbmNlIHdlIGNhbid0IHBlcmZvcm0gYWxwaGEtYmxlbmRpbmcgb24gYSBDU1MgdmFyaWFibGUsXG4vLyB3ZSBpbnN0ZWFkIGFkZCB0aGUgb3BhY2l0eSBkaXJlY3RseSB0byB0aGUgcmlwcGxlIGVsZW1lbnQuXG5AbWl4aW4gX21hdC1jaGlwcy1yaXBwbGUtYmFja2dyb3VuZCgkcGFsZXR0ZSwgJGRlZmF1bHQtY29udHJhc3QsICRvcGFjaXR5KSB7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICRkZWZhdWx0LWNvbnRyYXN0LCAkb3BhY2l0eSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBAaWYgKHR5cGUtb2YoJGJhY2tncm91bmQtY29sb3IpICE9IGNvbG9yKSB7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkcGFsZXR0ZSkge1xuICBAaW5jbHVkZSBfbWF0LWNoaXAtZWxlbWVudC1jb2xvcihtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpLCBtYXQtY29sb3IoJHBhbGV0dGUpKTtcblxuICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWNoaXBzLXJpcHBsZS1iYWNrZ3JvdW5kKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjEpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtY2hpcHMtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgJHVuc2VsZWN0ZWQtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCB1bnNlbGVjdGVkLWNoaXApO1xuICAkdW5zZWxlY3RlZC1mb3JlZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcCB7XG4gICAgQGluY2x1ZGUgX21hdC1jaGlwLWVsZW1lbnQtY29sb3IoJHVuc2VsZWN0ZWQtZm9yZWdyb3VuZCwgJHVuc2VsZWN0ZWQtYmFja2dyb3VuZCk7XG5cbiAgICAmOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpIHtcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDMsICRjb25maWcpO1xuICAgICAgfVxuXG4gICAgICAubWF0LWNoaXAtcmVtb3ZlOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC41NDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hdC1jaGlwLWRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3JlZ3JvdW5kLCBiYXNlKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQge1xuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwLXRoZW1lLWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkd2Fybik7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkYWNjZW50KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1jaGlwcy10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jaGlwIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgICBmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMik7XG5cbiAgICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbixcbiAgICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogJG1hdC1jaGlwLXJlbW92ZS1mb250LXNpemU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNoaXBzLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1jaGlwcy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY2hpcHMnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2hpcHMtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwcy1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNoaXBzLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIG1hdC1kaXZpZGVyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtZGl2aWRlci12ZXJ0aWNhbCB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGl2aWRlci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LWRpdmlkZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWRpdmlkZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRpdmlkZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGl2aWRlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRpdmlkZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaXZpZGVyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtdGFibGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtdGFibGUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtdGFibGUgdGhlYWQsIC5tYXQtdGFibGUgdGJvZHksIC5tYXQtdGFibGUgdGZvb3QsXG4gIG1hdC1oZWFkZXItcm93LCBtYXQtcm93LCBtYXQtZm9vdGVyLXJvdyxcbiAgW21hdC1oZWFkZXItcm93XSwgW21hdC1yb3ddLCBbbWF0LWZvb3Rlci1yb3ddLFxuICAubWF0LXRhYmxlLXN0aWNreSB7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgfVxuXG4gIG1hdC1yb3csIG1hdC1oZWFkZXItcm93LCBtYXQtZm9vdGVyLXJvdyxcbiAgdGgubWF0LWhlYWRlci1jZWxsLCB0ZC5tYXQtY2VsbCwgdGQubWF0LWZvb3Rlci1jZWxsIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jZWxsLCAubWF0LWZvb3Rlci1jZWxsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRhYmxlLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRhYmxlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxuXG4gIC5tYXQtY2VsbCwgLm1hdC1mb290ZXItY2VsbCB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFibGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXRhYmxlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10YWJsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10YWJsZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRhYmxlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdGFibGUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbiRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC10b2RheS1ib3gtc2hhZG93LXdpZHRoOiAxcHg7XG4kbWF0LWRhdGVwaWNrZXItc2VsZWN0ZWQtZmFkZS1hbW91bnQ6IDAuNjtcbiRtYXQtZGF0ZXBpY2tlci1yYW5nZS1mYWRlLWFtb3VudDogMC4yO1xuJG1hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50OiAwLjI7XG4kbWF0LWNhbGVuZGFyLWJvZHktZm9udC1zaXplOiAxM3B4ICFkZWZhdWx0O1xuJG1hdC1jYWxlbmRhci13ZWVrZGF5LXRhYmxlLWZvbnQtc2l6ZTogMTFweCAhZGVmYXVsdDtcblxuQG1peGluIF9tYXQtZGF0ZXBpY2tlci1jb2xvcigkcGFsZXR0ZSkge1xuICBAaW5jbHVkZSBtYXQtZGF0ZS1yYW5nZS1jb2xvcnMoXG4gICAgbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LCAkbWF0LWRhdGVwaWNrZXItcmFuZ2UtZmFkZS1hbW91bnQpKTtcblxuICAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgICRiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRiYWNrZ3JvdW5kKSA9PSBjb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZS1vdXQoJGJhY2tncm91bmQsICRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC1mYWRlLWFtb3VudCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIElmIHdlIGNvdWxkbid0IHJlc29sdmUgdG8gYmFja2dyb3VuZCB0byBhIGNvbG9yIChlLmcuIGl0J3MgYSBDU1MgdmFyaWFibGUpLFxuICAgICAgLy8gZmFsbCBiYWNrIHRvIGZhZGluZyB0aGUgY29udGVudCBvdXQgdmlhIGBvcGFjaXR5YC5cbiAgICAgIG9wYWNpdHk6ICRtYXQtZGF0ZXBpY2tlci10b2RheS1mYWRlLWFtb3VudDtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC10b2RheS1ib3gtc2hhZG93LXdpZHRoXG4gICAgICAgICAgICAgICAgbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyLFxuICAuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZSxcbiAgLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZSB7XG4gICAgJiA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgMC4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVXRpbGl0eSBtaXhpbiB0byB0YXJnZXQgY2VsbHMgdGhhdCBhcmVuJ3Qgc2VsZWN0ZWQuIFVzZWQgdG8gbWFrZSBzZWxlY3RvciBlYXNpZXIgdG8gZm9sbG93LlxuQG1peGluIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAmOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRhdGVwaWNrZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG5cbiAgLm1hdC1jYWxlbmRhci1hcnJvdyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBpY29uKTtcbiAgfVxuXG4gIC8vIFRoZSBwcmV2L25leHQgYnV0dG9ucyBuZWVkIGEgYml0IG1vcmUgc3BlY2lmaWNpdHkgdG9cbiAgLy8gYXZvaWQgYmVpbmcgb3ZlcndyaXR0ZW4gYnkgdGhlIC5tYXQtaWNvbi1idXR0b24uXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUsXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24sXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBpY29uKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQsXG4gIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3Ige1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItdW5zZWxlY3RlZC1jZWxsIHtcbiAgICAgIGNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3Ige1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tcHJldmlldyB7XG4gICAgJGRpdmlkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG5cbiAgICBAaWYgdHlwZS1vZigkZGl2aWRlci1jb2xvcikgPT0gY29sb3Ige1xuICAgICAgLy8gVGhlIGRpdmlkZXIgY29sb3IgaXMgc2V0IHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgaXQnbGwgYmUgdXNlZFxuICAgICAgLy8gZm9yIGEgc29saWQgYm9yZGVyLCBidXQgYmVjYXVzZSB3ZSdyZSB1c2luZyBhIGRhc2hlZCBib3JkZXIgZm9yIHRoZVxuICAgICAgLy8gcHJldmlldyByYW5nZSwgd2UgbmVlZCB0byBidW1wIGl0cyBvcGFjaXR5IHRvIGVuc3VyZSB0aGF0IGl0J3MgdmlzaWJsZS5cbiAgICAgIGNvbG9yOiByZ2JhKCRkaXZpZGVyLWNvbG9yLCBtaW4ob3BhY2l0eSgkZGl2aWRlci1jb2xvcikgKiAyLCAxKSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGNvbG9yOiAkZGl2aWRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkge1xuICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAgICAgLy8gTm90ZTogdGhvdWdoIGl0J3Mgbm90IHRleHQsIHRoZSBib3JkZXIgaXMgYSBoaW50IGFib3V0IHRoZSBmYWN0IHRoYXQgdGhpcyBpcyB0b2RheSdzIGRhdGUsXG4gICAgICAvLyBzbyB3ZSB1c2UgdGhlIGhpbnQgY29sb3IuXG4gICAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkge1xuICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAgICAgJGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG5cbiAgICAgIEBpZiAodHlwZS1vZigkY29sb3IpID09IGNvbG9yKSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZmFkZS1vdXQoJGNvbG9yLCAkbWF0LWRhdGVwaWNrZXItdG9kYXktZmFkZS1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBJZiB0aGUgY29sb3IgZGlkbid0IHJlc29sdmUgdG8gYSBjb2xvciB2YWx1ZSwgYnV0IHNvbWV0aGluZyBsaWtlIGEgQ1NTIHZhcmlhYmxlLCB3ZSBjYW4ndFxuICAgICAgICAvLyBmYWRlIGl0IG91dCBzbyB3ZSBmYWxsIGJhY2sgdG8gcmVkdWNpbmcgdGhlIGVsZW1lbnQgb3BhY2l0eS4gTm90ZSB0aGF0IHdlIGRvbid0IHVzZSB0aGVcbiAgICAgICAgLy8gJG1hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50LCBiZWNhdXNlIGhpbnQgdGV4dCB1c3VhbGx5IGhhcyBzb21lIG9wYWNpdHkgYXBwbGllZFxuICAgICAgICAvLyB0byBpdCBhbHJlYWR5IGFuZCB3ZSBkb24ndCB3YW50IHRoZW0gdG8gc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItY29sb3IobWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KSk7XG5cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbig0LCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci1jb2xvcihtYXAtZ2V0KCRjb25maWcsIGFjY2VudCkpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgd2FybikpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50LXRvdWNoIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpLCB0ZXh0KTtcblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KSwgdGV4dCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgd2FybiksIHRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1pbm5lcltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGF0ZXBpY2tlci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jYWxlbmRhciB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keSB7XG4gICAgZm9udC1zaXplOiAkbWF0LWNhbGVuZGFyLWJvZHktZm9udC1zaXplO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsLFxuICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24ge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJ1dHRvbik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGgge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6ICRtYXQtY2FsZW5kYXItd2Vla2RheS10YWJsZS1mb250LXNpemU7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRhdGUtcmFuZ2UtY29sb3JzKFxuICAkcmFuZ2UtY29sb3IsXG4gICRjb21wYXJpc29uLWNvbG9yOiByZ2JhKCNmOWFiMDAsICRtYXQtZGF0ZXBpY2tlci1yYW5nZS1mYWRlLWFtb3VudCksXG4gICRvdmVybGFwLWNvbG9yOiAjYThkYWI1LFxuICAkb3ZlcmxhcC1zZWxlY3RlZC1jb2xvcjogZGFya2VuKCRvdmVybGFwLWNvbG9yLCAzMCUpKSB7XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRyYW5nZS1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbXBhcmlzb24tY29sb3I7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSxcbiAgW2Rpcj0ncnRsJ10gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRyYW5nZS1jb2xvciA1MCUsICRjb21wYXJpc29uLWNvbG9yIDUwJSk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmUsXG4gIFtkaXI9J3J0bCddIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJHJhbmdlLWNvbG9yIDUwJSwgJGNvbXBhcmlzb24tY29sb3IgNTAlKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZSA+IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3ZlcmxhcC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGFwLXNlbGVjdGVkLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWRhdGVwaWNrZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWRhdGVwaWNrZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRhdGVwaWNrZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGF0ZXBpY2tlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kYXRlcGlja2VyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWRpYWxvZy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMjQsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRpYWxvZy10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1kaWFsb2ctdGl0bGUge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCB0aXRsZSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtZGlhbG9nLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1kaWFsb2ctdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRpYWxvZycpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1kaWFsb2ctZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4vLyBEZWZhdWx0IG1pbmltdW0gYW5kIG1heGltdW0gaGVpZ2h0IGZvciBjb2xsYXBzZWQgcGFuZWwgaGVhZGVycy5cbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtaGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1taW5pbXVtLWhlaWdodDogMzZweCAhZGVmYXVsdDtcbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtbWF4aW11bS1oZWlnaHQ6XG4gICAgJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgbWluaW11bSBhbmQgbWF4aW11bSBoZWlnaHQgZm9yIGV4cGFuZGVkIHBhbmVsIGhlYWRlcnMuXG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtaGVpZ2h0OiA2NHB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1pbmltdW0taGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1heGltdW0taGVpZ2h0OlxuICAgICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vIERlbnNpdHkgY29uZmlndXJhdGlvbiBmb3IgdGhlIGV4cGFuc2lvbiBwYW5lbC4gQ2FwdHVyZXMgdGhlXG4vLyBoZWlnaHQgZm9yIGJvdGggZXhwYW5kZWQgYW5kIGNvbGxhcHNlZCBwYW5lbCBoZWFkZXJzLlxuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlbnNpdHktY29uZmlnOiAoXG4gIGNvbGxhcHNlZC1oZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtbWluaW11bS1oZWlnaHQsXG4gICksXG4gIGV4cGFuZGVkLWhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuLy8gTm90ZTogS2VlcCB0aGlzIGluIHN5bmMgd2l0aCB0aGUgYW5pbWF0aW9uIHRpbWluZyBmb3IgdGhlIHRvZ2dsZSBpbmRpY2F0b3Jcbi8vIGFuZCBib2R5IGV4cGFuc2lvbi4gVGhlc2UgYXJlIGFuaW1hdGVkIHVzaW5nIEFuZ3VsYXIgYW5pbWF0aW9ucy5cbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10cmFuc2l0aW9uOiAyMjVtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXG5AbWl4aW4gbWF0LXByaXZhdGUtZXhwYW5zaW9uLWZvY3VzIHtcbiAgLm1hdC1leHBhbnNpb24tcGFuZWwge1xuICAgICYgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAgICYgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQsXG4gICAgJjpub3QoLm1hdC1leHBhbmRlZCkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyIHtcbiAgICAgICY6bm90KFthcmlhLWRpc2FibGVkPSd0cnVlJ10pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMiwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtYWN0aW9uLXJvdyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWV4cGFuc2lvbi1mb2N1cyB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gIH1cblxuICAvLyBEaXNhYmxlIHRoZSBob3ZlciBvbiB0b3VjaCBkZXZpY2VzIHNpbmNlIGl0IGNhbiBhcHBlYXIgbGlrZSBpdCBpcyBzdHVjay4gV2UgY2FuJ3QgdXNlXG4gIC8vIGBAbWVkaWEgKGhvdmVyKWAgYWJvdmUsIGJlY2F1c2UgdGhlIGRlc2t0b3Agc3VwcG9ydCBicm93c2VyIHN1cHBvcnQgaXNuJ3QgZ3JlYXQuXG4gIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCk6bm90KFthcmlhLWRpc2FibGVkPSd0cnVlJ10pXG4gICAgICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uLFxuICAubWF0LWV4cGFuc2lvbi1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24pO1xuXG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxlLFxuICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIHN1YmhlYWRpbmctMSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZXhwYW5kZWQtaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAgICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGV4cGFuZGVkLWhlaWdodCk7XG4gICRjb2xsYXBzZWQtaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBjb2xsYXBzZWQtaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6ICRjb2xsYXBzZWQtaGVpZ2h0O1xuXG4gICAgICAmLm1hdC1leHBhbmRlZCB7XG4gICAgICAgIGhlaWdodDogJGV4cGFuZGVkLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWV4cGFuc2lvbi1wYW5lbCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1leHBhbnNpb24tcGFuZWwtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuLy8gVGhpcyBtaXhpbiB3aWxsIGVuc3VyZSB0aGF0IGxpbmVzIHRoYXQgb3ZlcmZsb3cgdGhlIGNvbnRhaW5lciB3aWxsIGhpZGUgdGhlIG92ZXJmbG93IGFuZFxuLy8gdHJ1bmNhdGUgbmVhdGx5IHdpdGggYW4gZWxsaXBzaXMuXG5AbWl4aW4gbWF0LXRydW5jYXRlLWxpbmUoKSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vLyBNaXhpbiB0byBwcm92aWRlIGFsbCBtYXQtbGluZSBzdHlsZXMsIGNoYW5naW5nIHNlY29uZGFyeSBmb250IHNpemUgYmFzZWQgb24gd2hldGhlciB0aGUgbGlzdFxuLy8gaXMgaW4gZGVuc2UgbW9kZS5cbkBtaXhpbiBtYXQtbGluZS1iYXNlKCRzZWNvbmRhcnktZm9udC1zaXplKSB7XG4gIC5tYXQtbGluZSB7XG4gICAgQGluY2x1ZGUgbWF0LXRydW5jYXRlLWxpbmUoKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLy8gYWxsIGxpbmVzIGJ1dCB0aGUgdG9wIGxpbmUgc2hvdWxkIGhhdmUgc21hbGxlciB0ZXh0XG4gICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICBmb250LXNpemU6ICRzZWNvbmRhcnktZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIG1peGluIG5vcm1hbGl6ZXMgZGVmYXVsdCBlbGVtZW50IHN0eWxlcywgZS5nLiBmb250IHdlaWdodCBmb3IgaGVhZGluZyB0ZXh0LlxuQG1peGluIG1hdC1ub3JtYWxpemUtdGV4dCgpIHtcbiAgJiA+ICoge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFRoaXMgbWl4aW4gcHJvdmlkZXMgYmFzZSBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIGFyb3VuZCBtYXQtbGluZSBlbGVtZW50cyBpbiBhIGxpc3QuXG5AbWl4aW4gbWF0LWxpbmUtd3JhcHBlci1iYXNlKCkge1xuICBAaW5jbHVkZSBtYXQtbm9ybWFsaXplLXRleHQoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIE11c3QgcmVtb3ZlIHdyYXBwZXIgd2hlbiBsaW5lcyBhcmUgZW1wdHkgb3IgaXQgdGFrZXMgdXAgaG9yaXpvbnRhbFxuICAvLyBzcGFjZSBhbmQgcHVzaGVzIG90aGVyIGVsZW1lbnRzIHRvIHRoZSByaWdodC5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cblxuLy8gSW5jbHVkZSB0aGlzIGVtcHR5IG1peGluIGZvciBjb25zaXN0ZW5jeSB3aXRoIHRoZSBvdGhlciBjb21wb25lbnRzLlxuQG1peGluIG1hdC1ncmlkLWxpc3QtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1ncmlkLWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtZ3JpZC10aWxlLWhlYWRlcixcbiAgLm1hdC1ncmlkLXRpbGUtZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbikpO1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWdyaWQtbGlzdC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZ3JpZC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1ncmlkLWxpc3QnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZ3JpZC1saXN0LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuQG1peGluIG1hdC1pY29uLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1pY29uIHtcbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtaWNvbi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LWljb24tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWljb24tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWljb24nKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtaWNvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWljb24tZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1pY29uLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuLy8gUmVuZGVycyBhIGdyYWRpZW50IGZvciBzaG93aW5nIHRoZSBkYXNoZWQgbGluZSB3aGVuIHRoZSBpbnB1dCBpcyBkaXNhYmxlZC5cbi8vIFVubGlrZSB1c2luZyBhIGJvcmRlciwgYSBncmFkaWVudCBhbGxvd3MgdXMgdG8gYWRqdXN0IHRoZSBzcGFjaW5nIG9mIHRoZSBkb3R0ZWQgbGluZVxuLy8gdG8gbWF0Y2ggdGhlIE1hdGVyaWFsIERlc2lnbiBzcGVjLlxuQG1peGluIG1hdC1wcml2YXRlLWNvbnRyb2wtZGlzYWJsZWQtdW5kZXJsaW5lKCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjb2xvciAwJSwgJGNvbG9yIDMzJSwgdHJhbnNwYXJlbnQgMCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDRweCAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIEZpZ3VyZXMgb3V0IHRoZSBjb2xvciBvZiB0aGUgcGxhY2Vob2xkZXIgZm9yIGEgZm9ybSBjb250cm9sLlxuLy8gVXNlZCBwcmltYXJpbHkgdG8gcHJldmVudCB0aGUgdmFyaW91cyBmb3JtIGNvbnRyb2xzIGZyb21cbi8vIGJlY29taW5nIG91dCBvZiBzeW5jIHNpbmNlIHRoZXNlIGNvbG9ycyBhcmVuJ3QgaW4gYSBwYWxldHRlLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWNvbnRyb2wtcGxhY2Vob2xkZXItY29sb3IoJGNvbmZpZykge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gIEByZXR1cm4gbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNSwgMC40MikpO1xufVxuXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIG1hdGVyaWFsL25vLXByZWZpeGVzICovXG5AbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlKSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbiAgLW1vei11c2VyLXNlbGVjdDogJHZhbHVlO1xuICAtbXMtdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbiAgdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbn1cblxuQG1peGluIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gY3Vyc29yLWdyYWIge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiO1xufVxuXG5AbWl4aW4gY3Vyc29yLWdyYWJiaW5nIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmFsdWUpIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmFsdWU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2YWx1ZTtcbn1cblxuQG1peGluIHBvc2l0aW9uLXN0aWNreSgkaW1wb3J0YW50OiBmYWxzZSkge1xuICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kgI3tpZigkaW1wb3J0YW50LCAnIWltcG9ydGFudCcsICcnKX07XG4gIHBvc2l0aW9uOiBzdGlja3kgI3tpZigkaW1wb3J0YW50LCAnIWltcG9ydGFudCcsICcnKX07XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cblxuXG5AbWl4aW4gbWF0LWlucHV0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWlucHV0LWVsZW1lbnQ6ZGlzYWJsZWQsXG4gIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG5cbiAgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcblxuICAgIEBpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiBtYXQtcHJpdmF0ZS1jb250cm9sLXBsYWNlaG9sZGVyLWNvbG9yKCRjb25maWcpO1xuICAgIH1cblxuICAgIC8vIE9uIGRhcmsgdGhlbWVzIHdlIHNldCB0aGUgbmF0aXZlIGBzZWxlY3RgIGNvbG9yIHRvIHNvbWUgc2hhZGUgb2Ygd2hpdGUsXG4gICAgLy8gaG93ZXZlciB0aGUgY29sb3IgcHJvcGFnYXRlcyB0byBhbGwgb2YgdGhlIGBvcHRpb25gIGVsZW1lbnRzLCB3aGljaCBhcmVcbiAgICAvLyBhbHdheXMgb24gYSB3aGl0ZSBiYWNrZ3JvdW5kIGluc2lkZSB0aGUgZHJvcGRvd24sIGNhdXNpbmcgdGhlbSB0byBibGVuZCBpbi5cbiAgICAvLyBTaW5jZSB3ZSBjYW4ndCBjaGFuZ2UgYmFja2dyb3VuZCBvZiB0aGUgZHJvcGRvd24sIHdlIG5lZWQgdG8gZXhwbGljaXRseVxuICAgIC8vIHJlc2V0IHRoZSBjb2xvciBvZiB0aGUgb3B0aW9ucyB0byBzb21ldGhpbmcgZGFyay5cbiAgICBAaWYgKG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyaykpIHtcbiAgICAgIG9wdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkZGFyay1wcmltYXJ5LXRleHQ7XG4gICAgICB9XG5cbiAgICAgIG9wdGlvbjpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkZGFyay1kaXNhYmxlZC10ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtYWNjZW50IC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgY2FyZXQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtd2FybiAubWF0LWlucHV0LWVsZW1lbnQsXG4gIC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgY2FyZXQtY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtaW5wdXQtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcblxuICAvLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gdGhlIHRvcCBvZiB0aGUgbGluZSBhbmQgdGhlIHRvcCBvZiB0aGUgYWN0dWFsIHRleHRcbiAgLy8gKGFzIGEgZnJhY3Rpb24gb2YgdGhlIGZvbnQtc2l6ZSkuXG4gICRsaW5lLXNwYWNpbmc6ICgkbGluZS1oZWlnaHQgLSAxKSAvIDI7XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50cyBzZWVtIHRvIGhhdmUgdGhlaXIgaGVpZ2h0IHNldCBzbGlnaHRseSB0b28gbGFyZ2Ugb24gU2FmYXJpIGNhdXNpbmcgdGhlIHRleHQgdG9cbiAgLy8gYmUgbWlzYWxpZ25lZCB3LnIudC4gdGhlIHBsYWNlaG9sZGVyLiBBZGRpbmcgdGhpcyBtYXJnaW4gY29ycmVjdHMgaXQuXG4gIGlucHV0Lm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBtYXJnaW4tdG9wOiAtJGxpbmUtc3BhY2luZyAqIDFlbTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1pbnB1dC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtaW5wdXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWlucHV0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWlucHV0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtaW5wdXQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1pbnB1dC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1saXN0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWxpc3QtYmFzZSB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN1YmhlYWRlciB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1saXN0LWl0ZW0tZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlzYWJsZWQtbGlzdC1vcHRpb24pO1xuICB9XG5cbiAgLm1hdC1saXN0LW9wdGlvbixcbiAgLm1hdC1uYXYtbGlzdCAubWF0LWxpc3QtaXRlbSxcbiAgLm1hdC1hY3Rpb24tbGlzdCAubWF0LWxpc3QtaXRlbSB7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdob3ZlcicpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIsIDAuMTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuXG4gIC5tYXQtbGlzdC1pdGVtIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB9XG5cbiAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgbGlzdFxuICAubWF0LWxpc3QtYmFzZSB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKSk7XG4gICAgfVxuXG4gICAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpKTtcbiAgICB9XG5cbiAgICAubWF0LXN1YmhlYWRlciB7XG4gICAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJvZHktMik7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9XG4gIH1cblxuICAvLyBEZW5zZSBsaXN0XG4gIC5tYXQtbGlzdC1iYXNlW2RlbnNlXSB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pKTtcbiAgICB9XG5cbiAgICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKSk7XG4gICAgfVxuXG4gICAgLm1hdC1zdWJoZWFkZXIge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtbGlzdC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtbGlzdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtbGlzdCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1saXN0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtbGlzdC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWxpc3QtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtbWVudS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1tZW51LXBhbmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnY2FyZCcpO1xuICB9XG5cbiAgLm1hdC1tZW51LWl0ZW0ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsICd0ZXh0Jyk7XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAmLFxuICAgICAgJjo6YWZ0ZXIsXG4gICAgICAubWF0LWljb24tbm8tY29sb3Ige1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnZGlzYWJsZWQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LW1lbnUtaXRlbSAubWF0LWljb24tbm8tY29sb3IsXG4gIC5tYXQtbWVudS1pdGVtLXN1Ym1lbnUtdHJpZ2dlcjo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsICdpY29uJyk7XG4gIH1cblxuICAubWF0LW1lbnUtaXRlbTpob3ZlcixcbiAgLm1hdC1tZW51LWl0ZW0uY2RrLXByb2dyYW0tZm9jdXNlZCxcbiAgLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gIC5tYXQtbWVudS1pdGVtLWhpZ2hsaWdodGVkIHtcbiAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdob3ZlcicpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LW1lbnUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtbWVudS1pdGVtIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0xKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtbWVudS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtbWVudS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtbWVudScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1tZW51LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtbWVudS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW1lbnUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4kbWF0LXBhZ2luYXRvci1oZWlnaHQ6IDU2cHggIWRlZmF1bHQ7XG4vLyBNaW5pbXVtIGhlaWdodCBmb3IgcGFnaW5hdG9yJ3MgaW4gdGhlIGhpZ2hlc3QgZGVuc2l0eSBpcyBkZXRlcm1pbmVkIGJhc2VkIG9uIGhvd1xuLy8gbXVjaCB0aGUgcGFnaW5hdG9yIGNhbiBzaHJpbmsgdW50aWwgdGhlIGNvbnRlbnQgZXhjZWVkcyAoaS5lLiBuYXZpZ2F0aW9uIGJ1dHRvbnMpLlxuJG1hdC1wYWdpbmF0b3ItbWluaW11bS1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kbWF0LXBhZ2luYXRvci1tYXhpbXVtLWhlaWdodDogJG1hdC1wYWdpbmF0b3ItaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbWF0LXBhZ2luYXRvci1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXBhZ2luYXRvci1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1wYWdpbmF0b3ItbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1wYWdpbmF0b3ItbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIG1hdC1wYWdpbmF0b3ItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuXG4gIC5tYXQtcGFnaW5hdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gIH1cblxuICAubWF0LXBhZ2luYXRvcixcbiAgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCxcbiAgLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnaWNvbicpO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2ljb24nKTtcbiAgfVxuXG4gIC5tYXQtcGFnaW5hdG9yLWZpcnN0LFxuICAubWF0LXBhZ2luYXRvci1sYXN0IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnaWNvbicpO1xuICB9XG5cbiAgLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCxcbiAgICAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnQsXG4gICAgLm1hdC1wYWdpbmF0b3ItZmlyc3QsXG4gICAgLm1hdC1wYWdpbmF0b3ItbGFzdCB7XG4gICAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2Rpc2FibGVkJyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcGFnaW5hdG9yLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXBhZ2luYXRvcixcbiAgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wYWdpbmF0b3ItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoJG1hdC1wYWdpbmF0b3ItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1wYWdpbmF0b3ItY29udGFpbmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcGFnaW5hdG9yLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1wYWdpbmF0b3InKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3MtYmFyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICAgIGZpbGw6IG1hdC1jb2xvcigkcHJpbWFyeSwgbGlnaHRlcik7XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci1idWZmZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgbGlnaHRlcik7XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC1hY2NlbnQge1xuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICAgICAgZmlsbDogbWF0LWNvbG9yKCRhY2NlbnQsIGxpZ2h0ZXIpO1xuICAgIH1cblxuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC13YXJuIHtcbiAgICAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5kIHtcbiAgICAgIGZpbGw6IG1hdC1jb2xvcigkd2FybiwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2FybiwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wcm9ncmVzcy1iYXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1wcm9ncmVzcy1iYXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLWJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcHJvZ3Jlc3MtYmFyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXByb2dyZXNzLWJhci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLXNwaW5uZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgLm1hdC1wcm9ncmVzcy1zcGlubmVyLCAubWF0LXNwaW5uZXIge1xuICAgIGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXByb2dyZXNzLXNwaW5uZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLXNwaW5uZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXByb2dyZXNzLXNwaW5uZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXByb2dyZXNzLXNwaW5uZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1zcGlubmVyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBfbWF0LXJhZGlvLWNvbG9yKCRwYWxldHRlKSB7XG4gICYubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgfVxuXG4gIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLFxuICAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSxcbiAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLFxuICAmOmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtcmFkaW8tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtcmFkaW8tYnV0dG9uIHtcbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcmFkaW8tY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXJhZGlvLWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1yYWRpby1jb2xvcigkd2Fybik7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBuZWVkcyBleHRyYSBzcGVjaWZpY2l0eSwgYmVjYXVzZSB0aGUgY2xhc3NlcyBhYm92ZSBhcmUgY29tYmluZWRcbiAgICAvLyAoZS5nLiBgLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudGApIHdoaWNoIGluY3JlYXNlcyB0aGVpciBzcGVjaWZpY2l0eSBhIGxvdC5cbiAgICAvLyBUT0RPOiBjb25zaWRlciBtYWtpbmcgdGhlIHNlbGVjdG9ycyBpbnRvIGRlc2NlbmRhbnRzIChgLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8tYnV0dG9uYCkuXG4gICAgJi5tYXQtcmFkaW8tZGlzYWJsZWQge1xuICAgICAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICAgIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudCxcbiAgICAgIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZCk7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudCB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTd2l0Y2ggdGhpcyB0byBhIHNvbGlkIGNvbG9yIHNpbmNlIHdlJ3JlIHVzaW5nIGBvcGFjaXR5YFxuICAgIC8vIHRvIGNvbnRyb2wgaG93IG9wYXF1ZSB0aGUgcmlwcGxlIHNob3VsZCBiZS5cbiAgICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXJhZGlvLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXJhZGlvLWJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1yYWRpby1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtcmFkaW8tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXJhZGlvJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXJhZGlvLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcmFkaW8tZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1yYWRpby10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LXNlbGVjdC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtc2VsZWN0LXZhbHVlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogbWF0LXByaXZhdGUtY29udHJvbC1wbGFjZWhvbGRlci1jb2xvcigkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LXZhbHVlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LXNlbGVjdC1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG5cbiAgICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyLCAwLjEyKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQge1xuICAgICYubWF0LWZvY3VzZWQge1xuICAgICAgJi5tYXQtcHJpbWFyeSAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICAgICAgfVxuXG4gICAgICAmLm1hdC1hY2NlbnQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICAgICAgfVxuXG4gICAgICAmLm1hdC13YXJuIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1pbnZhbGlkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICAgIH1cblxuICAgIC5tYXQtc2VsZWN0Lm1hdC1zZWxlY3QtZGlzYWJsZWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2VsZWN0LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG5cbiAgLm1hdC1zZWxlY3Qge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgICBoZWlnaHQ6ICRsaW5lLWhlaWdodCAqIDFlbTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zZWxlY3QtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNlbGVjdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2VsZWN0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNlbGVjdC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNlbGVjdC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNlbGVjdC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LXNpZGVuYXYtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAkZHJhd2VyLWJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgJGRyYXdlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcjogIG1hdC1jb2xvcigkYmFja2dyb3VuZCwgYmFja2dyb3VuZCk7XG4gICRkcmF3ZXItcHVzaC1iYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGRpYWxvZyk7XG4gICRkcmF3ZXItc2lkZS1ib3JkZXI6IHNvbGlkIDFweCBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuXG4gIC5tYXQtZHJhd2VyLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyYXdlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZHJhd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJhd2VyLWJhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmLm1hdC1kcmF3ZXItcHVzaCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJhd2VyLXB1c2gtYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LWRyYXdlci1zaWRlKSB7XG4gICAgICAvLyBUaGUgZWxldmF0aW9uIG9mIHotMTYgaXMgbm90ZWQgaW4gdGhlIGRlc2lnbiBzcGVjaWZpY2F0aW9ucy5cbiAgICAgIC8vIFNlZSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb21wb25lbnRzL25hdmlnYXRpb24tZHJhd2VyLmh0bWxcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigxNiwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1kcmF3ZXItc2lkZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAkZHJhd2VyLXNpZGUtYm9yZGVyO1xuXG4gICAgJi5tYXQtZHJhd2VyLWVuZCB7XG4gICAgICBib3JkZXItbGVmdDogJGRyYXdlci1zaWRlLWJvcmRlcjtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB9XG4gIH1cblxuICBbZGlyPSdydGwnXSAubWF0LWRyYXdlci1zaWRlIHtcbiAgICBib3JkZXItbGVmdDogJGRyYXdlci1zaWRlLWJvcmRlcjtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAmLm1hdC1kcmF3ZXItZW5kIHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkZHJhd2VyLXNpZGUtYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZHJhd2VyLWJhY2tkcm9wLm1hdC1kcmF3ZXItc2hvd24ge1xuICAgICRvcGFjaXR5OiAwLjY7XG4gICAgJGJhY2tkcm9wLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQsICRvcGFjaXR5KTtcblxuICAgIEBpZiAodHlwZS1vZigkYmFja2Ryb3AtY29sb3IpID09IGNvbG9yKSB7XG4gICAgICAvLyBXZSB1c2UgaW52ZXJ0KCkgaGVyZSB0byBoYXZlIHRoZSBkYXJrZW4gdGhlIGJhY2tncm91bmQgY29sb3IgZXhwZWN0ZWQgdG8gYmUgdXNlZC4gSWYgdGhlXG4gICAgICAvLyBiYWNrZ3JvdW5kIGlzIGxpZ2h0LCB3ZSB1c2UgYSBkYXJrIGJhY2tkcm9wLiBJZiB0aGUgYmFja2dyb3VuZCBpcyBkYXJrLFxuICAgICAgLy8gd2UgdXNlIGEgbGlnaHQgYmFja2Ryb3AuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbnZlcnQoJGJhY2tkcm9wLWNvbG9yKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gSWYgd2UgY291bGRuJ3QgcmVzb2x2ZSB0aGUgYmFja2Ryb3AgY29sb3IgdG8gYSBjb2xvciB2YWx1ZSwgZmFsbCBiYWNrIHRvIHVzaW5nXG4gICAgICAvLyBgb3BhY2l0eWAgdG8gbWFrZSBpdCBvcGFxdWUgc2luY2UgaXRzIGVuZCB2YWx1ZSBjb3VsZCBiZSBhIHNvbGlkIGNvbG9yLlxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tkcm9wLWNvbG9yO1xuICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2lkZW5hdi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXNpZGVuYXYtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNpZGVuYXYtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNpZGVuYXYnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2lkZW5hdi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNpZGVuYXYtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zaWRlbmF2LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSkge1xuICAmLm1hdC1jaGVja2VkIHtcbiAgICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgfVxuXG4gICAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgICAgIC8vIE9wYWNpdHkgaXMgZGV0ZXJtaW5lZCBmcm9tIHRoZSBzcGVjcyBmb3IgdGhlIHNlbGVjdGlvbiBjb250cm9scy5cbiAgICAgIC8vIFNlZTogaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29tcG9uZW50cy9zZWxlY3Rpb24tY29udHJvbHMuaHRtbCNzcGVjc1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkdGh1bWItY2hlY2tlZC1odWUsIDAuNTQpO1xuICAgIH1cblxuICAgIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgLy8gU2V0IG5vIG9wYWNpdHkgZm9yIHRoZSByaXBwbGVzIGJlY2F1c2UgdGhlIHJpcHBsZSBvcGFjaXR5IHdpbGwgYmUgYWRqdXN0ZWQgZHluYW1pY2FsbHlcbiAgICAgIC8vIGJhc2VkIG9uIHRoZSB0eXBlIG9mIGludGVyYWN0aW9uIHdpdGggdGhlIHNsaWRlLXRvZ2dsZSAoZS5nLiBmb3IgaG92ZXIsIGZvY3VzKVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkdGh1bWItY2hlY2tlZC1odWUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaXMtZGFyazogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAvLyBDb2xvciBodWVzIGFyZSBiYXNlZCBvbiB0aGUgc3BlY3Mgd2hpY2ggYnJpZWZseSBzaG93IHRoZSBodWVzIHRoYXQgYXJlIGFwcGxpZWQgdG8gYSBzd2l0Y2guXG4gIC8vIFRoZSAyMDE4IHNwZWNzIG5vIGxvbmdlciBkZXNjcmliZSBob3cgZGFyayBzd2l0Y2hlcyBzaG91bGQgbG9vayBsaWtlLiBEdWUgdG8gdGhlIGxhY2sgb2ZcbiAgLy8gaW5mb3JtYXRpb24gZm9yIGRhcmsgdGhlbWVkIHN3aXRjaGVzLCB3ZSBwYXJ0aWFsbHkga2VlcCB0aGUgb2xkIGJlaGF2aW9yIHRoYXQgaXMgYmFzZWQgb25cbiAgLy8gdGhlIHByZXZpb3VzIHNwZWNpZmljYXRpb25zLiBGb3IgdGhlIGNoZWNrZWQgY29sb3Igd2UgYWx3YXlzIHVzZSB0aGUgYGRlZmF1bHRgIGh1ZSBiZWNhdXNlXG4gIC8vIHRoYXQgZm9sbG93cyBNREMgYW5kIGFsc28gbWFrZXMgaXQgZWFzaWVyIGZvciBwZW9wbGUgdG8gY3JlYXRlIGEgY3VzdG9tIHRoZW1lIHdpdGhvdXQgbmVlZGluZ1xuICAvLyB0byBzcGVjaWZ5IGVhY2ggaHVlIGluZGl2aWR1YWxseS5cbiAgJHRodW1iLXVuY2hlY2tlZC1odWU6IGlmKCRpcy1kYXJrLCA0MDAsIDUwKTtcbiAgJHRodW1iLWNoZWNrZWQtaHVlOiBkZWZhdWx0O1xuXG4gICRiYXItdW5jaGVja2VkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgJHJpcHBsZS11bmNoZWNrZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSk7XG5cbiAgLm1hdC1zbGlkZS10b2dnbGUge1xuICAgIEBpbmNsdWRlIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJGFjY2VudCwgJHRodW1iLWNoZWNrZWQtaHVlKTtcblxuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgX21hdC1zbGlkZS10b2dnbGUtY2hlY2tlZCgkcHJpbWFyeSwgJHRodW1iLWNoZWNrZWQtaHVlKTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJHdhcm4sICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgfVxuXG4gICAgJjpub3QoLm1hdC1jaGVja2VkKSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIC8vIFNldCBubyBvcGFjaXR5IGZvciB0aGUgcmlwcGxlcyBiZWNhdXNlIHRoZSByaXBwbGUgb3BhY2l0eSB3aWxsIGJlIGFkanVzdGVkIGR5bmFtaWNhbGx5XG4gICAgICAvLyBiYXNlZCBvbiB0aGUgdHlwZSBvZiBpbnRlcmFjdGlvbiB3aXRoIHRoZSBzbGlkZS10b2dnbGUgKGUuZy4gZm9yIGhvdmVyLCBmb2N1cylcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyaXBwbGUtdW5jaGVja2VkLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMSwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRtYXQtZ3JleSwgJHRodW1iLXVuY2hlY2tlZC1odWUpO1xuICB9XG5cbiAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFyLXVuY2hlY2tlZC1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1zbGlkZS10b2dnbGUtY29udGVudCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbGlkZS10b2dnbGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2xpZGUtdG9nZ2xlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlLXRvZ2dsZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRwYWxldHRlKSB7XG4gIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsXG4gIC5tYXQtc2xpZGVyLXRodW1iLFxuICAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgfVxuXG4gIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpO1xuICB9XG5cbiAgLm1hdC1zbGlkZXItZm9jdXMtcmluZyB7XG4gICAgJG9wYWNpdHk6IDAuMjtcbiAgICAkY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdCwgJG9wYWNpdHkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAgIC8vIGBtYXQtY29sb3JgIHVzZXMgYHJnYmFgIGZvciB0aGUgb3BhY2l0eSB3aGljaCB3b24ndCB3b3JrIHdpdGhcbiAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgIEBpZiAodHlwZS1vZigkY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zbGlkZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAkbWF0LXNsaWRlci1vZmYtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZik7XG4gICRtYXQtc2xpZGVyLW9mZi1mb2N1c2VkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1vZmYtYWN0aXZlKTtcbiAgJG1hdC1zbGlkZXItZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZik7XG4gICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1taW4pO1xuICAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1sYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzbGlkZXItb2ZmKTtcbiAgJG1hdC1zbGlkZXItdGljay1vcGFjaXR5OiAwLjc7XG4gICRtYXQtc2xpZGVyLXRpY2stY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgJG1hdC1zbGlkZXItdGljay1vcGFjaXR5KTtcbiAgJG1hdC1zbGlkZXItdGljay1zaXplOiAycHg7XG5cbiAgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRwcmltYXJ5KTtcbiAgfVxuXG4gIC5tYXQtYWNjZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRhY2NlbnQpO1xuICB9XG5cbiAgLm1hdC13YXJuIHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCR3YXJuKTtcbiAgfVxuXG4gIC5tYXQtc2xpZGVyOmhvdmVyLFxuICAuY2RrLWZvY3VzZWQge1xuICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWZvY3VzZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItZGlzYWJsZWQge1xuICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsXG4gICAgLm1hdC1zbGlkZXItdHJhY2stZmlsbCxcbiAgICAubWF0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1taW4tdmFsdWUge1xuICAgIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcge1xuICAgICAgJG9wYWNpdHk6IDAuMTI7XG4gICAgICAkY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgJG9wYWNpdHkpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgICAgQGlmICh0eXBlLW9mKCRjb2xvcikgIT0gY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcge1xuICAgICAgLm1hdC1zbGlkZXItdGh1bWIsXG4gICAgICAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmNkay1mb2N1c2VkIHtcbiAgICAgICAgLm1hdC1zbGlkZXItdGh1bWIsXG4gICAgICAgIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1sYWJlbC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpIHtcbiAgICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWF0LXNsaWRlci1vZmYtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5jZGstZm9jdXNlZCB7XG4gICAgICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLW9mZi1mb2N1c2VkLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLXRpY2stY29sb3I7XG5cbiAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgLy8gQ1NTIHZhcmlhYmxlcyBzbyB3ZSBuZWVkIHRvIHVzZSBgb3BhY2l0eWAgYXMgYSBmYWxsYmFjay5cbiAgICBAaWYgKHR5cGUtb2YoJG1hdC1zbGlkZXItdGljay1jb2xvcikgIT0gY29sb3IpIHtcbiAgICAgIG9wYWNpdHk6ICRtYXQtc2xpZGVyLXRpY2stb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuICAgIC8vIEZpcmVmb3ggZG9lc24ndCBkcmF3IHRoZSBncmFkaWVudCBjb3JyZWN0bHkgd2l0aCAndG8gcmlnaHQnXG4gICAgLy8gKHNlZSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE0MzE5KS5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMC4wMDAxZGVnLCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgQGlmICh0eXBlLW9mKCRtYXQtc2xpZGVyLXRpY2stY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgQGlmICh0eXBlLW9mKCRtYXQtc2xpZGVyLXRpY2stY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2xpZGVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0IHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbGlkZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNsaWRlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2xpZGVyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4kbWF0LXN0ZXBwZXItaGVhZGVyLWhlaWdodDogNzJweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciBoaWdoZXN0IGRlbnNpdHkgc3RlcHBlcidzIGlzIGRldGVybWluZWQgYmFzZWQgb24gaG93IG11Y2hcbi8vIHN0ZXBwZXIgaGVhZGVycyBjYW4gc2hyaW5rIHVudGlsIHRoZSBzdGVwIGljb24gb3Igc3RlcCBsYWJlbCBleGNlZWQuIFdlIGNhbid0IHVzZVxuLy8gYSB2YWx1ZSBiZWxvdyBgNDJweGAgYmVjYXVzZSB0aGUgb3B0aW9uYWwgbGFiZWwgZm9yIHN0ZXBzIHdvdWxkIG90aGVyd2lzZSBleGNlZWQuXG4kbWF0LXN0ZXBwZXItaGVhZGVyLW1pbmltdW0taGVpZ2h0OiA0MnB4ICFkZWZhdWx0O1xuJG1hdC1zdGVwcGVyLWhlYWRlci1tYXhpbXVtLWhlaWdodDogJG1hdC1zdGVwcGVyLWhlYWRlci1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtc3RlcHBlci1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXN0ZXBwZXItaGVhZGVyLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LXN0ZXBwZXItaGVhZGVyLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtc3RlcHBlci1oZWFkZXItbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGRlbm90ZWQgd2l0aCBgIWRlZmF1bHRgIGJlY2F1c2UgdGhleSBhcmUgdXNlZCBpbiB0aGUgbm9uLXRoZW1lXG4vLyBjb21wb25lbnQgc3R5bGVzLiBNb2RpZnlpbmcgdGhlc2UgdmFyaWFibGVzIGRvZXMgbm90IGhhdmUgdGhlIGRlc2lyZWQgZWZmZWN0IGZvciBjb25zdW1lcnMuXG4kbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodDogMjRweDtcbiRtYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20tdG9wLWdhcDogMTZweDtcbiRtYXQtc3RlcHBlci1sYWJlbC1taW4td2lkdGg6IDUwcHg7XG5cbiRtYXQtdmVydGljYWwtc3RlcHBlci1jb250ZW50LW1hcmdpbjogMzZweDtcblxuJG1hdC1zdGVwcGVyLXNpZGUtZ2FwOiAyNHB4O1xuJG1hdC1zdGVwcGVyLWxpbmUtd2lkdGg6IDFweDtcbiRtYXQtc3RlcHBlci1saW5lLWdhcDogOHB4O1xuXG4kbWF0LXN0ZXAtc3ViLWxhYmVsLWZvbnQtc2l6ZTogMTJweDtcbiRtYXQtc3RlcC1oZWFkZXItaWNvbi1zaXplOiAxNnB4O1xuXG5cbkBtaXhpbiBtYXQtc3RlcHBlci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtc3RlcC1oZWFkZXIge1xuICAgICYuY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gICAgJi5jZGstcHJvZ3JhbS1mb2N1c2VkLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgfVxuXG4gICAgLy8gT24gdG91Y2ggZGV2aWNlcyB0aGUgOmhvdmVyIHN0YXRlIHdpbGwgbGluZ2VyIG9uIHRoZSBlbGVtZW50IGFmdGVyIGEgdGFwLlxuICAgIC8vIFJlc2V0IGl0IHZpYSBgQG1lZGlhYCBhZnRlciB0aGUgZGVjbGFyYXRpb24sIGJlY2F1c2UgdGhlIG1lZGlhIHF1ZXJ5IGlzbid0XG4gICAgLy8gc3VwcG9ydGVkIGJ5IGFsbCBicm93c2VycyB5ZXQuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWxhYmVsLFxuICAgIC5tYXQtc3RlcC1vcHRpb25hbCB7XG4gICAgICAvLyBUT0RPKGpvc2VwaHBlcnJvdHQpOiBVcGRhdGUgdG8gdXNpbmcgYSBjb3JyZWN0ZWQgZGlzYWJsZWQtdGV4dCBjb250cmFzdFxuICAgICAgLy8gaW5zdGVhZCBvZiBzZWNvbmRhcnktdGV4dC5cbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtaWNvbiB7XG4gICAgICAvLyBUT0RPKGpvc2VwaHBlcnJvdHQpOiBVcGRhdGUgdG8gdXNpbmcgYSBjb3JyZWN0ZWQgZGlzYWJsZWQtdGV4dCBjb250cmFzdFxuICAgICAgLy8gaW5zdGVhZCBvZiBzZWNvbmRhcnktdGV4dC5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsXG4gICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZG9uZSxcbiAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgLm1hdC1zdGVwLWljb24ge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCxcbiAgICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgLm1hdC1zdGVwLWljb24ge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLFxuICAgICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVycm9yIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtbGFiZWwubWF0LXN0ZXAtbGFiZWwtZXJyb3Ige1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zdGVwcGVyLWhvcml6b250YWwsIC5tYXQtc3RlcHBlci12ZXJ0aWNhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgfVxuXG4gIC5tYXQtc3RlcHBlci12ZXJ0aWNhbC1saW5lOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjpiZWZvcmUsXG4gIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcjo6YWZ0ZXIsXG4gIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zdGVwcGVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXN0ZXBwZXItdmVydGljYWwsIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1zdGVwLWxhYmVsIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIH07XG4gIH1cblxuICAubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLm1hdC1zdGVwLWxhYmVsLWVycm9yIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxuXG4gIC5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZCB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTIpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9O1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc3RlcHBlci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRoZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZSgkbWF0LXN0ZXBwZXItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuICAkdmVydGljYWwtcGFkZGluZzogKCRoZWlnaHQgLSAkbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodCkgLyAyO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXBwZXItbGFiZWwtcG9zaXRpb24tYm90dG9tIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcixcbiAgICAubWF0LXZlcnRpY2FsLXN0ZXBwZXItaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6ICR2ZXJ0aWNhbC1wYWRkaW5nICRtYXQtc3RlcHBlci1zaWRlLWdhcDtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmVzIHRoYXQgdGhlIHZlcnRpY2FsIGxpbmVzIGZvciB0aGUgc3RlcCBjb250ZW50IGV4Y2VlZCBpbnRvIHRoZSBzdGVwXG4gICAgLy8gaGVhZGVycyB3aXRoIGEgZ2l2ZW4gZGlzdGFuY2UgKGAkbWF0LXN0ZXBwZXItbGluZS1nYXBgKSB0byB0aGUgc3RlcCBpY29uLlxuICAgIC5tYXQtc3RlcHBlci12ZXJ0aWNhbC1saW5lOjpiZWZvcmUge1xuICAgICAgdG9wOiAkbWF0LXN0ZXBwZXItbGluZS1nYXAgLSAkdmVydGljYWwtcGFkZGluZztcbiAgICAgIGJvdHRvbTogJG1hdC1zdGVwcGVyLWxpbmUtZ2FwIC0gJHZlcnRpY2FsLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBob3Jpem9udGFsIGxpbmVzIGZvciB0aGUgc3RlcCBoZWFkZXIgYXJlIGNlbnRlcmVkIHZlcnRpY2FsbHkuXG4gICAgLm1hdC1zdGVwcGVyLWxhYmVsLXBvc2l0aW9uLWJvdHRvbSAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXIge1xuICAgICAgJjo6YWZ0ZXIsICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJHZlcnRpY2FsLXBhZGRpbmcgKyAkbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodCAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBob3Jpem9udGFsIGxpbmUgZm9yIHRoZSBzdGVwIGNvbnRlbnQgaXMgYWxpZ25lZCBjZW50ZXJlZCB2ZXJ0aWNhbGx5LlxuICAgIC5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1zdGVwcGVyLWhvcml6b250YWwtbGluZSB7XG4gICAgICB0b3A6ICR2ZXJ0aWNhbC1wYWRkaW5nICsgJG1hdC1zdGVwcGVyLWxhYmVsLWhlYWRlci1oZWlnaHQgLyAyO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXN0ZXBwZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXN0ZXBwZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc3RlcHBlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc3RlcHBlci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5AbWl4aW4gbWF0LXNvcnQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtc29ydC1oZWFkZXItYXJyb3cge1xuICAgICR0YWJsZS1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gICAgJHRleHQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuXG4gICAgLy8gQmVjYXVzZSB0aGUgYXJyb3cgaXMgbWFkZSB1cCBvZiBtdWx0aXBsZSBlbGVtZW50cyB0aGF0IGFyZSBzdGFja2VkIG9uIHRvcCBvZiBlYWNoIG90aGVyLFxuICAgIC8vIHdlIGNhbid0IHVzZSB0aGUgc2VtaS10cmFuc3BhcmVudCBjb2xvciBmcm9tIHRoZSB0aGVtZSBkaXJlY3RseS4gSWYgdGhlIHZhbHVlIGlzIGEgY29sb3JcbiAgICAvLyAqdHlwZSosIHdlIGNvbnZlcnQgaXQgaW50byBhIHNvbGlkIGNvbG9yIGJ5IHRha2luZyB0aGUgb3BhY2l0eSBmcm9tIHRoZSByZ2JhIHZhbHVlIGFuZFxuICAgIC8vIHVzaW5nIHRoZSB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgdG8gcHV0IGludG8gZm9yZWdyb3VuZFxuICAgIC8vIHdoZW4gbWl4aW5nIHRoZSBjb2xvcnMgdG9nZXRoZXIuIE90aGVyd2lzZSwgaWYgaXQgcmVzb2x2ZXMgdG8gc29tZXRoaW5nIGRpZmZlcmVudFxuICAgIC8vIChlLmcuIGl0IHJlc29sdmVzIHRvIGEgQ1NTIHZhcmlhYmxlKSwgd2UgdXNlIHRoZSBjb2xvciBkaXJlY3RseS5cbiAgICBAaWYgKHR5cGUtb2YoJHRhYmxlLWJhY2tncm91bmQpID09IGNvbG9yIGFuZCB0eXBlLW9mKCR0ZXh0LWNvbG9yKSA9PSBjb2xvcikge1xuICAgICAgJHRleHQtb3BhY2l0eTogb3BhY2l0eSgkdGV4dC1jb2xvcik7XG4gICAgICBjb2xvcjogbWl4KCR0YWJsZS1iYWNrZ3JvdW5kLCByZ2JhKCR0ZXh0LWNvbG9yLCAxKSwgKDEgLSAkdGV4dC1vcGFjaXR5KSAqIDEwMCUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc29ydC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXNvcnQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNvcnQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNvcnQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc29ydC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNvcnQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zb3J0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtdGFicy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaGVhZGVyLWJvcmRlcjogMXB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG5cbiAgLm1hdC10YWItbmF2LWJhcixcbiAgLm1hdC10YWItaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciB7XG4gICAgLm1hdC10YWItbmF2LWJhcixcbiAgICAubWF0LXRhYi1oZWFkZXIge1xuICAgICAgYm9yZGVyLXRvcDogJGhlYWRlci1ib3JkZXI7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtdGFiLWxhYmVsLCAubWF0LXRhYi1saW5rIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICYubWF0LXRhYi1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gIH1cblxuICAvLyBSZW1vdmUgaGVhZGVyIGJvcmRlciB3aGVuIHRoZXJlIGlzIGEgYmFja2dyb3VuZCBjb2xvclxuICAubWF0LXRhYi1ncm91cFtjbGFzcyo9J21hdC1iYWNrZ3JvdW5kLSddIC5tYXQtdGFiLWhlYWRlcixcbiAgLm1hdC10YWItbmF2LWJhcltjbGFzcyo9J21hdC1iYWNrZ3JvdW5kLSddIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cblxuICAubWF0LXRhYi1ncm91cCwgLm1hdC10YWItbmF2LWJhciB7XG4gICAgJHRoZW1lLWNvbG9yczogKFxuICAgICAgcHJpbWFyeTogJHByaW1hcnksXG4gICAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgICB3YXJuOiAkd2FyblxuICAgICk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICR0aGVtZS1jb2xvcnMge1xuICAgICAgLy8gU2V0IHRoZSBmb3JlZ3JvdW5kIGNvbG9yIG9mIHRoZSB0YWJzXG4gICAgICAmLm1hdC0jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtdGFiLWxhYmVsLWZvY3VzKCRjb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtaW5rLWJhcigkY29sb3IpO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIGluayBiYXIgd2hlbiBiYWNrZ3JvdW5kIGNvbG9yIGlzIHRoZSBzYW1lXG4gICAgICAgICYubWF0LWJhY2tncm91bmQtI3skbmFtZX0ge1xuICAgICAgICAgID4gLm1hdC10YWItaGVhZGVyLCA+IC5tYXQtdGFiLWxpbmstY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9tYXQtaW5rLWJhcigkY29sb3IsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgICAvLyBTZXQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgdGFicyBhbmQgb3ZlcnJpZGUgZm9jdXMgY29sb3JcbiAgICAgICYubWF0LWJhY2tncm91bmQtI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LXRhYi1sYWJlbC1mb2N1cygkY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBfbWF0LXRhYnMtYmFja2dyb3VuZCgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1pbmstYmFyKCRjb2xvciwgJGh1ZTogZGVmYXVsdCkge1xuICAubWF0LWluay1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkY29sb3IsICRodWUpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRhYi1sYWJlbC1mb2N1cygkdGFiLWZvY3VzLWNvbG9yKSB7XG4gIC5tYXQtdGFiLWxhYmVsLFxuICAubWF0LXRhYi1saW5rIHtcbiAgICAmLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAgICYuY2RrLXByb2dyYW0tZm9jdXNlZCB7XG4gICAgICAmOm5vdCgubWF0LXRhYi1kaXNhYmxlZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHRhYi1mb2N1cy1jb2xvciwgbGlnaHRlciwgMC4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFicy1iYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kLWNvbG9yKSB7XG4gIC8vIE5vdGUgdGhhdCB0aGVzZSBzZWxlY3RvcnMgdGFyZ2V0IGRpcmVjdCBkZXNjZW5kYW50cyBzb1xuICAvLyB0aGF0IHRoZSBzdHlsZXMgZG9uJ3QgYXBwbHkgdG8gYW55IG5lc3RlZCB0YWIgZ3JvdXBzLlxuXG4gIC8vIFNldCBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdGFiIGdyb3VwXG4gID4gLm1hdC10YWItaGVhZGVyLCA+IC5tYXQtdGFiLWxpbmstY29udGFpbmVyLCA+IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQtY29sb3IpO1xuICB9XG5cbiAgLy8gU2V0IGxhYmVscyB0byBjb250cmFzdCBhZ2FpbnN0IGJhY2tncm91bmRcbiAgPiAubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwsID4gLm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluayB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCk7XG5cbiAgICAmLm1hdC10YWItZGlzYWJsZWQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCwgMC40KTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgcGFnaW5hdGlvbiBjaGV2cm9ucyB0byBjb250cmFzdCBiYWNrZ3JvdW5kXG4gID4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixcbiAgPiAubWF0LXRhYi1saW5rcyAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLFxuICA+IC5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICA+IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24ge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjQpO1xuICB9XG5cbiAgLy8gU2V0IHJpcHBsZXMgY29sb3IgdG8gYmUgdGhlIGNvbnRyYXN0IGNvbG9yIG9mIHRoZSBuZXcgYmFja2dyb3VuZC4gT3RoZXJ3aXNlIHRoZSByaXBwbGVcbiAgLy8gY29sb3Igd2lsbCBiZSBiYXNlZCBvbiB0aGUgYXBwIGJhY2tncm91bmQgY29sb3IuXG4gID4gLm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsXG4gID4gLm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjEyKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRhYnMtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdGFiLWdyb3VwIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC10YWItbGFiZWwsIC5tYXQtdGFiLWxpbmsge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJ1dHRvbik7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJ1dHRvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC10YWJzLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC10YWJzLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10YWJzJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRhYnMtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC10YWJzLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdGFicy10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbi8vIE1pbmltdW0gaGVpZ2h0IGZvciB0b29sYmFyJ3MgaW4gdGhlIGhpZ2hlc3QgZGVuc2l0eSBpcyBkaWZmaWN1bHQgdG8gZGV0ZXJtaW5lIGJlY2F1c2Vcbi8vIGRldmVsb3BlcnMgY2FuIHByb2plY3QgYXJiaXRyYXJ5IGNvbnRlbnQuIFdlIHVzZSBhIG1pbmltdW0gdmFsdWUgdGhhdCBlbnN1cmVzIHRoYXQgbW9zdFxuLy8gY29tbW9uIGNvbnRlbnQgKGUuZy4gaWNvbiBidXR0b25zKSBkb2VzIG5vdCBleGNlZWQgdGhlIHJvdyBib3VuZGFyaWVzIGluIGhpZ2hlc3QgZGVuc2l0eS5cbiRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodDogNDRweCAhZGVmYXVsdDtcblxuJG1hdC10b29sYmFyLWhlaWdodC1kZXNrdG9wOiA2NHB4ICFkZWZhdWx0O1xuJG1hdC10b29sYmFyLW1heGltdW0taGVpZ2h0LWRlc2t0b3A6ICRtYXQtdG9vbGJhci1oZWlnaHQtZGVza3RvcCAhZGVmYXVsdDtcbiRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodC1kZXNrdG9wOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtdG9vbGJhci1oZWlnaHQtbW9iaWxlOiA1NnB4ICFkZWZhdWx0O1xuJG1hdC10b29sYmFyLW1heGltdW0taGVpZ2h0LW1vYmlsZTogJG1hdC10b29sYmFyLWhlaWdodC1tb2JpbGUgIWRlZmF1bHQ7XG4kbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQtbW9iaWxlOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtdG9vbGJhci1kZXNrdG9wLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtdG9vbGJhci1oZWlnaHQtZGVza3RvcCxcbiAgICBtYXhpbXVtOiAkbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtZGVza3RvcCxcbiAgICBtaW5pbXVtOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQtZGVza3RvcCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuJG1hdC10b29sYmFyLW1vYmlsZS1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXRvb2xiYXItaGVpZ2h0LW1vYmlsZSxcbiAgICBtYXhpbXVtOiAkbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtbW9iaWxlLFxuICAgIG1pbmltdW06ICRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodC1tb2JpbGUsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIF9tYXQtdG9vbGJhci1oZWlnaHQoJGhlaWdodCkge1xuICAubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93cyB7XG4gICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgfVxuICAubWF0LXRvb2xiYXItcm93LCAubWF0LXRvb2xiYXItc2luZ2xlLXJvdyB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRvb2xiYXItY29sb3IoJHBhbGV0dGUpIHtcbiAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG59XG5cbkBtaXhpbiBfbWF0LXRvb2xiYXItZm9ybS1maWVsZC1vdmVycmlkZXMge1xuICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lLFxuICAubWF0LWZvcm0tZmllbGQtcmlwcGxlLFxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAubWF0LXNlbGVjdC12YWx1ZSxcbiAgLm1hdC1zZWxlY3QtYXJyb3csXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIGNhcmV0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC10b29sYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGFwcC1iYXIpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItY29sb3IoJGFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItY29sb3IoJHdhcm4pO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1mb3JtLWZpZWxkLW92ZXJyaWRlcztcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRvb2xiYXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdG9vbGJhcixcbiAgLm1hdC10b29sYmFyIGgxLFxuICAubWF0LXRvb2xiYXIgaDIsXG4gIC5tYXQtdG9vbGJhciBoMyxcbiAgLm1hdC10b29sYmFyIGg0LFxuICAubWF0LXRvb2xiYXIgaDUsXG4gIC5tYXQtdG9vbGJhciBoNiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHRpdGxlKTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGhlaWdodC1kZXNrdG9wOiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LXRvb2xiYXItZGVza3RvcC1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG4gICRoZWlnaHQtbW9iaWxlOiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LXRvb2xiYXItbW9iaWxlLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICAgIC8vIFNldCB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIHRoZSB0b29sYmFyLlxuICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1oZWlnaHQoJGhlaWdodC1kZXNrdG9wKTtcblxuICAgIC8vIEFzIHBlciBzcGVjcywgdG9vbGJhcnMgc2hvdWxkIGhhdmUgYSBkaWZmZXJlbnQgaGVpZ2h0IGluIG1vYmlsZSBkZXZpY2VzLiBUaGlzIGhhcyBiZWVuXG4gICAgLy8gc3BlY2lmaWVkIGluIHRoZSBvbGQgZ3VpZGVsaW5lcyBhbmQgaXMgc3RpbGwgb2JzZXJ2YWJsZSBpbiB0aGUgbmV3IHNwZWNpZmljYXRpb25zIGJ5XG4gICAgLy8gbG9va2luZyBhdCB0aGUgc3BlYyBpbWFnZXMuIFNlZTogaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29tcG9uZW50cy9hcHAtYmFycy10b3AuaHRtbCNhbmF0b215XG4gICAgQG1lZGlhICgkbWF0LXhzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWhlaWdodCgkaGVpZ2h0LW1vYmlsZSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtdG9vbGJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtdG9vbGJhcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdG9vbGJhci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4kbWF0LXRvb2x0aXAtdGFyZ2V0LWhlaWdodDogMjJweDtcbiRtYXQtdG9vbHRpcC1mb250LXNpemU6IDEwcHg7XG4kbWF0LXRvb2x0aXAtdmVydGljYWwtcGFkZGluZzogKCRtYXQtdG9vbHRpcC10YXJnZXQtaGVpZ2h0IC0gJG1hdC10b29sdGlwLWZvbnQtc2l6ZSkgLyAyO1xuXG4kbWF0LXRvb2x0aXAtaGFuZHNldC10YXJnZXQtaGVpZ2h0OiAzMHB4O1xuJG1hdC10b29sdGlwLWhhbmRzZXQtZm9udC1zaXplOiAxNHB4O1xuJG1hdC10b29sdGlwLWhhbmRzZXQtdmVydGljYWwtcGFkZGluZzpcbiAgICAoJG1hdC10b29sdGlwLWhhbmRzZXQtdGFyZ2V0LWhlaWdodCAtICRtYXQtdG9vbHRpcC1oYW5kc2V0LWZvbnQtc2l6ZSkgLyAyO1xuXG5AbWl4aW4gbWF0LXRvb2x0aXAtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLm1hdC10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHRvb2x0aXAsIDAuOSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sdGlwLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRvb2x0aXAge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gICAgZm9udC1zaXplOiAkbWF0LXRvb2x0aXAtZm9udC1zaXplO1xuICAgIHBhZGRpbmctdG9wOiAkbWF0LXRvb2x0aXAtdmVydGljYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogJG1hdC10b29sdGlwLXZlcnRpY2FsLXBhZGRpbmc7XG4gIH1cblxuICAubWF0LXRvb2x0aXAtaGFuZHNldCB7XG4gICAgZm9udC1zaXplOiAkbWF0LXRvb2x0aXAtaGFuZHNldC1mb250LXNpemU7XG4gICAgcGFkZGluZy10b3A6ICRtYXQtdG9vbHRpcC1oYW5kc2V0LXZlcnRpY2FsLXBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206ICRtYXQtdG9vbHRpcC1oYW5kc2V0LXZlcnRpY2FsLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdG9vbHRpcC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtdG9vbHRpcC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtdG9vbHRpcCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sdGlwLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbHRpcC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRvb2x0aXAtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtc25hY2stYmFyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG5cbiAgLm1hdC1zbmFjay1iYXItY29udGFpbmVyIHtcbiAgICAvLyBVc2UgdGhlIHByaW1hcnkgdGV4dCBvbiB0aGUgZGFyayB0aGVtZSwgZXZlbiB0aG91Z2ggdGhlIGxpZ2h0ZXIgb25lIHVzZXNcbiAgICAvLyBhIHNlY29uZGFyeSwgYmVjYXVzZSB0aGUgY29udHJhc3Qgb24gdGhlIGxpZ2h0IHByaW1hcnkgdGV4dCBpcyBwb29yLlxuICAgIGNvbG9yOiBpZigkaXMtZGFyay10aGVtZSwgJGRhcmstcHJpbWFyeS10ZXh0LCAkbGlnaHQtc2Vjb25kYXJ5LXRleHQpO1xuICAgIGJhY2tncm91bmQ6IGlmKCRpcy1kYXJrLXRoZW1lLCBtYXAtZ2V0KCRtYXQtZ3JleSwgNTApLCAjMzIzMjMyKTtcblxuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbig2LCAkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCBpbmhlcml0LCBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCkpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc25hY2stYmFyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXNpbXBsZS1zbmFja2JhciB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgICB9XG4gIH1cblxuICAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogaW5oZXJpdDtcbiAgICAgIHNpemU6IGluaGVyaXQ7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbmFjay1iYXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNuYWNrLWJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc25hY2stYmFyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNuYWNrLWJhci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vLyBUaGVtZSBzdHlsZXMgdGhhdCBvbmx5IGFwcGx5IHRvIHRoZSBmaWxsIGFwcGVhcmFuY2Ugb2YgdGhlIGZvcm0tZmllbGQuXG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1maWxsLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkZmlsbC1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGJhc2UsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjEsIDAuMDQpKTtcbiAgJGZpbGwtZGlzYWJsZWQtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlLCBpZigkaXMtZGFyay10aGVtZSwgMC4wNSwgMC4wMikpO1xuICAkdW5kZXJsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjUsIDAuNDIpKTtcbiAgJGxhYmVsLWRpc2FibGVkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwge1xuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsbC1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQge1xuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRsYWJlbC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlOiAwO1xuXG4vLyBBcHBsaWVzIGEgZmxvYXRpbmcgbGFiZWwgYWJvdmUgdGhlIGZvcm0gZmllbGQgY29udHJvbCBpdHNlbGYuXG5AbWl4aW4gX21hdC1mb3JtLWZpZWxkLWZpbGwtbGFiZWwtZmxvYXRpbmcoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGUpXG4gICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICB3aWR0aDogMTAwJSAvICRmb250LXNjYWxlICsgJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1maWxsLWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlICsgMC4wMDAwMSAhZ2xvYmFsO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtZmlsbC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgZmxvYXRpbmcgbGFiZWwgYW5kIHN1YnNjcmlwdC5cbiAgJHN1YnNjcmlwdC1mb250LXNjYWxlOiAwLjc1O1xuICAvLyBUaGUgcGFkZGluZyBvbiB0b3Agb2YgdGhlIGluZml4LlxuICAkaW5maXgtcGFkZGluZy10b3A6IDAuMjVlbTtcbiAgLy8gVGhlIHBhZGRpbmcgYmVsb3cgdGhlIGluZml4LlxuICAkaW5maXgtcGFkZGluZy1ib3R0b206IDAuNzVlbTtcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIGFtb3VudCB3ZSBvZmZzZXQgdGhlIGxhYmVsIGZyb20gdGhlIGlucHV0IHRleHQgaW4gdGhlIGZpbGwgYXBwZWFyYW5jZS5cbiAgJGZpbGwtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQ6IC0wLjVlbTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIHtcbiAgICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgICAgcGFkZGluZzogJGluZml4LXBhZGRpbmctdG9wIDAgJGluZml4LXBhZGRpbmctYm90dG9tIDA7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZy10b3A7XG4gICAgICBtYXJnaW4tdG9wOiAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldDtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1maWxsLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmctdG9wICsgJGZpbGwtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWZpbGwtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZy10b3AgKyAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtZmlsbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZm9ybS1maWVsZC1maWxsJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZmlsbC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWZpbGwtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbi8vIFRoZW1lIHN0eWxlcyB0aGF0IG9ubHkgYXBwbHkgdG8gdGhlIGxlZ2FjeSBhcHBlYXJhbmNlIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtbGVnYWN5LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAkdW5kZXJsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjcsIDAuNDIpKTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kge1xuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgIH1cblxuICAgIC5tYXQtaGludCB7XG4gICAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY29udHJvbC1kaXNhYmxlZC11bmRlcmxpbmUoJHVuZGVybGluZS1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgLy8gV2UgdXNlIHBlcnNwZWN0aXZlIHRvIGZpeCB0aGUgdGV4dCBibHVycmluZXNzIGFzIGRlc2NyaWJlZCBoZXJlOlxuICAvLyBodHRwOi8vd3d3LnVzZXJhZ2VudG1hbi5jb20vYmxvZy8yMDE0LzA1LzA0L2ZpeGluZy10eXBvZ3JhcGh5LWluc2lkZS1vZi0yLWQtY3NzLXRyYW5zZm9ybXMvXG4gIC8vIFRoaXMgcmVzdWx0cyBpbiBhIHNtYWxsIGppdHRlciBhZnRlciB0aGUgbGFiZWwgZmxvYXRzIG9uIEZpcmVmb3gsIHdoaWNoIHRoZVxuICAvLyB0cmFuc2xhdGVaIGZpeGVzLlxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcpIHNjYWxlKCRmb250LXNjYWxlKSBwZXJzcGVjdGl2ZSgxMDBweClcbiAgdHJhbnNsYXRlWigwLjAwMXB4ICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUpO1xuICAvLyBUaGUgdHJpY2tzIGFib3ZlIHVzZWQgdG8gc21vb3RoIG91dCB0aGUgYW5pbWF0aW9uIG9uIGNocm9tZSBhbmQgZmlyZWZveCBhY3R1YWxseSBtYWtlIHRoaW5nc1xuICAvLyB3b3JzZSBvbiBJRSwgc28gd2UgZG9uJ3QgaW5jbHVkZSB0aGVtIGluIHRoZSBJRSB2ZXJzaW9uLlxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUpXG4gICAgICAgICAgICAgICAgICBzY2FsZSgkZm9udC1zY2FsZSk7XG5cbiAgd2lkdGg6IDEwMCUgLyAkZm9udC1zY2FsZSArICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuLy8gU2FtZSBhcyBtaXhpbiBhYm92ZSwgYnV0IG9taXRzIHRoZSB0cmFuc2xhdGVaIGZvciBwcmludGluZyBwdXJwb3Nlcy5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgLy8gVGhpcyByZXN1bHRzIGluIGEgc21hbGwgaml0dGVyIGFmdGVyIHRoZSBsYWJlbCBmbG9hdHMgb24gRmlyZWZveCwgd2hpY2ggdGhlXG4gIC8vIHRyYW5zbGF0ZVogZml4ZXMuXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlKVxuICAgICAgICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICAvLyBUaGUgdHJpY2tzIGFib3ZlIHVzZWQgdG8gc21vb3RoIG91dCB0aGUgYW5pbWF0aW9uIG9uIGNocm9tZSBhbmQgZmlyZWZveCBhY3R1YWxseSBtYWtlIHRoaW5nc1xuICAvLyB3b3JzZSBvbiBJRSwgc28gd2UgZG9uJ3QgaW5jbHVkZSB0aGVtIGluIHRoZSBJRSB2ZXJzaW9uLlxuICAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIHRoZSB0b3Agb2YgdGhlIGxpbmUgYW5kIHRoZSB0b3Agb2YgdGhlIGFjdHVhbCB0ZXh0XG4gIC8vIChhcyBhIGZyYWN0aW9uIG9mIHRoZSBmb250LXNpemUpLlxuICAkbGluZS1zcGFjaW5nOiAoJGxpbmUtaGVpZ2h0IC0gMSkgLyAyO1xuICAvLyBUaGUgcGFkZGluZyBvbiB0aGUgaW5maXguIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLCBidXQgc2VlbSB0byBtZWFzdXJlIGZyb20gdGhlIGVkZ2VcbiAgLy8gb2YgdGhlIHRleHQgaXRzZWxmLCBub3QgdGhlIGVkZ2Ugb2YgdGhlIGxpbmU7IHRoZXJlZm9yZSB3ZSBzdWJ0cmFjdCBvZmYgdGhlIGxpbmUgc3BhY2luZy5cbiAgJGluZml4LXBhZGRpbmc6IDAuNWVtIC0gJGxpbmUtc3BhY2luZztcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIHNwYWNlIGJldHdlZW4gdGhlIGJvdHRvbSBvZiB0aGUgLm1hdC1mb3JtLWZpZWxkLWZsZXggYXJlYSBhbmQgdGhlIHN1YnNjcmlwdCB3cmFwcGVyLlxuICAvLyBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZSwgYnV0IHRoaXMgbWFyZ2luIGlzIGFwcGxpZWQgdG8gYW4gZWxlbWVudCB3aXRoIHRoZSBzdWJzY3JpcHRcbiAgLy8gdGV4dCBmb250IHNpemUsIHNvIHdlIG5lZWQgdG8gZGl2aWRlIGJ5IHRoZSBzY2FsZSBmYWN0b3IgdG8gbWFrZSBpdCBoYWxmIG9mIHRoZSBvcmlnaW5hbCB0ZXh0XG4gIC8vIHNpemUuIFdlIGFnYWluIG5lZWQgdG8gc3VidHJhY3Qgb2ZmIHRoZSBsaW5lIHNwYWNpbmcgc2luY2UgdGhlIG1vY2tzIG1lYXN1cmUgdG8gdGhlIGVkZ2Ugb2YgdGhlXG4gIC8vIHRleHQsIG5vdCB0aGUgIGVkZ2Ugb2YgdGhlIGxpbmUuXG4gICRzdWJzY3JpcHQtbWFyZ2luLXRvcDogMC41ZW0gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGUgLSAoJGxpbmUtc3BhY2luZyAqIDIpO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IHtcbiAgICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHdyYXBwZXItcGFkZGluZy1ib3R0b207XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAgIHBhZGRpbmc6ICRpbmZpeC1wYWRkaW5nIDA7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCB3aWxsIHJlbHkgb24gQXV0b2ZpbGxNb25pdG9yIGluc3RlYWQuXG4gICAgICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbDotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIC8vIFdlIHdhbnQgdGhlIHVuZGVybGluZSB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50LlxuICAgICAgYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogJHN1YnNjcmlwdC1tYXJnaW4tdG9wO1xuXG4gICAgICAvLyBXZSB3YW50IHRoZSBzdWJzY3JpcHQgdG8gc3RhcnQgYXQgdGhlIGVuZCBvZiB0aGUgY29udGVudCBib3gsIG5vdCB0aGUgcGFkZGluZyBib3gsXG4gICAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudCAoYWRqdXN0ZWQgZm9yIHRoZSBzbWFsbGVyIGZvbnQgc2l6ZSk7XG4gICAgICB0b3A6IGNhbGMoMTAwJSAtICN7JHdyYXBwZXItcGFkZGluZy1ib3R0b20gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGV9KTtcbiAgICB9XG4gIH1cblxuICAvLyB0cmFuc2xhdGVaIGNhdXNlcyB0aGUgbGFiZWwgdG8gbm90IGFwcGVhciB3aGlsZSBwcmludGluZywgc28gd2Ugb3ZlcnJpZGUgaXQgdG8gbm90XG4gIC8vIGFwcGx5IHRyYW5zbGF0ZVogd2hpbGUgcHJpbnRpbmdcbiAgQG1lZGlhIHByaW50IHtcbiAgICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KFxuICAgICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCB3aWxsIHJlbHkgb24gQXV0b2ZpbGxNb25pdG9yIGluc3RlYWQuXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmctcHJpbnQoXG4gICAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KFxuICAgICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWxlZ2FjeS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtbGVnYWN5Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtbGVnYWN5LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtbGVnYWN5LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbi8vIFRoZW1lIHN0eWxlcyB0aGF0IG9ubHkgYXBwbHkgdG8gdGhlIG91dGxpbmUgYXBwZWFyYW5jZSBvZiB0aGUgZm9ybS1maWVsZC5cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkbGFiZWwtZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICRvdXRsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjMsIDAuMTIpKTtcbiAgJG91dGxpbmUtY29sb3ItaG92ZXI6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDEsIDAuODcpKTtcbiAgJG91dGxpbmUtY29sb3ItcHJpbWFyeTogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgJG91dGxpbmUtY29sb3ItYWNjZW50OiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICRvdXRsaW5lLWNvbG9yLXdhcm46IG1hdC1jb2xvcigkd2Fybik7XG4gICRvdXRsaW5lLWNvbG9yLWRpc2FibGVkOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjE1LCAwLjA2KSk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUge1xuICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1ob3ZlcjtcbiAgICB9XG5cbiAgICAmLm1hdC1mb2N1c2VkIHtcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLXByaW1hcnk7XG4gICAgICB9XG5cbiAgICAgICYubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1hY2NlbnQ7XG4gICAgICB9XG5cbiAgICAgICYubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGFzcyByZXBlYXRlZCBzbyB0aGF0IHJ1bGUgaXMgc3BlY2lmaWMgZW5vdWdoIHRvIG92ZXJyaWRlIGZvY3VzZWQgYWNjZW50IGNvbG9yIGNhc2UuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1pbnZhbGlkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQge1xuICAgICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIHtcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkbGFiZWwtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLWRpc2FibGVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBVc2VkIHRvIG1ha2UgaW5zdGFuY2VzIG9mIHRoZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcgbWl4aW4gbmVnbGlnaWJseSBkaWZmZXJlbnQsXG4vLyBhbmQgcHJldmVudCBHb29nbGUncyBDU1MgT3B0aW1pemVyIGZyb20gY29sbGFwc2luZyB0aGUgZGVjbGFyYXRpb25zLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHNvbWVcbi8vIG9mIHRoZSBzZWxlY3RvcnMgY29udGFpbiBwc2V1ZG8tY2xhc3NlcyBub3QgcmVjb2duaXplZCBpbiBhbGwgYnJvd3NlcnMuIElmIGEgYnJvd3NlciBlbmNvdW50ZXJzXG4vLyBhbiB1bmtub3duIHBzZXVkby1jbGFzcyBpdCB3aWxsIGRpc2NhcmQgdGhlIGVudGlyZSBydWxlIHNldC5cbiRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZTogMDtcblxuLy8gQXBwbGllcyBhIGZsb2F0aW5nIGxhYmVsIGFib3ZlIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wgaXRzZWxmLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWxhYmVsLWZsb2F0aW5nKCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlKVxuICBzY2FsZSgkZm9udC1zY2FsZSk7XG4gIHdpZHRoOiAxMDAlIC8gJGZvbnQtc2NhbGUgKyAkbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGU7XG5cbiAgJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG4gIC8vIFRoZSBhbW91bnQgdG8gc2NhbGUgdGhlIGZvbnQgZm9yIHRoZSBmbG9hdGluZyBsYWJlbCBhbmQgc3Vic2NyaXB0LlxuICAkc3Vic2NyaXB0LWZvbnQtc2NhbGU6IDAuNzU7XG4gIC8vIFRoZSBwYWRkaW5nIGFib3ZlIGFuZCBiZWxvdyB0aGUgaW5maXguXG4gICRpbmZpeC1wYWRkaW5nOiAxZW07XG4gIC8vIFRoZSBtYXJnaW4gYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC1pbmZpeCB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgZmxvYXRpbmcgbGFiZWwuXG4gICRpbmZpeC1tYXJnaW4tdG9wOiAxZW0gKiAkbGluZS1oZWlnaHQgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBzcGFjZSBiZXR3ZWVuIHRoZSBib3R0b20gb2YgdGhlIC5tYXQtZm9ybS1maWVsZC1mbGV4IGFyZWEgYW5kIHRoZSBzdWJzY3JpcHQgd3JhcHBlci5cbiAgLy8gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUsIGJ1dCB0aGlzIG1hcmdpbiBpcyBhcHBsaWVkIHRvIGFuIGVsZW1lbnQgd2l0aCB0aGUgc3Vic2NyaXB0XG4gIC8vIHRleHQgZm9udCBzaXplLCBzbyB3ZSBuZWVkIHRvIGRpdmlkZSBieSB0aGUgc2NhbGUgZmFjdG9yIHRvIG1ha2UgaXQgaGFsZiBvZiB0aGUgb3JpZ2luYWwgdGV4dFxuICAvLyBzaXplLlxuICAkc3Vic2NyaXB0LW1hcmdpbi10b3A6IDAuNWVtIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBhbW91bnQgd2Ugb2Zmc2V0IHRoZSBsYWJlbCBmcm9tIHRoZSBpbnB1dCB0ZXh0IGluIHRoZSBvdXRsaW5lIGFwcGVhcmFuY2UuXG4gICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0OiAtMC4yNWVtO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUge1xuICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgICBwYWRkaW5nOiAkaW5maXgtcGFkZGluZyAwICRpbmZpeC1wYWRkaW5nIDA7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgICAgIG1hcmdpbi10b3A6ICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0O1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IHtcbiAgICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLW91dGxpbmUtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZyArICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2VydmVyLXNpZGUgcmVuZGVyZWQgbWF0SW5wdXQgd2l0aCBhIGxhYmVsIGF0dHJpYnV0ZSBidXQgbGFiZWwgbm90IHNob3duXG4gICAgICAvLyAodXNlZCBhcyBhIHB1cmUgQ1NTIHN0YW5kLWluIGZvciBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQpLlxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcgKyAkb3V0bGluZS1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLW91dGxpbmUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZm9ybS1maWVsZC1vdXRsaW5lJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtb3V0bGluZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLW91dGxpbmUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgc3RhbmRhcmQgYXBwZWFyYW5jZSBvZiB0aGUgZm9ybS1maWVsZC5cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkdW5kZXJsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjcsIDAuNDIpKTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jb250cm9sLWRpc2FibGVkLXVuZGVybGluZSgkdW5kZXJsaW5lLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtc3RhbmRhcmQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLXN0YW5kYXJkLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb2xvciBzdHlsZXMgdGhhdCBhcHBseSB0byBhbGwgYXBwZWFyYW5jZXMgb2YgdGhlIGZvcm0tZmllbGQuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG5cbiAgLy8gTGFiZWwgY29sb3JzLiBSZXF1aXJlZCBpcyB1c2VkIGZvciB0aGUgYCpgIHN0YXIgc2hvd24gaW4gdGhlIGxhYmVsLlxuICAkbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjcsIDAuNikpO1xuICAkZm9jdXNlZC1sYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcbiAgJHJlcXVpcmVkLWxhYmVsLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG5cbiAgLy8gVW5kZXJsaW5lIGNvbG9ycy5cbiAgJHVuZGVybGluZS1jb2xvci1iYXNlOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAxLCAwLjg3KSk7XG4gICR1bmRlcmxpbmUtY29sb3ItYWNjZW50OiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG4gICR1bmRlcmxpbmUtY29sb3Itd2FybjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgJHVuZGVybGluZS1mb2N1c2VkLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtaGludCB7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgIGNvbG9yOiAkZm9jdXNlZC1sYWJlbC1jb2xvcjtcblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci1hY2NlbnQ7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyIHtcbiAgICBjb2xvcjogJHJlcXVpcmVkLWxhYmVsLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci1iYXNlO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtZm9jdXNlZC1jb2xvcjtcblxuICAgICAgJi5tYXQtYWNjZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci1hY2NlbnQ7XG4gICAgICB9XG5cbiAgICAgICYubWF0LXdhcm4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvY3VzZWQ6bm90KC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkKSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1mb2N1c2VkLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLWFjY2VudDtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsaW5nIGZvciB0aGUgZXJyb3Igc3RhdGUgb2YgdGhlIGZvcm0gZmllbGQuIE5vdGUgdGhhdCB3aGlsZSB0aGUgc2FtZSBjYW4gYmVcbiAgLy8gYWNoaWV2ZWQgd2l0aCB0aGUgbmctKiBjbGFzc2VzLCB3ZSB1c2UgdGhpcyBhcHByb2FjaCBpbiBvcmRlciB0byBlbnN1cmUgdGhhdCB0aGUgc2FtZVxuICAvLyBsb2dpYyBpcyB1c2VkIHRvIHN0eWxlIHRoZSBlcnJvciBzdGF0ZSBhbmQgdG8gc2hvdyB0aGUgZXJyb3IgbWVzc2FnZXMuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcblxuICAgICAgJi5tYXQtYWNjZW50LFxuICAgICAgLm1hdC1mb3JtLWZpZWxkLXJlcXVpcmVkLW1hcmtlciB7XG4gICAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSxcbiAgICAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZXJyb3Ige1xuICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gIH1cblxuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktY29sb3IoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLWNvbG9yKCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1maWxsLWNvbG9yKCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWNvbG9yKCRjb25maWcpO1xufVxuXG4vLyBVc2VkIHRvIG1ha2UgaW5zdGFuY2VzIG9mIHRoZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcgbWl4aW4gbmVnbGlnaWJseSBkaWZmZXJlbnQsXG4vLyBhbmQgcHJldmVudCBHb29nbGUncyBDU1MgT3B0aW1pemVyIGZyb20gY29sbGFwc2luZyB0aGUgZGVjbGFyYXRpb25zLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHNvbWVcbi8vIG9mIHRoZSBzZWxlY3RvcnMgY29udGFpbiBwc2V1ZG8tY2xhc3NlcyBub3QgcmVjb2duaXplZCBpbiBhbGwgYnJvd3NlcnMuIElmIGEgYnJvd3NlciBlbmNvdW50ZXJzXG4vLyBhbiB1bmtub3duIHBzZXVkby1jbGFzcyBpdCB3aWxsIGRpc2NhcmQgdGhlIGVudGlyZSBydWxlIHNldC5cbiRtYXQtZm9ybS1maWVsZC1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtZGVkdXBlKVxuICAgICAgICAgICAgIHNjYWxlKCRmb250LXNjYWxlKTtcbiAgd2lkdGg6IDEwMCUgLyAkZm9udC1zY2FsZSArICRtYXQtZm9ybS1maWVsZC1kZWR1cGU7XG5cbiAgJG1hdC1mb3JtLWZpZWxkLWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG5cbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIHByZWZpeCBhbmQgc3VmZml4IGljb25zLlxuICAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2NhbGU6IDEuNTtcblxuICAvLyBUaGUgcGFkZGluZyBvbiB0aGUgaW5maXguIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLlxuICAkaW5maXgtcGFkZGluZzogMC41ZW07XG4gIC8vIFRoZSBtYXJnaW4gYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC1pbmZpeCB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgZmxvYXRpbmcgbGFiZWwuXG4gICRpbmZpeC1tYXJnaW4tdG9wOiAxZW0gKiAkbGluZS1oZWlnaHQgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIEZvbnQgc2l6ZSB0byB1c2UgZm9yIHRoZSBsYWJlbCBhbmQgc3Vic2NyaXB0IHRleHQuXG4gICRzdWJzY3JpcHQtZm9udC1zaXplOiAkc3Vic2NyaXB0LWZvbnQtc2NhbGUgKiAxMDAlO1xuICAvLyBGb250IHNpemUgdG8gdXNlIGZvciB0aGUgZm9yIHRoZSBwcmVmaXggYW5kIHN1ZmZpeCBpY29ucy5cbiAgJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNpemU6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZSAqIDEwMCU7XG4gIC8vIFRoZSBzcGFjZSBiZXR3ZWVuIHRoZSBib3R0b20gb2YgdGhlIC5tYXQtZm9ybS1maWVsZC1mbGV4IGFyZWEgYW5kIHRoZSBzdWJzY3JpcHQgd3JhcHBlci5cbiAgLy8gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUsIGJ1dCB0aGlzIG1hcmdpbiBpcyBhcHBsaWVkIHRvIGFuIGVsZW1lbnQgd2l0aCB0aGUgc3Vic2NyaXB0XG4gIC8vIHRleHQgZm9udCBzaXplLCBzbyB3ZSBuZWVkIHRvIGRpdmlkZSBieSB0aGUgc2NhbGUgZmFjdG9yIHRvIG1ha2UgaXQgaGFsZiBvZiB0aGUgb3JpZ2luYWwgdGV4dFxuICAvLyBzaXplLlxuICAkc3Vic2NyaXB0LW1hcmdpbi10b3A6IDAuNWVtIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG5cbiAgLm1hdC1mb3JtLWZpZWxkIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgaW5wdXQpO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1wcmVmaXgsXG4gIC5tYXQtZm9ybS1maWVsZC1zdWZmaXgge1xuICAgIC8vIEFsbG93IGljb25zIGluIGEgcHJlZml4IG9yIHN1ZmZpeCB0byBhZGFwdCB0byB0aGUgY29ycmVjdCBzaXplLlxuICAgIC5tYXQtaWNvbiB7XG4gICAgICBmb250LXNpemU6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBpY29uIGJ1dHRvbnMgaW4gYSBwcmVmaXggb3Igc3VmZml4IHRvIGFkYXB0IHRvIHRoZSBjb3JyZWN0IHNpemUuXG4gICAgLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZSAqIDFlbTtcbiAgICAgIHdpZHRoOiAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2NhbGUgKiAxZW07XG5cbiAgICAgIC5tYXQtaWNvbiB7XG4gICAgICAgIGhlaWdodDogJGxpbmUtaGVpZ2h0ICogMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgcGFkZGluZzogJGluZml4LXBhZGRpbmcgMDtcbiAgICAvLyBUaHJvd3Mgb2ZmIHRoZSBiYXNlbGluZSBpZiB3ZSBkbyBpdCBhcyBhIHJlYWwgbWFyZ2luLCBzbyB3ZSBkbyBpdCBhcyBhIGJvcmRlciBpbnN0ZWFkLlxuICAgIGJvcmRlci10b3A6ICRpbmZpeC1tYXJnaW4tdG9wIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgIH1cblxuICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIHtcbiAgICB0b3A6IC0kaW5maXgtbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGluZml4LW1hcmdpbi10b3A7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgIC8vIFdlIHdhbnQgdGhlIHVuZGVybGluZSB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudC5cbiAgICBib3R0b206ICR3cmFwcGVyLXBhZGRpbmctYm90dG9tO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgICBmb250LXNpemU6ICRzdWJzY3JpcHQtZm9udC1zaXplO1xuICAgIG1hcmdpbi10b3A6ICRzdWJzY3JpcHQtbWFyZ2luLXRvcDtcblxuICAgIC8vIFdlIHdhbnQgdGhlIHN1YnNjcmlwdCB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudCAoYWRqdXN0ZWQgZm9yIHRoZSBzbWFsbGVyIGZvbnQgc2l6ZSk7XG4gICAgdG9wOiBjYWxjKDEwMCUgLSAjeyR3cmFwcGVyLXBhZGRpbmctYm90dG9tIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlfSk7XG4gIH1cblxuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZmlsbC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtbGVnYWN5LWRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLXN0YW5kYXJkLWRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtb3V0bGluZS1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlKTtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1mb3JtLWZpZWxkJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbiRtYXQtdHJlZS1ub2RlLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciB0cmVlIG5vZGVzIGluIGhpZ2hlc3QgZGVuc2l0eSBpcyBkaWZmaWN1bHQgdG8gZGV0ZXJtaW5lIGFzXG4vLyBkZXZlbG9wZXJzIGNhbiBkaXNwbGF5IGFyYml0cmFyeSBjb250ZW50LiBXZSB1c2UgYSBtaW5pbXVtIGhlaWdodCB3aGljaCBlbnN1cmVzXG4vLyB0aGF0IGNvbW1vbiBjb250ZW50IHBsYWNlZCBpbiB0cmVlIG5vZGVzIGRvZXMgbm90IGV4Y2VlZCAoZS5nLiBpY29ucywgY2hlY2tib3hlcykuXG4kbWF0LXRyZWUtbm9kZS1taW5pbXVtLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbiRtYXQtdHJlZS1ub2RlLW1heGltdW0taGVpZ2h0OiAkbWF0LXRyZWUtbm9kZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtdHJlZS1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXRyZWUtbm9kZS1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC10cmVlLW5vZGUtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC10cmVlLW5vZGUtbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIG1hdC10cmVlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXRyZWUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtdHJlZS1ub2RlLFxuICAubWF0LW5lc3RlZC10cmVlLW5vZGUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdHJlZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC10cmVlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC10cmVlLW5vZGUsXG4gIC5tYXQtbmVzdGVkLXRyZWUtbm9kZSB7XG4gICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdHJlZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRoZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZSgkbWF0LXRyZWUtZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC10cmVlLW5vZGUge1xuICAgICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC10cmVlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10cmVlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRyZWUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRyZWUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10cmVlLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG4vLyBJbmNsdWRlcyBhbGwgb2YgdGhlIHR5cG9ncmFwaGljIHN0eWxlcy5cbkBtaXhpbiBhbmd1bGFyLW1hdGVyaWFsLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZTogbnVsbCkge1xuICAkY29uZmlnOiBpZihtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJGNvbmZpZy1vci10aGVtZSksXG4gICAgICBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpLCAkY29uZmlnLW9yLXRoZW1lKTtcblxuICAvLyBJZiBubyBhY3R1YWwgY29sb3IgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBzcGVjaWZpZWQsIGNyZWF0ZSBhIGRlZmF1bHQgb25lLlxuICBAaWYgbm90ICRjb25maWcge1xuICAgICRjb25maWc6IG1hdC10eXBvZ3JhcGh5LWNvbmZpZygpO1xuICB9XG5cbiAgLy8gVE9ETzogQ09NUC0zMDk6IERvIG5vdCB1c2UgaW5kaXZpZHVhbCBtaXhpbnMuIEluc3RlYWQsIHVzZSB0aGUgYWxsLXRoZW1lIG1peGluIGFuZCBvbmx5XG4gIC8vIHNwZWNpZnkgYSBgdHlwb2dyYXBoeWAgY29uZmlnIHdoaWxlIHNldHRpbmcgYGNvbG9yYCBhbmQgYGRlbnNpdHlgIHRvIGBudWxsYC4gVGhpcyBpcyBjdXJyZW50bHlcbiAgLy8gbm90IHBvc3NpYmxlIGFzIGl0IHdvdWxkIGludHJvZHVjZSBhIGNpcmN1bGFyIGRlcGVuZGVuY3kgZm9yIHR5cG9ncmFwaHkgYmVjYXVzZSB0aGUgYG1hdC1jb3JlYFxuICAvLyBtaXhpbiB0aGF0IGlzIHRyYW5zaXRpdmVseSBsb2FkZWQgYnkgdGhlIGBhbGwtdGhlbWVgIGZpbGUsIGltcG9ydHMgYGFsbC10eXBvZ3JhcGh5YCB3aGljaFxuICAvLyB3b3VsZCB0aGVuIGxvYWQgYGFsbC10aGVtZWAgYWdhaW4uIFRoaXMgdWx0aW1hdGVseSByZXN1bHRzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeS5cblxuICBAaW5jbHVkZSBtYXQtYmFkZ2UtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJhc2UtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYm90dG9tLXNoZWV0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1idXR0b24tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWNhcmQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1jaGlwcy10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZGl2aWRlci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdGFibGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWRhdGVwaWNrZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWRpYWxvZy10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1ncmlkLWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWljb24tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWlucHV0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1tZW51LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcmFkaW8tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNlbGVjdC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2lkZW5hdi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2xpZGUtdG9nZ2xlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zbGlkZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNvcnQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRhYnMtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRvb2xiYXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRvb2x0aXAtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtb3B0Z3JvdXAtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdHJlZS10eXBvZ3JhcGh5KCRjb25maWcpO1xufVxuXG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgc3R5bGVzIHRoYXQgYXJlIG5vdCB0aGVtZS1kZXBlbmRlbnQuXG5AbWl4aW4gbWF0LWNvcmUoJHR5cG9ncmFwaHktY29uZmlnOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeS1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcmlwcGxlKCk7XG4gIEBpbmNsdWRlIGNkay1hMTF5KCk7XG4gIEBpbmNsdWRlIGNkay1vdmVybGF5KCk7XG4gIEBpbmNsdWRlIGNkay10ZXh0LWZpZWxkKCk7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKTtcbiAgQGluY2x1ZGUgX21hdC1tZGMtY29yZSgpO1xufVxuXG5AbWl4aW4gbWF0LWNvcmUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gV3JhcHBlciBlbGVtZW50IHRoYXQgcHJvdmlkZXMgdGhlIHRoZW1lIGJhY2tncm91bmQgd2hlbiB0aGUgdXNlcidzIGNvbnRlbnQgaXNuJ3RcbiAgLy8gaW5zaWRlIG9mIGEgYG1hdC1zaWRlbmF2LWNvbnRhaW5lcmAuIE5vdGUgdGhhdCB3ZSBuZWVkIHRvIGV4Y2x1ZGUgdGhlIGFtcGVyc2FuZFxuICAvLyBzZWxlY3RvciBpbiBjYXNlIHRoZSBtaXhpbiBpcyBpbmNsdWRlZCBhdCB0aGUgdG9wIGxldmVsLlxuICAubWF0LWFwcC1iYWNrZ3JvdW5kI3tpZigmLCAnLCAmLm1hdC1hcHAtYmFja2dyb3VuZCcsICcnKX0ge1xuICAgICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAgICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC8vIFByb3ZpZGVzIGV4dGVybmFsIENTUyBjbGFzc2VzIGZvciBlYWNoIGVsZXZhdGlvbiB2YWx1ZS4gRWFjaCBDU1MgY2xhc3MgaXMgZm9ybWF0dGVkIGFzXG4gIC8vIGBtYXQtZWxldmF0aW9uLXokelZhbHVlYCB3aGVyZSBgJHpWYWx1ZWAgY29ycmVzcG9uZHMgdG8gdGhlIHotc3BhY2UgdG8gd2hpY2ggdGhlIGVsZW1lbnQgaXNcbiAgLy8gZWxldmF0ZWQuXG4gIEBmb3IgJHpWYWx1ZSBmcm9tIDAgdGhyb3VnaCAyNCB7XG4gICAgLiN7JG1hdC1lbGV2YXRpb24tcHJlZml4fSN7JHpWYWx1ZX0ge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKCR6VmFsdWUsICRjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1hcmtlciB0aGF0IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIHVzZXIgaGFzIGFkZGVkIGEgdGhlbWUgdG8gdGhlaXIgcGFnZS5cbiAgQGF0LXJvb3Qge1xuICAgIC5tYXQtdGhlbWUtbG9hZGVkLW1hcmtlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNaXhpbiB0aGF0IHJlbmRlcnMgYWxsIG9mIHRoZSBjb3JlIHN0eWxlcyB0aGF0IGRlcGVuZCBvbiB0aGUgdGhlbWUuXG5AbWl4aW4gbWF0LWNvcmUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIC8vIFdyYXAgdGhlIHN1Yi10aGVtZSBpbmNsdWRlcyBpbiB0aGUgZHVwbGljYXRlIHRoZW1lIHN0eWxlcyBtaXhpbi4gVGhpcyBlbnN1cmVzIHRoYXRcbiAgLy8gdGhlcmUgd29uJ3QgYmUgbXVsdGlwbGUgd2FybmluZ3MuIGUuZy4gaWYgYG1hdC1jb3JlLXRoZW1lYCByZXBvcnRzIGEgd2FybmluZywgdGhlblxuICAvLyB0aGUgaW1wb3J0ZWQgdGhlbWVzIChzdWNoIGFzIGBtYXQtcmlwcGxlLXRoZW1lYCkgc2hvdWxkIG5vdCByZXBvcnQgYWdhaW4uXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWNvcmUnKSB7XG4gICAgQGluY2x1ZGUgbWF0LXJpcHBsZS10aGVtZSgkdGhlbWUpO1xuICAgIEBpbmNsdWRlIG1hdC1vcHRpb24tdGhlbWUoJHRoZW1lKTtcbiAgICBAaW5jbHVkZSBtYXQtb3B0Z3JvdXAtdGhlbWUoJHRoZW1lKTtcbiAgICBAaW5jbHVkZSBtYXQtcHNldWRvLWNoZWNrYm94LXRoZW1lKCR0aGVtZSk7XG5cbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jb3JlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgTURDIHN0eWxlcy4gUHJpdmF0ZSBtaXhpbiBpbmNsdWRlZCB3aXRoIGBtYXQtY29yZWAuXG5AbWl4aW4gX21hdC1tZGMtY29yZSgpIHtcbiAgQGluY2x1ZGUgX21hdC1tZGMtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKTtcbn1cblxuLy8gTWl4aW4gdGhhdCBlbnN1cmVzIGZvY3VzIGluZGljYXRvciBob3N0IGVsZW1lbnRzIGFyZSBwb3NpdGlvbmVkIHNvIHRoYXQgdGhlIGZvY3VzIGluZGljYXRvclxuLy8gcHNldWRvIGVsZW1lbnQgd2l0aGluIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGhvc3QuIFByaXZhdGUgbWl4aW4gaW5jbHVkZWQgd2l0aGluXG4vLyBgX21hdC1tZGMtY29yZWAuXG5AbWl4aW4gX21hdC1tZGMtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKSB7XG4gIC5tYXQtbWRjLWZvY3VzLWluZGljYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vIENyZWF0ZSBhIHRoZW1lLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkZGVkdXBlLWtleTogJ2FuZ3VsYXItbWF0ZXJpYWwtdGhlbWUnO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZS1vci1jb2xvci1jb25maWcsICRkZWR1cGUta2V5KSB7XG4gICAgQGluY2x1ZGUgbWF0LWNvcmUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYmFkZ2UtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1jYXJkLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtY2hpcHMtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXRhYmxlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1kYXRlcGlja2VyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWRpdmlkZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1pY29uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1pbnB1dC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtbGlzdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtbWVudS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1iYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLXNwaW5uZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXJhZGlvLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zZWxlY3QtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNpZGVuYXYtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtc2xpZGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zdGVwcGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zb3J0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10YWJzLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10b29sdGlwLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10cmVlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zbmFjay1iYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIH1cbn1cblxuXG5cbi8vIEluY2x1ZGVzIGFsbCBvZiB0aGUgY29sb3Igc3R5bGVzLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAvLyBJbiBjYXNlIGEgdGhlbWUgb2JqZWN0IGhhcyBiZWVuIHBhc3NlZCBpbnN0ZWFkIG9mIGEgY29uZmlndXJhdGlvbiBmb3JcbiAgLy8gdGhlIGNvbG9yIHN5c3RlbSwgZXh0cmFjdCB0aGUgY29sb3IgY29uZmlnIGZyb20gdGhlIHRoZW1lIG9iamVjdC5cbiAgJGNvbmZpZzogaWYobWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCRjb25maWctb3ItdGhlbWUpLFxuICAgICAgbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSksICRjb25maWctb3ItdGhlbWUpO1xuXG4gIEBpZiAkY29uZmlnID09IG51bGwge1xuICAgIEBlcnJvciAnTm8gY29sb3IgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQuJztcbiAgfVxuXG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoKFxuICAgIGNvbG9yOiAkY29uZmlnLFxuICAgIHR5cG9ncmFwaHk6IG51bGwsXG4gICAgZGVuc2l0eTogbnVsbCxcbiAgKSk7XG59XG5cblxuXG5cblxuXG5cblxuXG5cbi8vIEluY2x1ZGVzIGFsbCBvZiB0aGUgZGVuc2l0eSBzdHlsZXMuXG5AbWl4aW4gYW5ndWxhci1tYXRlcmlhbC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgLy8gSW4gY2FzZSBhIHRoZW1lIG9iamVjdCBoYXMgYmVlbiBwYXNzZWQgaW5zdGVhZCBvZiBhIGNvbmZpZ3VyYXRpb24gZm9yXG4gIC8vIHRoZSBkZW5zaXR5IHN5c3RlbSwgZXh0cmFjdCB0aGUgZGVuc2l0eSBjb25maWcgZnJvbSB0aGUgdGhlbWUgb2JqZWN0LlxuICAkY29uZmlnOiBpZihtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJGNvbmZpZy1vci10aGVtZSksXG4gICAgICBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpLCAkY29uZmlnLW9yLXRoZW1lKTtcblxuICBAaWYgJGNvbmZpZyA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ05vIGRlbnNpdHkgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQuJztcbiAgfVxuXG4gIC8vIFRPRE86IENPTVAtMzA5OiBEbyBub3QgdXNlIGluZGl2aWR1YWwgbWl4aW5zLiBJbnN0ZWFkLCB1c2UgdGhlIGFsbC10aGVtZSBtaXhpbiBhbmQgb25seVxuICAvLyBzcGVjaWZ5IGEgYGRlbnNpdHlgIGNvbmZpZyB3aGlsZSBzZXR0aW5nIGBjb2xvcmAgYW5kIGB0eXBvZ3JhcGh5YCB0byBgbnVsbGAuIFRoaXMgaXMgY3VycmVudGx5XG4gIC8vIG5vdCBwb3NzaWJsZSBhcyBpdCB3b3VsZCBpbnRyb2R1Y2UgYSBjaXJjdWxhciBkZXBlbmRlbmN5IGZvciBkZW5zaXR5IGJlY2F1c2UgdGhlIGBtYXQtY29yZWBcbiAgLy8gbWl4aW4gdGhhdCBpcyB0cmFuc2l0aXZlbHkgbG9hZGVkIGJ5IHRoZSBgYWxsLXRoZW1lYCBmaWxlLCBpbXBvcnRzIGBhbGwtZGVuc2l0eWAgd2hpY2hcbiAgLy8gd291bGQgdGhlbiBsb2FkIGBhbGwtdGhlbWVgIGFnYWluLiBUaGlzIHVsdGltYXRlbHkgcmVzdWx0cyBhIGNpcmN1bGFyIGRlcGVuZGVuY3kuXG5cbiAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc3RlcHBlci1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdG9vbGJhci1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdHJlZS1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLWRlbnNpdHkoJGNvbmZpZyk7XG59XG5cblxuXG4iLCIudmV4LXN0eWxlLWRhcmsge1xyXG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoJHZleC1kYXJrLXRoZW1lKTtcclxuXHJcbiAgLy8gRm9yZWdyb3VuZFxyXG4gIC0tYmFja2dyb3VuZC1hcHAtYmFyOiAje21hcC1nZXQobWFwLWdldCgkdmV4LWRhcmstdGhlbWUsIGJhY2tncm91bmQpLCBhcHAtYmFyKX07XHJcblxyXG4gIC8vIEJhY2tncm91bmRcclxuICAtLWZvb3Rlci1iYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNhcmQpO1xyXG4gIC0tbmF2aWdhdGlvbi1iYWNrZ3JvdW5kOiAje21hcC1nZXQobWFwLWdldCgkdmV4LWRhcmstdGhlbWUsIGJhY2tncm91bmQpLCBjYXJkKX07XHJcbiAgLS10b29sYmFyLWJhY2tncm91bmQ6ICN7bWFwLWdldChtYXAtZ2V0KCR2ZXgtZGFyay10aGVtZSwgYmFja2dyb3VuZCksIGNhcmQpfTtcclxuICAtLWJhY2tncm91bmQtYmFzZTogI3ttYXAtZ2V0KG1hcC1nZXQoJHZleC1kYXJrLXRoZW1lLCBiYWNrZ3JvdW5kKSwgYmFja2dyb3VuZCl9O1xyXG5cclxuICAvLyBDb2xvcnNcclxuICAtLWJhY2tncm91bmQtY2FyZDogI3ttYXAtZ2V0KG1hcC1nZXQoJHZleC1kYXJrLXRoZW1lLCBiYWNrZ3JvdW5kKSwgY2FyZCl9O1xyXG4gIC0tZm9vdGVyLWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcclxuICAtLW5hdmlnYXRpb24tY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xyXG4gIC0tdGV4dC1jb2xvcjogI3skbGlnaHQtcHJpbWFyeS10ZXh0fTtcclxuICAtLXRvb2xiYXItY29sb3I6ICN7JGxpZ2h0LXByaW1hcnktdGV4dH07XHJcbiAgLS10ZXh0LWNvbG9yLWxpZ2h0OiAjeyRkYXJrLXByaW1hcnktdGV4dH07XHJcblxyXG4gIC8vIFRvb2xiYXJcclxuICAtLWZvcmVncm91bmQtZGl2aWRlcjogI3ttYXAtZ2V0KG1hcC1nZXQoJHZleC1kYXJrLXRoZW1lLCBmb3JlZ3JvdW5kKSwgZGl2aWRlcil9O1xyXG4gIC0tdGV4dC1oaW50OiAjeyRsaWdodC1kaXNhYmxlZC10ZXh0fTtcclxuXHJcbiAgLy8gTmF2aWdhdGlvblxyXG4gIC0tdGV4dC1oaW50LWxpZ2h0OiAjeyRkYXJrLWRpc2FibGVkLXRleHR9O1xyXG4gIC0tYmFja2dyb3VuZC1ob3ZlcjogI3ttYXAtZ2V0KG1hcC1nZXQoJHZleC1kYXJrLXRoZW1lLCBiYWNrZ3JvdW5kKSwgaG92ZXIpfTtcclxuXHJcbiAgLy8gU2Vjb25kYXJ5IFRvb2xiYXJcclxuICAtLXRleHQtc2Vjb25kYXJ5OiAjeyRsaWdodC1zZWNvbmRhcnktdGV4dH07XHJcblxyXG4gIC8vIEZvb3RlclxyXG4gIC0tdGV4dC1zZWNvbmRhcnktbGlnaHQ6ICN7JGRhcmstc2Vjb25kYXJ5LXRleHR9O1xyXG4gIC0tc2Vjb25kYXJ5LXRvb2xiYXItYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1jYXJkKTtcclxufVxyXG4iLCJAaW1wb3J0IFwifnNpbXBsZWJhci9kaXN0L3NpbXBsZWJhci5jc3NcIjtcclxuQGltcG9ydCBcIn5oaWdobGlnaHQuanMvc3R5bGVzL2FuZHJvaWRzdHVkaW8uY3NzXCI7XHJcbi8vIFZleCBDb3JlXHJcbkBpbXBvcnQgXCIuL0B2ZXgvc3R5bGVzL2NvcmVcIjtcclxuXHJcbi8qXHJcbiAgWW91IGNhbiBvdmVycmlkZSBhbnkgQ1NTIFZhcmlhYmxlIG9yIHN0eWxlIGhlcmVcclxuICBFeGFtcGxlOlxyXG5cclxuICA6cm9vdCB7XHJcbiAgIC0tc2lkZW5hdi1iYWNrZ3JvdW5kOiAjMzMzMzMzO1xyXG4gIH1cclxuXHJcbiAgQWxsIHBvc3NpYmxlIHZhcmlhYmxlcyBjYW4gYmUgZm91bmQgaW4gQHZleC9zdHlsZXMvY29yZSBvciBieSBzaW1wbHkgaW5zcGVjdGluZyB0aGUgZWxlbWVudCB5b3Ugd2FudCB0byBjaGFuZ2VcclxuICBpbiBDaHJvbWUvRmlyZWZveCBEZXZUb29sc1xyXG4qL1xyXG5cclxuLyoqXHJcbiAgVW5jb21tZW50IHRoZSBiZWxvdyBjb2RlIGFuZCBhZGp1c3QgdGhlIHZhbHVlcyB0byBmaXQgeW91ciBjb2xvcnMsIHRoZSBhcHBsaWNhdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkgYWRqdXN0XHJcbiAqL1xyXG46cm9vdCB7XHJcbiAgLy8gLS1jb2xvci1wcmltYXJ5OiBibHVlO1xyXG4gIC8vIC0tY29sb3ItcHJpbWFyeS1jb250cmFzdDogd2hpdGU7XHJcblxyXG4gIC8vIC0tY29sb3ItYWNjZW50OiB5ZWxsb3c7XHJcbiAgLy8gLS1jb2xvci1hY2NlbnQtY29udHJhc3Q6IGJsYWNrO1xyXG5cclxuICAvLyAtLWNvbG9yLXdhcm46IHllbGxvdztcclxuICAvLyAtLWNvbG9yLXdhcm4tY29udHJhc3Q6IGJsYWNrO1xyXG59XHJcbi5hZnUtdXBsb2FkLWJ0biB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVDNzdGRjtcclxuICBwYWRkaW5nOiA4cHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogMzBweDtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgY29sb3I6IGFsaWNlYmx1ZTtcclxufVxyXG4uYWZ1LXNlbGVjdC1idG4ge1xyXG4gYmFja2dyb3VuZC1jb2xvcjogcmdiKDE4NywgMTg0LCAxODQpO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogMTNweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLmFmdS1jb25zdHJhaW50cy1pbmZvIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAyMHB4O1xyXG59XHJcblxyXG4udGV4dC1ncmV5e1xyXG4gIGNvbG9yOiAjQTdBN0E3ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50ZXh0LXdoaXRle1xyXG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiJG1hdC1lbGV2YXRpb24tY29sb3I6ICM1MjNmNjg7XHJcbiRtYXQtZWxldmF0aW9uLW9wYWNpdHk6IDAuMztcclxuXHJcbkBmdW5jdGlvbiB2ZXgtZWxldmF0aW9uKCR6VmFsdWUsICRjb2xvcjogJG1hdC1lbGV2YXRpb24tY29sb3IsICRvcGFjaXR5OiAkbWF0LWVsZXZhdGlvbi1vcGFjaXR5KSB7XHJcbiAgQGlmIHR5cGUtb2YoJHpWYWx1ZSkgIT0gbnVtYmVyIG9yIG5vdCB1bml0bGVzcygkelZhbHVlKSB7XHJcbiAgICBAZXJyb3IgJyR6VmFsdWUgbXVzdCBiZSBhIHVuaXRsZXNzIG51bWJlcic7XHJcbiAgfVxyXG4gIEBpZiAkelZhbHVlIDwgMCBvciAkelZhbHVlID4gMjQge1xyXG4gICAgQGVycm9yICckelZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNCc7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICN7bWFwLWdldChfZ2V0LXVtYnJhLW1hcCgkY29sb3IsICRvcGFjaXR5KSwgJHpWYWx1ZSl9LFxyXG4gICN7bWFwLWdldChfZ2V0LXBlbnVtYnJhLW1hcCgkY29sb3IsICRvcGFjaXR5KSwgJHpWYWx1ZSl9LFxyXG4gICN7bWFwLWdldChfZ2V0LWFtYmllbnQtbWFwKCRjb2xvciwgJG9wYWNpdHkpLCAkelZhbHVlKX07XHJcbn1cclxuXHJcbi8vIG1haW4gb3ZlcndyaXRlIHRvIG1ha2UgaXQgYWxsIHdvcmtcclxuQGZ1bmN0aW9uIG1hdC1jb2xvcigkcGFsZXR0ZSwgJGh1ZTogZGVmYXVsdCwgJG9wYWNpdHk6IG51bGwpIHtcclxuICBAaWYgdHlwZS1vZigkaHVlKSA9PSBudW1iZXIgYW5kICRodWUgPj0gMCBhbmQgJGh1ZSA8PSAxIHtcclxuICAgIEByZXR1cm4gbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LCAkaHVlKTtcclxuICB9XHJcblxyXG4gICRjb2xvcjogbWFwLWdldCgkcGFsZXR0ZSwgJGh1ZSk7XHJcblxyXG4gIEBpZiAodHlwZS1vZigkY29sb3IpICE9IGNvbG9yKSB7XHJcbiAgICBAaWYgKCRvcGFjaXR5ID09IG51bGwpIHtcclxuICAgICAgQHJldHVybiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGVyZSBpcyB0aGUgY2hhbmdlIGZyb20gdGhlIG9yaWdpbmFsIGZ1bmN0aW9uOlxyXG4gICAgLy8gSWYgdGhlICRjb2xvciByZXNvbHZlZCB0byBzb21ldGhpbmcgZGlmZmVyZW50IGZyb20gYSBjb2xvciwgd2UgYXNzdW1lIGl0IGlzIGEgQ1NTIHZhcmlhYmxlXHJcbiAgICAvLyBpbiB0aGUgZm9ybSBvZiByZ2JhKHZhcigtLXJnYmEtY3NzLXZhciksYSkgYW5kIHJlcGxhY2UgdGhlICdhJyB2YWx1ZS5cclxuICAgIEByZXR1cm4gI3tzdHItc2xpY2UoJGNvbG9yLCAwLCBzdHItaW5kZXgoJGNvbG9yLCAnLCcpKSArICRvcGFjaXR5ICsgJyknfTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gcmdiYSgkY29sb3IsIGlmKCRvcGFjaXR5ID09IG51bGwsIG9wYWNpdHkoJGNvbG9yKSwgJG9wYWNpdHkpKTtcclxufVxyXG5cclxuLy8gYWxzbyBuZWVkcyB0byBiZSBvdmVyd3JpdHRlbiwgYXMgb3RoZXJ3aXNlIHdlIGVuZCB1cCB3aXRoIG9wYWNpdHkgYW5kIGFscGhhIHZhbHVlXHJcbkBtaXhpbiBtYXQtcmlwcGxlLXRoZW1lKCR0aGVtZSkge1xyXG4gICRmb3JlZ3JvdW5kOiBtYXBfZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XHJcbiAgJGZvcmVncm91bmQtYmFzZTogbWFwX2dldCgkZm9yZWdyb3VuZCwgYmFzZSk7XHJcblxyXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xyXG4gICAgLy8gaWYgaXQncyBhIGNvbG9yLCByZ2JhIGp1c3Qgd29ya3MuXHJcbiAgICAvLyBJZiBpdCdzIGEgdmFyaWFibGUsIHJnYmEgd29ya3MgYmVjYXVzZSBhbGwgY29sb3IgdmFyaWFibGVzIHNob3VsZCBiZSAzIGNvbW1hIHNlcGFyYXRlZCBudW1iZXJzXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRmb3JlZ3JvdW5kLWJhc2UsICRtYXQtcmlwcGxlLWNvbG9yLW9wYWNpdHkpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gVGhlIG1hdGVyaWFsIG1peGluIHBhc3NlcyBhbiBvcGFjaXR5IHRvIG1hdC1jb2xvciBhbmQgYWxzbyBhZGRzIG9wYWNpdHkgdG8gdGhlIGVsZW1lbnQgaWYgdGhlIGJhY2tncm91bmQtY29sb3IgaXMgbm90IG9mIHR5cGUgJ2NvbG9yJy5cclxuLy8gVGhpcyB3b3VsZCBjYXVzZSB0aGUgb3BhY2l0eSB0byBnZXQgYXBwbGllZCB0d2ljZSwgcmVzdWx0aW5nIGluIGEgcmlwcGxlIHRoYXQgaXMgYWxtb3N0IGludmlzaWJsZS5cclxuLy8gSW5zdGVhZCwgd2Ugd2lsbCB0cnVzdCB0aGF0IG1hdC1jb2xvciBoYW5kbGVzIG9wYWNpdHkgY29ycmVjdGx5LlxyXG5AbWl4aW4gX21hdC1idXR0b24tcmlwcGxlLWJhY2tncm91bmQoJHBhbGV0dGUsICRodWUsICRvcGFjaXR5KSB7XHJcbiAgJGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgJGh1ZSwgJG9wYWNpdHkpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG59XHJcbiIsIi52ZXgtc3R5bGUtbGlnaHQge1xyXG4gICRzaWRlbmF2LWJhY2tncm91bmQ6IHdoaXRlO1xyXG5cclxuICAtLW5hdmlnYXRpb24tYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1jYXJkKTtcclxuICAtLXNpZGVuYXYtYmFja2dyb3VuZDogI3skc2lkZW5hdi1iYWNrZ3JvdW5kfTtcclxuXHJcbiAgLy8gU2lkZW5hdlxyXG4gIC0tdG9vbGJhci1iYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNhcmQpO1xyXG4gIC0tc2lkZW5hdi1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XHJcblxyXG4gIC8vIFNpZGVuYXYgSXRlbVxyXG4gIC0tc2lkZW5hdi1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiAje2Rhcmtlbigkc2lkZW5hdi1iYWNrZ3JvdW5kLCAyKX07XHJcbiAgLS1zaWRlbmF2LWl0ZW0tY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xyXG4gIC0tc2lkZW5hdi1pdGVtLWNvbG9yLWFjdGl2ZTogdmFyKC0tdGV4dC1jb2xvcik7XHJcbiAgLS1zaWRlbmF2LWl0ZW0tZHJvcGRvd24tYmFja2dyb3VuZDogI3tkYXJrZW4oJHNpZGVuYXYtYmFja2dyb3VuZCwgMil9O1xyXG4gIC0tc2lkZW5hdi1pdGVtLWRyb3Bkb3duLWJhY2tncm91bmQtaG92ZXI6ICN7ZGFya2VuKCRzaWRlbmF2LWJhY2tncm91bmQsIDMpfTtcclxuICAtLXNpZGVuYXYtaXRlbS1pY29uLWNvbG9yOiAjNDk0Qjc0O1xyXG4gIC0tc2lkZW5hdi1pdGVtLWljb24tY29sb3ItYWN0aXZlOiByZ2IodmFyKC0tY29sb3ItcHJpbWFyeSkpO1xyXG4gIC0tc2lkZW5hdi10b29sYmFyLWJhY2tncm91bmQ6ICN7JHNpZGVuYXYtYmFja2dyb3VuZH07XHJcbn1cclxuIiwiLy8gQGZvcm1hdHRlcjpvZmZcclxuOnJvb3Qge1xyXG4gIC8vIEdlbmVyaWNcclxuICAtLXBhZGRpbmctZ3V0dGVyOiAxcmVtO1xyXG4gIC0tcGFkZGluZzogMS41cmVtO1xyXG4gIC0tcGFkZGluZy0xNjogMXJlbTtcclxuICAtLXBhZGRpbmctMTI6IDAuNzVyZW07XHJcbiAgLS1wYWRkaW5nLTg6IDAuNXJlbTtcclxuICAtLXBhZGRpbmctNDogMC4yNXJlbTtcclxuXHJcbiAgLS1jb2xvci1wcmltYXJ5OiA5MiwgMTE5LCAyNTU7XHJcbiAgLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0OiAyNTUsIDI1NSwgMjU1O1xyXG5cclxuICAtLWNvbG9yLWFjY2VudDogMjU1LCA2NCwgMTI5O1xyXG4gIC0tY29sb3ItYWNjZW50LWNvbnRyYXN0OiAyNTUsIDI1NSwgMjU1O1xyXG5cclxuICAtLWNvbG9yLXdhcm46IDI0NCwgNjcsIDU0O1xyXG4gIC0tY29sb3Itd2Fybi1jb250cmFzdDogMjU1LCAyNTUsIDI1NTtcclxuXHJcbiAgQHNjcmVlbiBsZyB7XHJcbiAgICAtLXBhZGRpbmctZ3V0dGVyOiAxLjVyZW07XHJcbiAgfVxyXG5cclxuICAvLyBUeXBvZ3JhcGh5XHJcbiAgLS1mb250OiB0aGVtZSgnZm9udEZhbWlseS5zYW5zJyk7XHJcbiAgLS1mb250LXdlaWdodC1tZWRpdW06IDUwMDtcclxuICAtLWZvbnQtY2FwdGlvbjogI3ttYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgY2FwdGlvbikgI3ttYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pfS8je21hdC1saW5lLWhlaWdodCgkY29uZmlnLCBjYXB0aW9uKX0gbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGNhcHRpb24pfTtcclxuICAtLWZvbnQtYm9keS0xOiAje21hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpICN7bWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpfS8je21hdC1saW5lLWhlaWdodCgkY29uZmlnLCBib2R5LTEpfSBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKX07XHJcbiAgLS1mb250LWJvZHktMjogI3ttYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKSAje21hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKX0vI3ttYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgYm9keS0yKX0gbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJvZHktMil9O1xyXG4gIC0tZm9udC1zdWJoZWFkaW5nLTE6ICN7bWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIHN1YmhlYWRpbmctMSkgI3ttYXQtZm9udC1zaXplKCRjb25maWcsIHN1YmhlYWRpbmctMSl9LyN7bWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIHN1YmhlYWRpbmctMSl9IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBzdWJoZWFkaW5nLTEpfTtcclxuICAtLWZvbnQtc3ViaGVhZGluZy0yOiAje21hdC1mb250LXdlaWdodCgkY29uZmlnLCBzdWJoZWFkaW5nLTIpICN7bWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBzdWJoZWFkaW5nLTIpfS8je21hdC1saW5lLWhlaWdodCgkY29uZmlnLCBzdWJoZWFkaW5nLTIpfSBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgc3ViaGVhZGluZy0yKX07XHJcbiAgLS1mb250LWhlYWRsaW5lOiAje21hdC1mb250LXdlaWdodCgkY29uZmlnLCBoZWFkbGluZSkgI3ttYXQtZm9udC1zaXplKCRjb25maWcsIGhlYWRsaW5lKX0vI3ttYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaGVhZGxpbmUpfSBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgaGVhZGxpbmUpfTtcclxuICAtLWZvbnQtdGl0bGU6ICN7bWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIHRpdGxlKSAje21hdC1mb250LXNpemUoJGNvbmZpZywgdGl0bGUpfS8je21hdC1saW5lLWhlaWdodCgkY29uZmlnLCB0aXRsZSl9IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCB0aXRsZSl9O1xyXG4gIC0tZm9udC1kaXNwbGF5LTE6ICN7bWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGRpc3BsYXktMSkgI3ttYXQtZm9udC1zaXplKCRjb25maWcsIGRpc3BsYXktMSl9LyN7bWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGRpc3BsYXktMSl9IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBkaXNwbGF5LTEpfTtcclxuICAtLWZvbnQtZGlzcGxheS0yOiAje21hdC1mb250LXdlaWdodCgkY29uZmlnLCBkaXNwbGF5LTIpICN7bWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBkaXNwbGF5LTIpfS8je21hdC1saW5lLWhlaWdodCgkY29uZmlnLCBkaXNwbGF5LTIpfSBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgZGlzcGxheS0yKX07XHJcbiAgLS1mb250LWRpc3BsYXktMzogI3ttYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgZGlzcGxheS0zKSAje21hdC1mb250LXNpemUoJGNvbmZpZywgZGlzcGxheS0zKX0vI3ttYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgZGlzcGxheS0zKX0gbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGRpc3BsYXktMyl9O1xyXG4gIC0tZm9udC1kaXNwbGF5LTQ6ICN7bWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGRpc3BsYXktNCkgI3ttYXQtZm9udC1zaXplKCRjb25maWcsIGRpc3BsYXktNCl9LyN7bWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGRpc3BsYXktNCl9IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBkaXNwbGF5LTQpfTtcclxuXHJcbiAgLy8gVHJhbnNpdGlvbnNcclxuICAtLXRyYW5zLWVhc2UtaW4tb3V0OiBhbGwgdmFyKC0tdHJhbnMtZWFzZS1pbi1vdXQtZHVyYXRpb24pIHZhcigtLXRyYW5zLWVhc2UtaW4tb3V0LXRpbWluZy1mdW5jdGlvbik7XHJcbiAgLS10cmFucy1lYXNlLWluLW91dC1kdXJhdGlvbjogI3skc3dpZnQtZWFzZS1pbi1vdXQtZHVyYXRpb259O1xyXG4gIC0tdHJhbnMtZWFzZS1pbi1vdXQtdGltaW5nLWZ1bmN0aW9uOiAjeyRzd2lmdC1lYXNlLWluLW91dC10aW1pbmctZnVuY3Rpb259O1xyXG4gIC0tdHJhbnMtZWFzZS1vdXQ6IGFsbCB2YXIoLS10cmFucy1lYXNlLW91dC1kdXJhdGlvbikgdmFyKC0tdHJhbnMtZWFzZS1vdXQtdGltaW5nLWZ1bmN0aW9uKTtcclxuICAtLXRyYW5zLWVhc2Utb3V0LWR1cmF0aW9uOiAjeyRzd2lmdC1lYXNlLW91dC1kdXJhdGlvbn07XHJcbiAgLS10cmFucy1lYXNlLW91dC10aW1pbmctZnVuY3Rpb246ICN7JHN3aWZ0LWVhc2Utb3V0LXRpbWluZy1mdW5jdGlvbn07XHJcbiAgLS10cmFucy1lYXNlLWluOiBhbGwgdmFyKC0tdHJhbnMtZWFzZS1pbi1kdXJhdGlvbikgdmFyKC0tdHJhbnMtZWFzZS1pbi10aW1pbmctZnVuY3Rpb24pO1xyXG4gIC0tdHJhbnMtZWFzZS1pbi1kdXJhdGlvbjogI3skc3dpZnQtZWFzZS1pbi1kdXJhdGlvbn07XHJcbiAgLS10cmFucy1lYXNlLWluLXRpbWluZy1mdW5jdGlvbjogI3skc3dpZnQtZWFzZS1pbi10aW1pbmctZnVuY3Rpb259O1xyXG4gIC0tdHJhbnMtc2hhZG93LWR1cmF0aW9uOiAjeyRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb259O1xyXG4gIC0tdHJhbnMtc2hhZG93LXRpbWluZy1mdW5jdGlvbjogI3skbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbn07XHJcbiAgLS10cmFucy1zaGFkb3c6IGJveC1zaGFkb3cgdmFyKC0tdHJhbnMtc2hhZG93LWR1cmF0aW9uKSB2YXIoLS10cmFucy1zaGFkb3ctdGltaW5nLWZ1bmN0aW9uKTtcclxuXHJcbiAgLS10ZXh0LWNvbG9yOiAjeyRkYXJrLXByaW1hcnktdGV4dH07XHJcbiAgLS10ZXh0LWNvbG9yLWxpZ2h0OiAjeyRsaWdodC1wcmltYXJ5LXRleHR9O1xyXG4gIC0tdGV4dC1zZWNvbmRhcnk6ICN7JGRhcmstc2Vjb25kYXJ5LXRleHR9O1xyXG4gIC0tdGV4dC1zZWNvbmRhcnktbGlnaHQ6ICN7JGxpZ2h0LXNlY29uZGFyeS10ZXh0fTtcclxuICAtLXRleHQtaGludDogI3skZGFyay1kaXNhYmxlZC10ZXh0fTtcclxuICAtLXRleHQtaGludC1saWdodDogI3skbGlnaHQtZGlzYWJsZWQtdGV4dH07XHJcblxyXG4gIC8vIEZvcmVncm91bmRcclxuICAtLWZvcmVncm91bmQtZGl2aWRlcjogI3ttYXAtZ2V0KG1hcC1nZXQoJHZleC10aGVtZSwgZm9yZWdyb3VuZCksIGRpdmlkZXIpfTtcclxuXHJcbiAgLy8gQmFja2dyb3VuZFxyXG4gIC0tYmFja2dyb3VuZC1iYXNlOiByZ2IoMjQ1LCAyNDUsIDI0OCk7XHJcbiAgLS1iYWNrZ3JvdW5kLWNhcmQ6ICN7bWFwLWdldChtYXAtZ2V0KCR2ZXgtdGhlbWUsIGJhY2tncm91bmQpLCBjYXJkKX07XHJcbiAgLS1iYWNrZ3JvdW5kLWFwcC1iYXI6ICN7bWFwLWdldChtYXAtZ2V0KCR2ZXgtdGhlbWUsIGJhY2tncm91bmQpLCBhcHAtYmFyKX07XHJcbiAgLS1iYWNrZ3JvdW5kLWhvdmVyOiAje21hcC1nZXQobWFwLWdldCgkdmV4LXRoZW1lLCBiYWNrZ3JvdW5kKSwgaG92ZXIpfTtcclxuXHJcbiAgLy8gRWxldmF0aW9uXHJcbiAgLS1lbGV2YXRpb24tZGVmYXVsdDogdmFyKC0tZWxldmF0aW9uLXo2KTtcclxuICAtLWVsZXZhdGlvbi16MDogbm9uZTtcclxuICAtLWVsZXZhdGlvbi16MTogI3t2ZXgtZWxldmF0aW9uKDEpfTtcclxuICAtLWVsZXZhdGlvbi16MjogI3t2ZXgtZWxldmF0aW9uKDIpfTtcclxuICAtLWVsZXZhdGlvbi16MzogI3t2ZXgtZWxldmF0aW9uKDMpfTtcclxuICAtLWVsZXZhdGlvbi16NDogI3t2ZXgtZWxldmF0aW9uKDQpfTtcclxuICAtLWVsZXZhdGlvbi16NTogI3t2ZXgtZWxldmF0aW9uKDUpfTtcclxuICAtLWVsZXZhdGlvbi16NjogI3t2ZXgtZWxldmF0aW9uKDYpfTtcclxuICAtLWVsZXZhdGlvbi16NzogI3t2ZXgtZWxldmF0aW9uKDcpfTtcclxuICAtLWVsZXZhdGlvbi16ODogI3t2ZXgtZWxldmF0aW9uKDgpfTtcclxuICAtLWVsZXZhdGlvbi16OTogI3t2ZXgtZWxldmF0aW9uKDkpfTtcclxuICAtLWVsZXZhdGlvbi16MTA6ICN7dmV4LWVsZXZhdGlvbigxMCl9O1xyXG4gIC0tZWxldmF0aW9uLXoxMTogI3t2ZXgtZWxldmF0aW9uKDExKX07XHJcbiAgLS1lbGV2YXRpb24tejEyOiAje3ZleC1lbGV2YXRpb24oMTIpfTtcclxuICAtLWVsZXZhdGlvbi16MTM6ICN7dmV4LWVsZXZhdGlvbigxMyl9O1xyXG4gIC0tZWxldmF0aW9uLXoxNDogI3t2ZXgtZWxldmF0aW9uKDE0KX07XHJcbiAgLS1lbGV2YXRpb24tejE1OiAje3ZleC1lbGV2YXRpb24oMTUpfTtcclxuICAtLWVsZXZhdGlvbi16MTY6ICN7dmV4LWVsZXZhdGlvbigxNil9O1xyXG4gIC0tZWxldmF0aW9uLXoxNzogI3t2ZXgtZWxldmF0aW9uKDE3KX07XHJcbiAgLS1lbGV2YXRpb24tejE4OiAje3ZleC1lbGV2YXRpb24oMTgpfTtcclxuICAtLWVsZXZhdGlvbi16MTk6ICN7dmV4LWVsZXZhdGlvbigxOSl9O1xyXG4gIC0tZWxldmF0aW9uLXoyMDogI3t2ZXgtZWxldmF0aW9uKDIwKX07XHJcblxyXG4gIC8vIFNpZGVuYXZcclxuICAtLXNpZGVuYXYtd2lkdGg6IDIzMHB4O1xyXG4gIC0tc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg6IDcycHg7XHJcbiAgLS1zaWRlbmF2LWJhY2tncm91bmQ6ICMwMDE0MzE7XHJcbiAgLS1zaWRlbmF2LWNvbG9yOiNGRkZGRkY7XHJcblxyXG4gIC8vIFNpZGVuYXYgSXRlbVxyXG4gIC0tc2lkZW5hdi1pdGVtLXBhZGRpbmc6IHZhcigtLXBhZGRpbmcpO1xyXG4gIC0tc2lkZW5hdi10b29sYmFyLWJhY2tncm91bmQ6ICN7ZGFya2VuKCRzaWRlbmF2LWJhY2tncm91bmQsIDEuNSl9O1xyXG4gIC0tc2lkZW5hdi1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiAje2Rhcmtlbigkc2lkZW5hdi1iYWNrZ3JvdW5kLCAzKX07XHJcbiAgLS1zaWRlbmF2LWl0ZW0tY29sb3I6ICNBMUEyQjY7XHJcbiAgLS1zaWRlbmF2LWl0ZW0tY29sb3ItYWN0aXZlOiAjeyRsaWdodC1wcmltYXJ5LXRleHR9O1xyXG4gIC0tc2lkZW5hdi1pdGVtLWljb24tY29sb3I6ICM0OTRCNzQ7XHJcbiAgLS1zaWRlbmF2LWl0ZW0taWNvbi1jb2xvci1hY3RpdmU6IHJnYih2YXIoLS1jb2xvci1wcmltYXJ5KSk7XHJcbiAgLS1zaWRlbmF2LWl0ZW0taWNvbi1nYXA6IDE2cHg7XHJcbiAgLS1zaWRlbmF2LWl0ZW0taWNvbi1zaXplOiAyNHB4O1xyXG4gIC0tc2lkZW5hdi1pdGVtLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLS1zaWRlbmF2LWl0ZW0tYm9yZGVyLWNvbG9yLWFjdGl2ZTogcmdiKHZhcigtLWNvbG9yLXByaW1hcnkpKTtcclxuICAtLXNpZGVuYXYtaXRlbS1kcm9wZG93bi1iYWNrZ3JvdW5kOiAje2Rhcmtlbigkc2lkZW5hdi1iYWNrZ3JvdW5kLCAzKX07XHJcbiAgLS1zaWRlbmF2LWl0ZW0tZHJvcGRvd24tYmFja2dyb3VuZC1ob3ZlcjogI3tkYXJrZW4oJHNpZGVuYXYtYmFja2dyb3VuZCwgNCl9O1xyXG4gIC0tc2lkZW5hdi1pdGVtLWRyb3Bkb3duLWdhcDogMTJweDtcclxuXHJcbiAgLy8gVG9vbGJhclxyXG4gIC0tdG9vbGJhci1oZWlnaHQ6IDY0cHg7XHJcbiAgLS10b29sYmFyLWJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIC0tdG9vbGJhci1jb2xvcjogI3skZGFyay1wcmltYXJ5LXRleHR9O1xyXG4gIC0tdG9vbGJhci1pY29uLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItcHJpbWFyeSkpO1xyXG5cclxuICAvLyBTZWNvbmRhcnkgVG9vbGJhclxyXG4gIC0tc2Vjb25kYXJ5LXRvb2xiYXItYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1jYXJkKTtcclxuICAtLXNlY29uZGFyeS10b29sYmFyLWhlaWdodDogNTRweDtcclxuXHJcbiAgLy8gTmF2aWdhdGlvblxyXG4gIC0tbmF2aWdhdGlvbi1oZWlnaHQ6IDY0cHg7XHJcbiAgLS1uYXZpZ2F0aW9uLWJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtY2FyZCk7XHJcbiAgLS1uYXZpZ2F0aW9uLWNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcblxyXG4gIC8vIEZvb3RlclxyXG4gIC0tZm9vdGVyLWhlaWdodDogNTZweDtcclxuICAtLWZvb3Rlci16LWluZGV4OiAxMDA7XHJcbiAgLS1mb290ZXItYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1jYXJkKTtcclxuICAtLWZvb3Rlci1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XHJcbiAgLS1mb290ZXItZWxldmF0aW9uOiAwIC0xMHB4IDMwcHggMCByZ2JhKDgyLCA2MywgMTA0LCAuMDYpO1xyXG5cclxuICAvLyBQYWdlIExheW91dHNcclxuICAtLXBhZ2UtbGF5b3V0LWhlYWRlci1oZWlnaHQ6IDIwMHB4O1xyXG4gIC0tcGFnZS1sYXlvdXQtdG9vbGJhci1oZWlnaHQ6IDY0cHg7XHJcblxyXG4gIC8vIE1pc2NcclxuICAtLWJsaW5rLXNjcm9sbGJhci13aWR0aDogMTJweDtcclxuICAtLWRlZmF1bHQtaWNvbi1zaXplOiAyNHB4O1xyXG4gIC0tYm9yZGVyLXJhZGl1czogNHB4O1xyXG59XHJcbi8vIEBmb3JtYXR0ZXI6b25cclxuIiwiLmhvcml6b250YWwtbGF5b3V0IHtcclxuICAtLW5hdmlnYXRpb24taGVpZ2h0OiAwcHg7XHJcbiAgLS10b29sYmFyLXdpZHRoOiAxMDAlO1xyXG5cclxuICBAc2NyZWVuIGxnIHtcclxuICAgIC0tdG9vbGJhci13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc2lkZW5hdi13aWR0aCkpO1xyXG5cclxuICAgICYuc2lkZW5hdi1jb2xsYXBzZWQge1xyXG4gICAgICAtLXRvb2xiYXItd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNpZGVuYXYtY29sbGFwc2VkLXdpZHRoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1jb250YWluZXIge1xyXG4gICAgLyogV2hlbiB0aGUgc2lkZW5hdiBpcyBub3QgZml4ZWQsIHN0cmV0Y2ggdGhlIHNpZGVuYXYgY29udGFpbmVyIHRvIGZpbGwgdGhlIGF2YWlsYWJsZSBzcGFjZS4gVGhpc1xyXG4gICAgICAgY2F1c2VzIGA8bWF0LXNpZGVuYXYtY29udGVudD5gIHRvIGFjdCBhcyBvdXIgc2Nyb2xsaW5nIGVsZW1lbnQgZm9yIGRlc2t0b3AgbGF5b3V0cy4gKi9cclxuICAgIGZsZXg6IDE7XHJcbiAgfVxyXG5cclxuICAmLmhhcy1maXhlZC1mb290ZXIge1xyXG4gICAgJi5zY3JvbGwtZGlzYWJsZWQgLmNvbnRlbnQge1xyXG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLXRvb2xiYXItaGVpZ2h0KSAtIHZhcigtLWZvb3Rlci1oZWlnaHQpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBzY3JlZW4gbGcge1xyXG4gIGJvZHk6bm90KFtkaXI9XCJydGxcIl0pIHtcclxuICAgIC5ob3Jpem9udGFsLWxheW91dCB7XHJcbiAgICAgICYuc2lkZW5hdi1jb2xsYXBzZWQgLnNpZGVuYXYtY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNpZGVuYXYtY29sbGFwc2VkLXdpZHRoKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm5vdCguc2lkZW5hdi1jb2xsYXBzZWQpIC5zaWRlbmF2LWNvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zaWRlbmF2LXdpZHRoKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgW2Rpcj1cInJ0bFwiXSB7XHJcbiAgICAuaG9yaXpvbnRhbC1sYXlvdXQge1xyXG4gICAgICAmLnNpZGVuYXYtY29sbGFwc2VkIC5zaWRlbmF2LWNvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGgpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpub3QoLnNpZGVuYXYtY29sbGFwc2VkKSAuc2lkZW5hdi1jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNpZGVuYXYtd2lkdGgpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIudmVydGljYWwtbGF5b3V0IHtcclxuICAtLXRvb2xiYXItd2lkdGg6IDEwMCU7XHJcblxyXG4gIHZleC1zZWNvbmRhcnktdG9vbGJhciB7XHJcblxyXG4gICAgLmgtMTQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5maXhlZCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGFkZGluZy0xNikgKiAtMSk7XHJcbiAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wYWRkaW5nLTEyKTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmNvbnRlbnQtY29udGFpbmVyID4gLnNpZGVuYXYtY29udGFpbmVyID4gLnNpZGVuYXYtY29udGVudCA+IC5jb250ZW50IHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgJi5oYXMtZml4ZWQtZm9vdGVyIHtcclxuICAgICYuc2Nyb2xsLWRpc2FibGVkIC5jb250ZW50IHtcclxuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS10b29sYmFyLWhlaWdodCkgLSB2YXIoLS1mb290ZXItaGVpZ2h0KSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBtZWRpYSBwcmludCB7XHJcbiAgaHRtbCwgYm9keSB7XHJcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93OiBpbml0aWFsICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAudmV4LXRvb2xiYXIsIC5zaWRlbmF2IHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5jb250ZW50IHtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5tYXQtZHJhd2VyLWNvbnRhaW5lciB7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLm1hdC1kcmF3ZXItc2lkZSB7XHJcbiAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWNvbnRlbnQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgIEBhcHBseSBiZy1jYXJkO1xyXG4gIH1cclxuXHJcbiAgLnZleC1mb290ZXIge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmNvbmZpZy1wYW5lbC10b2dnbGUge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCJAdGFpbHdpbmQgYmFzZTtcbkB0YWlsd2luZCBjb21wb25lbnRzO1xuQHRhaWx3aW5kIHV0aWxpdGllczsiLCIvLyBUeXBvZ3JhcGh5XHJcblxyXG4vKlxyXG4gIEludGVyRHluYW1pY1RyYWNraW5nIHRha2VzIHRoZSBmb250IHNpemUgaW4gcG9pbnRzXHJcbiAgb3IgcGl4ZWxzIGFuZCByZXR1cm5zIHRoZSBjb21wZW5zYXRpbmcgdHJhY2tpbmcgaW4gRU0uXHJcbiAgZnVuY3Rpb24gSW50ZXJEeW5hbWljVHJhY2tpbmcoZm9udFNpemUpIHtcclxuICAgIGNvbnN0IGEgPSAtMC4wMjIzXHJcbiAgICBjb25zdCBiID0gMC4xODVcclxuICAgIGNvbnN0IGMgPSAtMC4xNzQ1O1xyXG4gICAgLy8gdHJhY2tpbmcgPSBhICsgYiAqIGUgXiAoYyAqIGZvbnRTaXplKVxyXG4gICAgcmV0dXJuIGEgKyBiICogTWF0aC5wb3coTWF0aC5FLCBjICogZm9udFNpemUpXHJcbiAgfVxyXG4qL1xyXG5cclxuLmRpc3BsYXktNCB7XHJcbiAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGRpc3BsYXktNCk7XHJcbn1cclxuXHJcbi5kaXNwbGF5LTMge1xyXG4gIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTMpO1xyXG59XHJcblxyXG4uZGlzcGxheS0yIHtcclxuICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgZGlzcGxheS0yKTtcclxufVxyXG5cclxuLmRpc3BsYXktMSwgaDEge1xyXG4gIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTEpO1xyXG59XHJcblxyXG4uaGVhZGxpbmUsIGgyIHtcclxuICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgaGVhZGxpbmUpO1xyXG59XHJcblxyXG4udGl0bGUsIGgzIHtcclxuICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgdGl0bGUpO1xyXG59XHJcblxyXG4uc3ViaGVhZGluZy0yLCBoNCB7XHJcbiAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHN1YmhlYWRpbmctMik7XHJcbn1cclxuXHJcbi5zdWJoZWFkaW5nLTEsIGg1IHtcclxuICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcclxufVxyXG5cclxuLmJvZHktMiwgaDYge1xyXG4gIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTIpO1xyXG59XHJcblxyXG4uYm9keS0xLCBwIHtcclxuICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0xKTtcclxufVxyXG5cclxuLmNhcHRpb24ge1xyXG4gIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBjYXB0aW9uKTtcclxufVxyXG5cclxuLnRleHQteHMge1xyXG4gIGxldHRlci1zcGFjaW5nOiAwO1xyXG59XHJcblxyXG4udGV4dC1zbSB7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwOWVtO1xyXG59XHJcblxyXG4udGV4dC1iYXNlIHtcclxuICBsZXR0ZXItc3BhY2luZzogLTAuMDExZW07XHJcbn1cclxuXHJcbi50ZXh0LWxnIHtcclxuICBsZXR0ZXItc3BhY2luZzogLTAuMDE0ZW07XHJcbn1cclxuXHJcbi50ZXh0LTJ4bCB7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxOWVtO1xyXG59XHJcblxyXG4udGV4dC0zeGwge1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMjFlbTtcclxufVxyXG4iLCIubWF0LWljb24sXHJcbi5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uIHtcclxuICBmb250LXNpemU6IHZhcigtLWRlZmF1bHQtaWNvbi1zaXplKTtcclxuICBoZWlnaHQ6IHVuc2V0O1xyXG4gIHdpZHRoOiB1bnNldDtcclxufVxyXG5cclxuLmljLWlubGluZSA+IHN2ZyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG5pYy1pY29uOm5vdCguaWMtaW5saW5lKSA+IHN2ZyxcclxuLmljb25pZnk6bm90KC5pYy1pbmxpbmUpID4gc3ZnIHtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4udmV4LXNjcm9sbGJsb2NrIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuIiwiYm9keS5pcy1ibGluayB7XHJcblxyXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcclxuICAgIGhlaWdodDogdmFyKC0tYmxpbmstc2Nyb2xsYmFyLXdpZHRoKTtcclxuICAgIHdpZHRoOiB2YXIoLS1ibGluay1zY3JvbGxiYXItd2lkdGgpO1xyXG4gIH1cclxuXHJcbiAgOjotd2Via2l0LXNjcm9sbGJhcjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG4gIH1cclxuXHJcbiAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJsaW5rLXNjcm9sbGJhci13aWR0aCk7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zNyk7XHJcbiAgfVxyXG5cclxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmFjdGl2ZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ibGluay1zY3JvbGxiYXItd2lkdGgpO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMTJweCByZ2JhKDAsIDAsIDAsIDAuNTQpO1xyXG4gIH1cclxufVxyXG4iLCIubWF0LWljb24tYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXIgPiAqLFxyXG4ubWF0LW1lbnUtaXRlbSAubWF0LWljb24sXHJcbi5tYXQtYnV0dG9uIC5tYXQtaWNvbiB7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWF0LWZvcm0tZmllbGQtc3VmZml4LCAubWF0LWZvcm0tZmllbGQtcHJlZml4IHtcclxuICAubWF0LWljb24tYnV0dG9uIC5tYXQtaWNvbiB7XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcblxyXG4ubWF0LXRhYmxlIHtcclxuICBtYXQtcm93LFxyXG4gIG1hdC1oZWFkZXItcm93LFxyXG4gIG1hdC1mb290ZXItcm93LFxyXG4gIHRoLm1hdC1oZWFkZXItY2VsbCxcclxuICB0ZC5tYXQtY2VsbCxcclxuICB0ZC5tYXQtZm9vdGVyLWNlbGwge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tZm9yZWdyb3VuZC1kaXZpZGVyKTtcclxuICB9XHJcbn1cclxuXHJcbi5tYXQtZm9ybS1maWVsZCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG59XHJcblxyXG4ubWF0LXByaW1hcnkubWF0LWZvcm0tZmllbGQge1xyXG4gIC5tYXQtZm9ybS1maWVsZC1wcmVmaXgsXHJcbiAgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCB7XHJcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1lYXNlLW91dCk7XHJcbiAgfVxyXG5cclxuICAmLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1wcmVmaXgsXHJcbiAgJi5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtc3VmZml4IHtcclxuICAgIEBhcHBseSB0ZXh0LXByaW1hcnk7XHJcbiAgfVxyXG59XHJcblxyXG4ubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCB7XHJcbiAgJi5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcHJlZml4LFxyXG4gICYubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCB7XHJcbiAgICBAYXBwbHkgdGV4dC1yZWQ7XHJcbiAgfVxyXG59XHJcblxyXG4ubWF0LXRhYmxlIC5tYXQtY2VsbCxcclxuLm1hdC10YWJsZSAubWF0LWhlYWRlci1jZWxsIHtcclxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctMTIpO1xyXG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctMTIpO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZS1zZWxlY3QubWF0LWZvcm0tZmllbGQgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG59XHJcblxyXG4ubWF0LW1lbnUtaXRlbSBpYy1pY29uIHtcclxuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tcGFkZGluZy0xNik7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbiAgPiBzdmcge1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB9XHJcbn1cclxuXHJcbi5tYXQtc2VsZWN0LXBhbmVsIHtcclxuICBAYXBwbHkgdGV4dC1iYXNlO1xyXG59XHJcblxyXG4ubWF0LWRyYXdlci1zaWRlIHtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbnRleHRhcmVhLm1hdC1pbnB1dC1lbGVtZW50IHtcclxuICBAYXBwbHkgbGVhZGluZy1ub3JtYWw7XHJcbn1cclxuXHJcbi52ZXgtZmxleC1mb3JtLWZpZWxkIHtcclxuICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4udmV4LWRlbnNlLWZvcm0tZmllbGQge1xyXG4gIG1hcmdpbi1ib3R0b206IC0xLjM0Mzc1ZW07XHJcblxyXG4gICYubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIHtcclxuICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udmV4LXRhYnMge1xyXG4gIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItbGFiZWwtYWN0aXZlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAubWF0LXRhYi1saW5rLm1hdC10YWItbGFiZWwtYWN0aXZlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4udmV4LXRhYnMtZGVuc2Uge1xyXG4gIC5tYXQtdGFiLWxhYmVsIHtcclxuICAgIG1pbi13aWR0aDogMDtcclxuICB9XHJcbn1cclxuXHJcbi51cHBlcmNhc2UgPiAqID4gLm1hdC1zb3J0LWhlYWRlci1idXR0b24ge1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi5tYXQtY2FyZC1pbWFnZSB7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG59XHJcblxyXG4vKlxyXG4ubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXBhbGV0dGUtZm9yZWdyb3VuZC1iYXNlKSwgMSk7XHJcbn1cclxuLm1hdC1jaGVja2JveCAubWF0LXJpcHBsZS1lbGVtZW50IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tcGFsZXR0ZS1mb3JlZ3JvdW5kLWJhc2UpKTtcclxufVxyXG4ubWF0LW9wdGlvbi5tYXQtb3B0aW9uLWRpc2FibGVkIHtcclxuICBjb2xvcjogcmdiYSh2YXIoLS1wYWxldHRlLWZvcmVncm91bmQtaGludC10ZXh0KSwgMC4zOCk7XHJcbn1cclxuKi9cclxuIiwiLmFwZXhjaGFydHMtbGVnZW5kLXRleHQge1xyXG4gIG1hcmdpbi1sZWZ0OiA0cHg7XHJcbiAgdG9wOiAtMXB4O1xyXG59XHJcblxyXG5ib2R5IC5hcGV4Y2hhcnRzLXRvb2x0aXAubGlnaHQge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtY2FyZCk7XHJcbn1cclxuIiwiLnZleC1sYXlvdXQtYXJlcyB7XHJcblxyXG4gIC0tZm9vdGVyLWJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtYmFzZSk7XHJcbiAgLS1zaWRlbmF2LWJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtYmFzZSk7XHJcbiAgLS10b29sYmFyLWJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtYmFzZSk7XHJcbiAgLS1zaWRlbmF2LWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcclxuICAtLXNpZGVuYXYtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdmFyKC0tYmFja2dyb3VuZC1jYXJkKTtcclxuICAtLXNpZGVuYXYtaXRlbS1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XHJcbiAgLS1zaWRlbmF2LWl0ZW0tY29sb3ItYWN0aXZlOiB2YXIoLS10ZXh0LWNvbG9yKTtcclxuICAtLXNpZGVuYXYtaXRlbS1kcm9wZG93bi1iYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWJhc2UpO1xyXG5cclxuICAtLXNpZGVuYXYtaXRlbS1kcm9wZG93bi1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1iYWNrZ3JvdW5kLWhvdmVyKTtcclxuICAtLXNlY29uZGFyeS10b29sYmFyLWJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtYmFzZSk7XHJcblxyXG4gIC0tc2lkZW5hdi10b29sYmFyLWJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtYmFzZSk7XHJcblxyXG4gIC0tc2Vjb25kYXJ5LXRvb2xiYXItaGVpZ2h0OiA2NHB4O1xyXG5cclxuICAuc2lkZW5hdiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgdmV4LXNpZGVuYXYtaXRlbSB7XHJcbiAgICAgIC5pdGVtIHtcclxuICAgICAgICB3aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgQGFwcGx5IHJvdW5kZWQtZnVsbCBweS0yIG14LTQ7XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgIEBhcHBseSBzaGFkb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuaXRlbS1sZXZlbC0wID4gLml0ZW0ge1xyXG4gICAgICAgIEBhcHBseSBteS0xO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaXRlbS1sZXZlbC0xIC5pdGVtLmFjdGl2ZSB7XHJcbiAgICAgICAgQGFwcGx5IHNoYWRvdy1ub25lIGZvbnQtbWVkaXVtO1xyXG5cclxuICAgICAgICAuaXRlbS1sYWJlbCB7XHJcbiAgICAgICAgICBAYXBwbHkgdGV4dC1ibGFjaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pdGVtLWxldmVsLTEgLml0ZW06aG92ZXIgLml0ZW0tbGFiZWwge1xyXG4gICAgICAgIEBhcHBseSB0ZXh0LWJsYWNrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1jb2xsYXBzZWQgLnNpZGVuYXYgdmV4LXNpZGVuYXYtaXRlbSAuaXRlbSB7XHJcbiAgICBAYXBwbHkgbXgtMDtcclxuICB9XHJcblxyXG4gIHZleC1zZWNvbmRhcnktdG9vbGJhciB7XHJcbiAgICBAYXBwbHkgcm91bmRlZC1iIG92ZXJmbG93LWhpZGRlbjtcclxuXHJcbiAgICAuc2Vjb25kYXJ5LXRvb2xiYXIge1xyXG4gICAgICBAYXBwbHkgc2hhZG93LW5vbmUgYm9yZGVyLXQtMCAtbWItZ3V0dGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmV4LWZvb3RlciB7XHJcbiAgICBAYXBwbHkgcm91bmRlZC10IG92ZXJmbG93LWhpZGRlbjtcclxuICB9XHJcblxyXG4gIC52ZXgtcGFnZS1sYXlvdXQtaGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtYmFzZSk7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XHJcblxyXG4gICAgdmV4LWJyZWFkY3J1bWJzIHtcclxuICAgICAgLnRleHQtaGludCB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtaGludCkgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi52ZXgtc3R5bGUtZGVmYXVsdCB7XHJcbiAgICAtLXNpZGVuYXYtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdGhlbWUoJ2JhY2tncm91bmRDb2xvci5wcmltYXJ5LkRFRkFVTFQnKTtcclxuICAgIC0tc2lkZW5hdi1pdGVtLWNvbG9yLWFjdGl2ZTogdGhlbWUoJ3RleHRDb2xvci5wcmltYXJ5LWNvbnRyYXN0Jyk7XHJcbiAgICAtLXNpZGVuYXYtaXRlbS1kcm9wZG93bi1jb2xvci1ob3ZlcjogdmFyKC0tdGV4dC1jb2xvcik7XHJcbiAgICAtLXNpZGVuYXYtaXRlbS1pY29uLWNvbG9yLWFjdGl2ZTogdGhlbWUoJ3RleHRDb2xvci5wcmltYXJ5LWNvbnRyYXN0Jyk7XHJcbiAgfVxyXG59XHJcbiIsIi52ZXgtbGF5b3V0LWhlcm1lcyB7XHJcbiAgLS10b29sYmFyLWhlaWdodDogMTAwcHg7XHJcbiAgLS1zZWNvbmRhcnktdG9vbGJhci1iYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWJhc2UpO1xyXG4gIC0tc2Vjb25kYXJ5LXRvb2xiYXItaGVpZ2h0OiA2NHB4O1xyXG5cclxuICAmLnZleC1zdHlsZS1saWdodCB7XHJcbiAgICAtLXRvb2xiYXItYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1iYXNlKTtcclxuICB9XHJcblxyXG4gICYudmV4LXN0eWxlLWRlZmF1bHQge1xyXG4gICAgLS1uYXZpZ2F0aW9uLWJhY2tncm91bmQ6ICN7JHNpZGVuYXYtYmFja2dyb3VuZH07XHJcbiAgICAtLXRvb2xiYXItYmFja2dyb3VuZDogI3tsaWdodGVuKCRzaWRlbmF2LWJhY2tncm91bmQsIDUpfTtcclxuICAgIC0tbmF2aWdhdGlvbi1jb2xvcjogd2hpdGU7XHJcbiAgICAtLXRvb2xiYXItY29sb3I6IHdoaXRlO1xyXG4gIH1cclxuXHJcbiAgJi52ZXgtc3R5bGUtZGFyayB7XHJcbiAgICAtLXRvb2xiYXItYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1iYXNlKTtcclxuICB9XHJcblxyXG4gIC8vIEhpZGUgc2lkZW5hdiBvbiB2ZXJ0aWNhbCBsYXlvdXQ6XHJcbiAgLy8gR2xvYmFsIFNlYXJjaCBkaXNwbGF5cyBpdCwgZXZlbiB3aGVuIGl0J3Mgb3V0IG9mIHRoZSB2aWV3XHJcbiAgQHNjcmVlbiBsZyB7XHJcbiAgICAuc2lkZW5hdiB7XHJcbiAgICAgIEBhcHBseSBoaWRkZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2ZXgtc2Vjb25kYXJ5LXRvb2xiYXIgLnNlY29uZGFyeS10b29sYmFyIHtcclxuICAgIEBhcHBseSBzaGFkb3ctbm9uZSAtbWItZ3V0dGVyIGJvcmRlci10LTA7XHJcbiAgfVxyXG59XHJcbiIsIi52ZXgtbGF5b3V0LWlrYXJvcyB7XHJcbiAgLS1uYXZpZ2F0aW9uLWhlaWdodDogMHB4O1xyXG5cclxuICAmLnZleC1zdHlsZS1kZWZhdWx0IHtcclxuICAgIC0tdG9vbGJhci1iYWNrZ3JvdW5kOiAjeyRzaWRlbmF2LWJhY2tncm91bmR9O1xyXG4gICAgLS1uYXZpZ2F0aW9uLWNvbG9yOiB3aGl0ZTtcclxuICAgIC0tdG9vbGJhci1jb2xvcjogd2hpdGU7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEN1c3RvbSBUaGVtaW5nIGZvciBBbmd1bGFyIE1hdGVyaWFsXHJcbi8vIEZvciBtb3JlIGluZm9ybWF0aW9uOiBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvdGhlbWluZ1xyXG5AaW1wb3J0IFwifkBhbmd1bGFyL21hdGVyaWFsL3RoZW1pbmdcIjtcclxuXHJcbi8vIFNDU1MgVmFyaWFibGVzXHJcbkBpbXBvcnQgXCJ2YXJcIjtcclxuXHJcbi8vIFN0eWxlcyAvIENTUyBWYXJpYWJsZXNcclxuQGltcG9ydCBcInBhcnRpYWxzL3N0eWxlcy9zdHlsZS1kYXJrXCI7XHJcbkBpbXBvcnQgXCJwYXJ0aWFscy9zdHlsZXMvc3R5bGUtbGlnaHRcIjtcclxuQGltcG9ydCBcInBhcnRpYWxzL3N0eWxlcy9zdHlsZS1kZWZhdWx0XCI7XHJcblxyXG4vLyBNaXhpbnNcclxuQGltcG9ydCBcInBhcnRpYWxzL21peGluc1wiO1xyXG5cclxuLy8gSW5jbHVkZSB0aGUgY29tbW9uIHN0eWxlcyBmb3IgQW5ndWxhciBNYXRlcmlhbC4gV2UgaW5jbHVkZSB0aGlzIGhlcmUgc28gdGhhdCB5b3Ugb25seVxyXG4vLyBoYXZlIHRvIGxvYWQgYSBzaW5nbGUgY3NzIGZpbGUgZm9yIEFuZ3VsYXIgTWF0ZXJpYWwgaW4geW91ciBhcHAuXHJcbi8vIEJlIHN1cmUgdGhhdCB5b3Ugb25seSBldmVyIGluY2x1ZGUgdGhpcyBtaXhpbiBvbmNlIVxyXG5AaW5jbHVkZSBtYXQtY29yZSgkY29uZmlnKTtcclxuXHJcbi8vIEluY2x1ZGUgdGhlbWUgc3R5bGVzIGZvciBjb3JlIGFuZCBlYWNoIGNvbXBvbmVudCB1c2VkIGluIHlvdXIgYXBwLlxyXG4vLyBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIGltcG9ydCBhbmQgQGluY2x1ZGUgdGhlIHRoZW1lIG1peGlucyBmb3IgZWFjaCBjb21wb25lbnRcclxuLy8gdGhhdCB5b3UgYXJlIHVzaW5nLlxyXG5AaW5jbHVkZSBhbmd1bGFyLW1hdGVyaWFsLXRoZW1lKCR2ZXgtdGhlbWUpO1xyXG5cclxuLy8gUGFydGlhbHNcclxuQGltcG9ydCBcInBhcnRpYWxzL2hvcml6b250YWxcIjtcclxuQGltcG9ydCBcInBhcnRpYWxzL3ZlcnRpY2FsXCI7XHJcbkBpbXBvcnQgXCJwYXJ0aWFscy9wcmludFwiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvdHlwb2dyYXBoeVwiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvb3ZlcnJpZGVzXCI7XHJcbkBpbXBvcnQgXCJwYXJ0aWFscy9zY3JvbGxiYXJcIjtcclxuQGltcG9ydCBcInBhcnRpYWxzL3BsdWdpbnMvYW5ndWxhci1tYXRlcmlhbFwiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvcGx1Z2lucy9hcGV4Y2hhcnRzXCI7XHJcblxyXG4vLyBMYXlvdXRzXHJcbkBpbXBvcnQgXCJwYXJ0aWFscy9sYXlvdXRzL2xheW91dC1hcG9sbG9cIjtcclxuQGltcG9ydCBcInBhcnRpYWxzL2xheW91dHMvbGF5b3V0LWFyZXNcIjtcclxuQGltcG9ydCBcInBhcnRpYWxzL2xheW91dHMvbGF5b3V0LWhlcm1lc1wiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvbGF5b3V0cy9sYXlvdXQtaWthcm9zXCI7XHJcbkBpbXBvcnQgXCJwYXJ0aWFscy9sYXlvdXRzL2xheW91dC16ZXVzXCI7XHJcblxyXG4vLyBQbHVzIGltcG9ydHMgZm9yIG90aGVyIGNvbXBvbmVudHMgaW4geW91ciBhcHAuXHJcblxyXG4vKiBZb3UgY2FuIGFkZCBnbG9iYWwgc3R5bGVzIHRvIHRoaXMgZmlsZSwgYW5kIGFsc28gaW1wb3J0IG90aGVyIHN0eWxlIGZpbGVzICovXHJcblxyXG5odG1sIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTEpO1xyXG4gIEBhcHBseSB0ZXh0LWJsYWNrIGxlYWRpbmctbm9ybWFsIGFudGlhbGlhc2VkO1xyXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2tlcm4nO1xyXG59XHJcblxyXG5kaXYge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuIl19 */
