/*!*********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/app.css ***!
  \*********************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Inter+Display:wght@500;600;700&display=swap);
/*!*************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/app.css (1) ***!
  \*************************************************************************************************************************************************************************************************/
*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --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;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --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;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Inter, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
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)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

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

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

/*
Remove the default font size and weight for headings.
*/

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

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

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
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;
}

/*
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)
3. Remove gaps between table borders by default.
*/

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

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

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

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

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

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

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

/*
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 */
}

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

summary {
  display: list-item;
}

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

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

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

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

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

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

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

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

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

/* Font Family Setup */

html {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
  }

/* Display Font for Marketing/Landing */

/* Body Base Styles */

body{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
    letter-spacing: -0.015em;
}

/* Heading Defaults */

h1, h2, h3, h4, h5, h6{
  font-weight: 600;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

/* Focus Ring Default */

*:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

/* Smooth Scrolling */

html {
    scroll-behavior: smooth;
  }

/* Remove default margins */

* {
    margin: 0;
    padding: 0;
  }
.container{
  width: 100%;
}
@media (min-width: 640px){

  .container{
    max-width: 640px;
  }
}
@media (min-width: 768px){

  .container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){

  .container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){

  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1536px){

  .container{
    max-width: 1536px;
  }
}
/* ==========================================================================
     Button Components - Following New Guidelines
     ========================================================================== */
/* Primary Button - Blue (Sacred Color) */
.btn-primary .animate-spin {
    align-self: center;
    margin: auto 0;
  }
.btn-primary{
  display: inline-flex;
  align-items: center;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
.btn-primary:disabled {
    opacity: 0.5;
}
.btn-primary:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}
.btn-primary:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --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);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
  --tw-ring-offset-width: 2px;
}
.btn-primary:active{
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), 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));
}
.btn-primary:disabled{
  cursor: not-allowed;
  opacity: 0.5;
}
/* Primary Button - Large (Mobile Full Width) */
.btn-primary-lg{
  width: 100%;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
.btn-primary-lg:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}
.btn-primary-lg:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --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);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
  --tw-ring-offset-width: 2px;
}
@media (min-width: 640px){

  .btn-primary-lg{
    width: auto;
  }
}
/* Secondary Button - White with Border */
.btn-secondary .animate-spin {
    align-self: center;
    margin: auto 0;
  }
.btn-secondary{
  display: inline-flex;
  align-items: center;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
.btn-secondary:disabled {
    opacity: 0.5;
}
.btn-secondary:hover{
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.btn-secondary:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --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);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
  --tw-ring-offset-width: 2px;
}
.btn-secondary:disabled{
  cursor: not-allowed;
  opacity: 0.5;
}
/* Tertiary Button - Light Gray */
/* Ghost Button - Minimal */
/* Spinner Alignment Fix */
.animate-spin {
    flex-shrink: 0;
    vertical-align: middle;
    display: inline-block;
    margin: 0;
    padding: 0;
    line-height: 1;
  }
/* Ensure button spinners align properly with text */
button .animate-spin,
  .btn-primary .animate-spin,
  .btn-secondary .animate-spin {
    align-self: center;
  }
/* Fix spinner alignment in flex containers */
.flex .animate-spin,
  .inline-flex .animate-spin {
    align-self: center;
    margin: auto 0;
  }
/* Specific fix for rounded containers with spinners */
.rounded-xl .animate-spin,
  .rounded-full .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
/* ==========================================================================
     Form Components
     ========================================================================== */
/* ==========================================================================
     Modal Components - Following Modern Design Standards
     ========================================================================== */
/* Modal Backdrop - Blurred background for better focus and depth */
.modal-backdrop{
  position: fixed;
  inset: 0px;
  z-index: 40;
  background-color: rgb(0 0 0 / 0.2);
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
/* Modal Container - Elevated with proper shadows and spacing */
.modal-container .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.modal-container{
  position: relative;
  overflow: hidden;
  border-radius: 0.75rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
/* Modal Header - Clean separation with subtle background */
/* Modal Content - Proper spacing and scroll handling */
/* Modal Footer - Consistent actions area */
/* ==========================================================================
     Content Display Components - For AI-generated content
     ========================================================================== */
/* Content Display for HTML descriptions with proper styling */
.content-display h3{
  margin-bottom: 0.75rem;
  margin-top: 1rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.content-display{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.content-display p{
  margin-bottom: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.content-display ul{
  margin-bottom: 1rem;
  list-style-position: inside;
  list-style-type: disc;
}
.content-display ul > :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));
}
.content-display ul{
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.content-display ol{
  margin-bottom: 1rem;
  list-style-position: inside;
  list-style-type: decimal;
}
.content-display ol > :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));
}
.content-display ol{
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.content-display li{
  font-size: 0.875rem;
  line-height: 1.25rem;
  line-height: 1.625;
}
.content-display h2{
  margin-bottom: 1rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.content-display strong{
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.content-display em{
  font-style: italic;
}
/* ==========================================================================
     Blog Post Content Styling - Following UI/UX Guidelines
     ========================================================================== */
/* Override Tailwind Typography for blog content */
.prose-blog{
  max-width: none;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
/* Blog Post Headings - Following Typography System */
.prose-blog h1{
  margin-bottom: 2rem;
  margin-top: 0px;
  font-size: 2.25rem;
  line-height: 2.5rem;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
@media (min-width: 1024px){

  .prose-blog h1{
    font-size: 3rem;
    line-height: 1;
  }
}
.prose-blog h2{
  margin-bottom: 1.5rem;
  margin-top: 3rem;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  padding-bottom: 0.75rem;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
@media (min-width: 1024px){

  .prose-blog h2{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}
.prose-blog h3{
  margin-bottom: 1rem;
  margin-top: 2rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
@media (min-width: 1024px){

  .prose-blog h3{
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
.prose-blog h4{
  margin-bottom: 0.75rem;
  margin-top: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 600;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.prose-blog h5{
  margin-bottom: 0.5rem;
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.prose-blog h6{
  margin-bottom: 0.5rem;
  margin-top: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.25;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
/* Blog Post Paragraphs */
.prose-blog p{
  margin-bottom: 1.5rem;
  max-width: none;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
@media (min-width: 1024px){

  .prose-blog p{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
/* Blog Post Images - Responsive and styled */
.prose-blog img .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.prose-blog img{
  margin-top: 2rem;
  margin-bottom: 2rem;
  height: auto;
  width: 100%;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    max-width: 100%;
}
.prose-blog img:hover{
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}
/* Blog Post Lists - Enhanced styling */
.prose-blog ul{
  margin-bottom: 1.5rem;
  list-style-type: none;
}
.prose-blog ul > :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));
}
.prose-blog ul{
  padding-left: 0px;
}
.prose-blog ol{
  margin-bottom: 1.5rem;
  list-style-type: none;
}
.prose-blog ol > :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));
}
.prose-blog ol{
  padding-left: 0px;
    counter-reset: item;
}
.prose-blog ul li{
  position: relative;
  padding-left: 2rem;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
@media (min-width: 1024px){

  .prose-blog ul li{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
.prose-blog ul li::before {
    content: "";
  }
.prose-blog ul li .animate-spin::before {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.prose-blog ul li::before{
  position: absolute;
  left: 0.5rem;
  top: 0.75rem;
  height: 0.5rem;
  width: 0.5rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.prose-blog ol li{
  position: relative;
  padding-left: 2rem;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
@media (min-width: 1024px){

  .prose-blog ol li{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
.prose-blog ol li {
    counter-increment: item;
  }
.prose-blog ol li::before {
    content: counter(item);
  }
.prose-blog ol li .animate-spin::before {
    align-self: center;
    margin: auto 0;
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.prose-blog ol li::before{
  position: absolute;
  left: 0px;
  top: 0px;
  display: flex;
  height: 1.5rem;
  width: 1.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
/* Nested Lists */
.prose-blog ul ul,
  .prose-blog ol ol,
  .prose-blog ul ol,
  .prose-blog ol ul{
  margin-top: 0.75rem;
  margin-bottom: 0px;
  margin-left: 1rem;
}
.prose-blog ul ul li::before{
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}
/* Blog Post Strong and Em */
.prose-blog strong{
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.prose-blog em{
  font-style: italic;
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
/* Blog Post Blockquotes */
.prose-blog blockquote{
  position: relative;
  margin-top: 2rem;
  margin-bottom: 2rem;
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #eff6ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #f8fafc var(--tw-gradient-to-position);
  padding: 1.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-style: italic;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
@media (min-width: 1024px){

  .prose-blog blockquote{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
.prose-blog blockquote::before {
    content: "\\201C";
    position: absolute;
    top: -0.5rem;
    left: -0.25rem;
    font-size: 3.75rem;
    line-height: 1;
    color: rgb(37 99 235 / 0.3);
  }
.prose-blog blockquote p{
  margin-bottom: 1rem;
}
.prose-blog blockquote p:last-child{
  margin-bottom: 0px;
}
.prose-blog blockquote p:first-child{
  margin-top: 0px;
}
/* Blog Post Code Elements */
.prose-blog code{
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.prose-blog pre .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.prose-blog pre{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  overflow-x: auto;
  border-radius: 0.75rem;
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.prose-blog pre code{
  background-color: transparent;
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: inherit;
}
/* Blog Post Links */
.prose-blog a{
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
  text-decoration-line: underline;
  text-decoration-color: rgb(37 99 235 / 0.3);
  text-underline-offset: 4px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
.prose-blog a:hover{
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
  text-decoration-color: rgb(30 64 175 / 0.5);
  text-decoration-thickness: 2px;
}
/* Blog Post Tables */
.prose-blog table .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.prose-blog table{
  margin-top: 2rem;
  margin-bottom: 2rem;
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.prose-blog thead{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.prose-blog th{
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.prose-blog td{
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.prose-blog tbody tr:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
.prose-blog tbody tr:last-child td{
  border-bottom-width: 0px;
}
/* Blog Post Horizontal Rules */
.prose-blog hr{
  margin-top: 3rem;
  margin-bottom: 3rem;
  height: 1px;
  border-width: 0px;
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: rgb(203 213 225 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #cbd5e1 var(--tw-gradient-via-position), var(--tw-gradient-to);
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
/* Responsive Adjustments */
@media (max-width: 768px) {
    .prose-blog h1{
    margin-bottom: 1.5rem;
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
    
    .prose-blog h2{
    margin-bottom: 1rem;
    margin-top: 2rem;
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
    
    .prose-blog h3{
    margin-bottom: 0.75rem;
    margin-top: 1.5rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
    
    .prose-blog p{
    margin-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
    
    .prose-blog ul li,
    .prose-blog ol li{
    padding-left: 1.5rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
    
    .prose-blog ul li::before{
    left: 0.25rem;
    top: 0.625rem;
    height: 0.375rem;
    width: 0.375rem;
  }
    
    .prose-blog ol li::before{
    height: 1.25rem;
    width: 1.25rem;
    font-size: 0.75rem;
    line-height: 1rem;
  }
    
    .prose-blog blockquote{
    padding: 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
    
    .prose-blog img{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
    
    .prose-blog table{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
    
    .prose-blog th,
    .prose-blog td{
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
  }
/* ==========================================================================
     Blog Post Enhancement Components
     ========================================================================== */
/* Progress Bar */
#progress-bar {
    transition: width 0.3s ease;
    box-shadow: 0 2px 4px rgba(37, 99, 235, 0.3);
  }
/* Blog Lead Magnet */
.blog-lead-magnet {
    max-width: 280px;
    -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
    animation: float 3s ease-in-out infinite;
  }
.blog-lead-magnet:hover {
    transform: translateY(-2px);
  }
/* Lead Magnet Container with Fade Out */
#lead-magnet-container {
    transition: opacity 0.6s ease, transform 0.6s ease;
  }
/* Lead Magnet Fade Out Animation */
#lead-magnet-container.lead-magnet-fade-out {
    opacity: 0;
    transform: translateX(-20px);
    pointer-events: none;
    visibility: hidden;
  }
/* Blog Table of Contents */
.blog-toc {
    max-width: 280px;
    max-height: 70vh;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
    transition: opacity 0.6s ease, transform 0.6s ease;
  }
/* TOC Fade Out Animation */
.blog-toc.toc-fade-out {
    opacity: 0;
    transform: translateX(20px);
    pointer-events: none;
    visibility: hidden;
  }
.blog-toc::-webkit-scrollbar {
    width: 4px;
  }
.blog-toc::-webkit-scrollbar-track {
    background: transparent;
  }
.blog-toc::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: 2px;
  }
.blog-toc::-webkit-scrollbar-thumb:hover {
    background-color: #94a3b8;
  }
/* TOC Link Styles */
.toc-link {
    position: relative;
    margin-left: 0;
    transition: all 0.3s ease, opacity 0.5s ease;
  }
.toc-link:hover {
    padding-left: 1rem;
  }
.toc-link.active {
    background-color: #dbeafe;
    color: #1d4ed8;
    border-left: 2px solid #2563eb;
    padding-left: 1rem;
  }
/* Floating Animation for Lead Magnet */
@keyframes float {
    0%, 100% {
      transform: translateY(0px);
    }
    50% {
      transform: translateY(-8px);
    }
  }
/* Slide-in Animation */
@keyframes slide-in {
    from {
      opacity: 0;
      transform: translateX(-20px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
.animate-slide-in {
    animation: slide-in 0.5s ease-out;
  }
/* Responsive Adjustments */
@media (max-width: 1279px) {
    .blog-lead-magnet,
    .blog-toc {
      display: none;
    }
  }
/* Mobile TOC - Show as collapsible section */
@media (max-width: 1279px) {
    .mobile-toc {
      display: block;
      background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
      border: 1px solid #cbd5e1;
      border-radius: 12px;
      padding: 1rem;
      margin: 2rem 0;
    }

    .mobile-toc-toggle {
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      text-align: left;
      background: none;
      border: none;
      color: #334155;
      font-weight: 600;
    }

    .mobile-toc-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease;
      margin-top: 1rem;
    }

    .mobile-toc-content.expanded {
      max-height: 500px;
    }

    .mobile-toc .toc-link {
      display: block;
      padding: 0.5rem 0.75rem;
      color: #475569;
      text-decoration: none;
      border-radius: 6px;
      margin: 0.25rem 0;
      transition: all 0.2s ease;
    }

    .mobile-toc .toc-link:hover {
      background-color: #e2e8f0;
      color: #1e293b;
      padding-left: 1rem;
    }
  }
/* Enhanced Blog Content Area */
/* Subtle shadow for main content */
/* ==========================================================================
     Blog Modal Styles
     ========================================================================== */
/* Modal Backdrop with Blur Effect */
.blog-modal-backdrop {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: opacity 0.3s ease, -webkit-backdrop-filter 0.3s ease;
    transition: opacity 0.3s ease, backdrop-filter 0.3s ease;
    transition: opacity 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease;
  }
/* Modal Container */
.blog-modal {
    animation: modal-fade-in 0.3s ease-out;
  }
.blog-modal.hidden {
    animation: modal-fade-out 0.3s ease-in;
  }
/* Modal Content */
.blog-modal-content {
    animation: modal-slide-up 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 
                0 0 0 1px rgba(255, 255, 255, 0.1);
  }
/* Modal Animations */
@keyframes modal-fade-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
@keyframes modal-fade-out {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
@keyframes modal-slide-up {
    from {
      opacity: 0;
      transform: translateY(20px) scale(0.96);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }
/* Modal Responsive Adjustments */
@media (max-width: 640px) {
    .blog-modal-content {
      margin: 1rem;
      max-width: calc(100vw - 2rem);
    }
  }
/* Mobile Navigation Styles */
.mobile-nav-menu.open{
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), 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));
}
.mobile-nav-menu.closed{
  --tw-translate-y: -100%;
  transform: translate(var(--tw-translate-x), 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));
}
.mobile-nav-section.open{
  opacity: 1;
}
.mobile-nav-section.closed{
  max-height: 0px;
  opacity: 0;
}
/* Standard Input */
/* Input Error State */
/* Form Label */
/* Select Dropdown */
/* Select Option Elements - Ensure consistent font */
/* Global Select Elements - Apply consistent font to ALL select elements */
select {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
  }
/* Global Select Option Elements - Apply consistent font to ALL option elements */
select option {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
    font-size: 0.875rem;
    color: #374151;
    background-color: white;
  }
/* Checkbox */
/* Radio Button */
.form-radio{
  height: 1rem;
  width: 1rem;
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.form-radio: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);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
  --tw-ring-offset-width: 2px;
}
/* ==========================================================================
     Card Components
     ========================================================================== */
/* Basic Card */
.card{
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}
.card:hover{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
/* Mobile Optimized Card */
/* Metric Card */
/* Interactive Card */
/* ==========================================================================
     Navigation Components
     ========================================================================== */
/* Desktop Sidebar */
/* Sidebar Navigation Item */
.nav-item .animate-spin {
    align-self: center;
    margin: auto 0;
  }
.nav-item{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.nav-item:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
/* Active Navigation Item */
.nav-item-active .animate-spin {
    align-self: center;
    margin: auto 0;
  }
.nav-item-active{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
/* Admin Card Component */
.admin-card .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.admin-card{
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
/* Sidebar Collapse Styles */
.sidebar {
    transition: width 0.3s ease;
    z-index: 40;
    min-width: 4rem; /* Ensure minimum width */
  }
.sidebar.collapsed {
    width: 4rem;
  }
.sidebar.collapsed .sidebar-text {
    display: none;
  }
.sidebar.collapsed .sidebar-content {
    display: block;
    padding: 0;
  }
.sidebar.collapsed .sidebar-content h3,
  .sidebar.collapsed .sidebar-content p,
  .sidebar.collapsed .sidebar-content span:not(.sidebar-icon i) {
    display: none;
  }
/* Hide the Supervisor Agent card when sidebar is collapsed */
.sidebar.collapsed .sidebar-content.supervisor-card {
    display: none;
  }
.sidebar.collapsed .sidebar-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0.75rem 0;
    margin: 0.25rem 0;
  }
.sidebar.collapsed .sidebar-icon i {
    margin-right: 0;
    font-size: 1rem;
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
.sidebar.collapsed button.sidebar-icon,
  .sidebar.collapsed a.sidebar-icon {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.75rem 0;
  }
.sidebar.collapsed nav.sidebar-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.5rem;
  }
.sidebar.collapsed nav.sidebar-content > a,
  .sidebar.collapsed nav.sidebar-content > div {
    width: 100%;
    margin: 0.25rem 0;
  }
.sidebar.collapsed .bottom-menu {
    position: absolute;
    bottom: 1rem;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
/* Improved tooltip styles */
.sidebar.collapsed [data-tooltip] {
    position: relative;
  }
.sidebar.collapsed [data-tooltip]:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    background-color: #1e293b;
    color: white;
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    margin-left: 0.75rem;
    white-space: nowrap;
    z-index: 50;
    font-size: 0.875rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    opacity: 1;
    pointer-events: none;
  }
/* Add a triangle/arrow to the tooltip */
.sidebar.collapsed [data-tooltip]:hover::before {
    content: "";
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: transparent #1e293b transparent transparent;
    margin-left: 0.375rem;
    z-index: 51;
  }
body.sidebar-collapsed main {
    margin-left: 4rem;
  }
/* Mobile Bottom Navigation */
/* Mobile Navigation Item */
/* ==========================================================================
     Dropdown Components
     ========================================================================== */
/* User Dropdown Menu */
.user-dropdown{
  position: absolute;
  right: 0px;
  top: 100%;
  z-index: 50;
  margin-top: 0.5rem;
  width: 16rem;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.user-dropdown-header{
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.user-dropdown-list{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.user-dropdown-item .animate-spin {
    align-self: center;
    margin: auto 0;
  }
.user-dropdown-item{
  display: flex;
  cursor: pointer;
  align-items: center;
  gap: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
.user-dropdown-item:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.user-dropdown-item i{
  width: 1.25rem;
  text-align: center;
}
.user-dropdown-item:first-child{
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
.user-dropdown-item:last-child{
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}
.user-dropdown-separator{
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.user-dropdown-referral{
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.user-dropdown-referral-btn .animate-spin {
    align-self: center;
    margin: auto 0;
  }
.user-dropdown-referral-btn{
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
.user-dropdown-referral-btn:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}
/* ==========================================================================
     Table Components
     ========================================================================== */
/* Table Container */
/* Table */
.table{
  min-width: 100%;
}
.table > :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));
  --tw-divide-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-divide-opacity, 1));
}
/* Table Header */
/* Table Header Cell */
/* Table Body */
/* Table Row */
.table-row{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.table-row:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
/* Table Cell */
/* ==========================================================================
     Modal Components
     ========================================================================== */
/* Modal Backdrop */
.modal-backdrop .animate-spin {
    align-self: center;
    margin: auto 0;
  }
.modal-backdrop{
  position: fixed;
  inset: 0px;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
  --tw-bg-opacity: 0.5;
  padding: 1rem;
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
/* Modal Content */
/* Modal Header */
/* Modal Body */
/* Modal Footer */
/* ==========================================================================
     Status & Feedback Components
     ========================================================================== */
/* Status Badge - Success */
/* Status Badge - Error */
/* Status Badge - Warning */
/* Status Badge - Neutral */
/* Toast Notification */
.toast .animate-spin {
    align-self: center;
    margin: auto 0;
  }
.toast{
  display: flex;
  max-width: 24rem;
  align-items: flex-start;
  gap: 0.75rem;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1rem;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
/* ==========================================================================
     Chart & Data Visualization Components
     ========================================================================== */
/* Chart Container */
.chart-container{
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
}
/* Chart Legend */
/* Data Visualization Color Palette - Professional & Accessible */
/* Chart Background Colors */
/* Metric Cards with Chart Colors */
/* Trend Indicators */
/* ==========================================================================
     Loading & Empty States
     ========================================================================== */
/* Skeleton Loader */
@keyframes pulse{

  50%{
    opacity: .5;
  }
}
.skeleton{
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
/* Spinner */
.spinner {
    flex-shrink: 0;
    vertical-align: middle;
    display: inline-block;
    margin: 0;
    padding: 0;
    line-height: 1;
  }
button .spinner,
  .btn-primary .spinner,
  .btn-secondary .spinner {
    align-self: center;
  }
.flex .spinner,
  .inline-flex .spinner {
    align-self: center;
    margin: auto 0;
  }
.rounded-xl .spinner,
  .rounded-full .spinner {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.spinner .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.rounded-xl .spinner,
  .rounded-full .spinner {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.spinner{
  height: 2rem;
  width: 2rem;
}
@keyframes spin{

  to{
    transform: rotate(360deg);
  }
}
.spinner{
  animation: spin 1s linear infinite;
  border-radius: 9999px;
  border-width: 2px;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
  --tw-border-opacity: 1;
  border-top-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}
/* Empty State */
/* ==========================================================================
     Dashboard Components - Latest Executions
     ========================================================================== */
/* Execution Status Indicators */
/* Execution Progress Bar */
/* Execution Card Hover Effects */
/* ==========================================================================
     Enhanced Action Cards
     ========================================================================== */
/* Action Card with Better Focus States */
/* ==========================================================================
     Dashboard Layout Improvements
     ========================================================================== */
/* Dashboard Container */
/* Improved Card Spacing */
/* Compact Agent Cards */
/* Execution List Items */
/* Status Dots */
/* Compact Progress Bar */
/* Better Hover States */
.hover-lift{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
.hover-lift:hover{
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), 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));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
/* Subtle Background Variations */
/* ==========================================================================
     Utility Classes
     ========================================================================== */
/* Container with responsive padding */
/* Safe area for mobile */
/* Text balance for headings */
/* Scrollbar styling */
/* Magical Final Response Styling */
.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;
}
.pointer-events-none{
  pointer-events: none;
}
.pointer-events-auto{
  pointer-events: auto;
}
.visible{
  visibility: visible;
}
.invisible{
  visibility: hidden;
}
.collapse{
  visibility: collapse;
}
.static{
  position: static;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.sticky{
  position: sticky;
}
.-inset-1{
  inset: -0.25rem;
}
.inset-0{
  inset: 0px;
}
.inset-1{
  inset: 0.25rem;
}
.inset-2{
  inset: 0.5rem;
}
.inset-4{
  inset: 1rem;
}
.inset-x-0{
  left: 0px;
  right: 0px;
}
.inset-y-0{
  top: 0px;
  bottom: 0px;
}
.-bottom-1{
  bottom: -0.25rem;
}
.-bottom-16{
  bottom: -4rem;
}
.-bottom-2{
  bottom: -0.5rem;
}
.-bottom-4{
  bottom: -1rem;
}
.-bottom-6{
  bottom: -1.5rem;
}
.-left-16{
  left: -4rem;
}
.-left-2{
  left: -0.5rem;
}
.-left-3{
  left: -0.75rem;
}
.-left-4{
  left: -1rem;
}
.-left-7{
  left: -1.75rem;
}
.-right-1{
  right: -0.25rem;
}
.-right-10{
  right: -2.5rem;
}
.-right-16{
  right: -4rem;
}
.-right-2{
  right: -0.5rem;
}
.-right-3{
  right: -0.75rem;
}
.-right-4{
  right: -1rem;
}
.-right-5{
  right: -1.25rem;
}
.-top-1{
  top: -0.25rem;
}
.-top-16{
  top: -4rem;
}
.-top-2{
  top: -0.5rem;
}
.-top-3{
  top: -0.75rem;
}
.-top-4{
  top: -1rem;
}
.-top-6{
  top: -1.5rem;
}
.-top-8{
  top: -2rem;
}
.bottom-0{
  bottom: 0px;
}
.bottom-1{
  bottom: 0.25rem;
}
.bottom-1\/3{
  bottom: 33.333333%;
}
.bottom-1\/4{
  bottom: 25%;
}
.bottom-10{
  bottom: 2.5rem;
}
.bottom-12{
  bottom: 3rem;
}
.bottom-16{
  bottom: 4rem;
}
.bottom-20{
  bottom: 5rem;
}
.bottom-24{
  bottom: 6rem;
}
.bottom-32{
  bottom: 8rem;
}
.bottom-4{
  bottom: 1rem;
}
.bottom-40{
  bottom: 10rem;
}
.bottom-6{
  bottom: 1.5rem;
}
.bottom-8{
  bottom: 2rem;
}
.bottom-full{
  bottom: 100%;
}
.left-0{
  left: 0px;
}
.left-1\/2{
  left: 50%;
}
.left-1\/3{
  left: 33.333333%;
}
.left-1\/4{
  left: 25%;
}
.left-10{
  left: 2.5rem;
}
.left-12{
  left: 3rem;
}
.left-16{
  left: 4rem;
}
.left-2{
  left: 0.5rem;
}
.left-2\.5{
  left: 0.625rem;
}
.left-20{
  left: 5rem;
}
.left-3{
  left: 0.75rem;
}
.left-32{
  left: 8rem;
}
.left-4{
  left: 1rem;
}
.left-6{
  left: 1.5rem;
}
.left-8{
  left: 2rem;
}
.left-full{
  left: 100%;
}
.right-0{
  right: 0px;
}
.right-1\.5{
  right: 0.375rem;
}
.right-1\/3{
  right: 33.333333%;
}
.right-1\/4{
  right: 25%;
}
.right-10{
  right: 2.5rem;
}
.right-12{
  right: 3rem;
}
.right-16{
  right: 4rem;
}
.right-2{
  right: 0.5rem;
}
.right-20{
  right: 5rem;
}
.right-24{
  right: 6rem;
}
.right-3{
  right: 0.75rem;
}
.right-32{
  right: 8rem;
}
.right-4{
  right: 1rem;
}
.right-6{
  right: 1.5rem;
}
.right-8{
  right: 2rem;
}
.right-auto{
  right: auto;
}
.right-full{
  right: 100%;
}
.top-0{
  top: 0px;
}
.top-0\.5{
  top: 0.125rem;
}
.top-1\/2{
  top: 50%;
}
.top-1\/3{
  top: 33.333333%;
}
.top-1\/4{
  top: 25%;
}
.top-10{
  top: 2.5rem;
}
.top-16{
  top: 4rem;
}
.top-2{
  top: 0.5rem;
}
.top-20{
  top: 5rem;
}
.top-3\/4{
  top: 75%;
}
.top-32{
  top: 8rem;
}
.top-4{
  top: 1rem;
}
.top-40{
  top: 10rem;
}
.top-48{
  top: 12rem;
}
.top-6{
  top: 1.5rem;
}
.top-8{
  top: 2rem;
}
.top-full{
  top: 100%;
}
.-z-10{
  z-index: -10;
}
.-z-50{
  z-index: -50;
}
.z-10{
  z-index: 10;
}
.z-20{
  z-index: 20;
}
.z-30{
  z-index: 30;
}
.z-40{
  z-index: 40;
}
.z-50{
  z-index: 50;
}
.z-\[9999\]{
  z-index: 9999;
}
.order-1{
  order: 1;
}
.order-2{
  order: 2;
}
.col-span-1{
  grid-column: span 1 / span 1;
}
.col-span-2{
  grid-column: span 2 / span 2;
}
.col-span-3{
  grid-column: span 3 / span 3;
}
.col-span-6{
  grid-column: span 6 / span 6;
}
.col-span-7{
  grid-column: span 7 / span 7;
}
.col-span-full{
  grid-column: 1 / -1;
}
.float-right{
  float: right;
}
.-m-1{
  margin: -0.25rem;
}
.-m-1\.5{
  margin: -0.375rem;
}
.-m-2{
  margin: -0.5rem;
}
.-m-2\.5{
  margin: -0.625rem;
}
.-m-3{
  margin: -0.75rem;
}
.-m-5{
  margin: -1.25rem;
}
.-m-6{
  margin: -1.5rem;
}
.-mx-1\.5{
  margin-left: -0.375rem;
  margin-right: -0.375rem;
}
.-mx-4{
  margin-left: -1rem;
  margin-right: -1rem;
}
.-my-1\.5{
  margin-top: -0.375rem;
  margin-bottom: -0.375rem;
}
.mx-1{
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-2{
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-3{
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-4{
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-6{
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.my-1{
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-12{
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.my-2{
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-3{
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.my-4{
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-6{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.my-8{
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.my-auto{
  margin-top: auto;
  margin-bottom: auto;
}
.-mb-px{
  margin-bottom: -1px;
}
.-ml-1{
  margin-left: -0.25rem;
}
.-mt-8{
  margin-top: -2rem;
}
.mb-0\.5{
  margin-bottom: 0.125rem;
}
.mb-1{
  margin-bottom: 0.25rem;
}
.mb-1\.5{
  margin-bottom: 0.375rem;
}
.mb-10{
  margin-bottom: 2.5rem;
}
.mb-11{
  margin-bottom: 2.75rem;
}
.mb-12{
  margin-bottom: 3rem;
}
.mb-14{
  margin-bottom: 3.5rem;
}
.mb-16{
  margin-bottom: 4rem;
}
.mb-2{
  margin-bottom: 0.5rem;
}
.mb-2\.5{
  margin-bottom: 0.625rem;
}
.mb-20{
  margin-bottom: 5rem;
}
.mb-24{
  margin-bottom: 6rem;
}
.mb-3{
  margin-bottom: 0.75rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-5{
  margin-bottom: 1.25rem;
}
.mb-6{
  margin-bottom: 1.5rem;
}
.mb-7{
  margin-bottom: 1.75rem;
}
.mb-8{
  margin-bottom: 2rem;
}
.ml-1{
  margin-left: 0.25rem;
}
.ml-1\.5{
  margin-left: 0.375rem;
}
.ml-2{
  margin-left: 0.5rem;
}
.ml-20{
  margin-left: 5rem;
}
.ml-3{
  margin-left: 0.75rem;
}
.ml-4{
  margin-left: 1rem;
}
.ml-40{
  margin-left: 10rem;
}
.ml-5{
  margin-left: 1.25rem;
}
.ml-6{
  margin-left: 1.5rem;
}
.ml-64{
  margin-left: 16rem;
}
.ml-7{
  margin-left: 1.75rem;
}
.ml-8{
  margin-left: 2rem;
}
.ml-auto{
  margin-left: auto;
}
.mr-1{
  margin-right: 0.25rem;
}
.mr-1\.5{
  margin-right: 0.375rem;
}
.mr-2{
  margin-right: 0.5rem;
}
.mr-2\.5{
  margin-right: 0.625rem;
}
.mr-3{
  margin-right: 0.75rem;
}
.mr-4{
  margin-right: 1rem;
}
.mr-5{
  margin-right: 1.25rem;
}
.mt-0\.5{
  margin-top: 0.125rem;
}
.mt-1{
  margin-top: 0.25rem;
}
.mt-10{
  margin-top: 2.5rem;
}
.mt-12{
  margin-top: 3rem;
}
.mt-16{
  margin-top: 4rem;
}
.mt-2{
  margin-top: 0.5rem;
}
.mt-20{
  margin-top: 5rem;
}
.mt-3{
  margin-top: 0.75rem;
}
.mt-4{
  margin-top: 1rem;
}
.mt-5{
  margin-top: 1.25rem;
}
.mt-6{
  margin-top: 1.5rem;
}
.mt-8{
  margin-top: 2rem;
}
.mt-auto{
  margin-top: auto;
}
.line-clamp-1{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.inline-flex{
  display: inline-flex;
}
.table{
  display: table;
}
.table-row{
  display: table-row;
}
.grid{
  display: grid;
}
.contents{
  display: contents;
}
.hidden{
  display: none;
}
.aspect-\[4\/3\]{
  aspect-ratio: 4/3;
}
.aspect-square{
  aspect-ratio: 1 / 1;
}
.aspect-video{
  aspect-ratio: 16 / 9;
}
.h-0{
  height: 0px;
}
.h-0\.5{
  height: 0.125rem;
}
.h-1{
  height: 0.25rem;
}
.h-1\.5{
  height: 0.375rem;
}
.h-1\/2{
  height: 50%;
}
.h-10{
  height: 2.5rem;
}
.h-12{
  height: 3rem;
}
.h-14{
  height: 3.5rem;
}
.h-16{
  height: 4rem;
}
.h-2{
  height: 0.5rem;
}
.h-2\.5{
  height: 0.625rem;
}
.h-20{
  height: 5rem;
}
.h-24{
  height: 6rem;
}
.h-28{
  height: 7rem;
}
.h-3{
  height: 0.75rem;
}
.h-32{
  height: 8rem;
}
.h-36{
  height: 9rem;
}
.h-4{
  height: 1rem;
}
.h-40{
  height: 10rem;
}
.h-44{
  height: 11rem;
}
.h-48{
  height: 12rem;
}
.h-5{
  height: 1.25rem;
}
.h-56{
  height: 14rem;
}
.h-6{
  height: 1.5rem;
}
.h-64{
  height: 16rem;
}
.h-7{
  height: 1.75rem;
}
.h-72{
  height: 18rem;
}
.h-8{
  height: 2rem;
}
.h-80{
  height: 20rem;
}
.h-9{
  height: 2.25rem;
}
.h-96{
  height: 24rem;
}
.h-\[100px\]{
  height: 100px;
}
.h-\[120px\]{
  height: 120px;
}
.h-\[150px\]{
  height: 150px;
}
.h-\[200px\]{
  height: 200px;
}
.h-\[20px\]{
  height: 20px;
}
.h-\[25px\]{
  height: 25px;
}
.h-\[30px\]{
  height: 30px;
}
.h-\[50px\]{
  height: 50px;
}
.h-\[520px\]{
  height: 520px;
}
.h-\[530px\]{
  height: 530px;
}
.h-\[550px\]{
  height: 550px;
}
.h-\[55px\]{
  height: 55px;
}
.h-\[65px\]{
  height: 65px;
}
.h-\[calc\(100\%-3rem\)\]{
  height: calc(100% - 3rem);
}
.h-\[calc\(100vh-4rem\)\]{
  height: calc(100vh - 4rem);
}
.h-auto{
  height: auto;
}
.h-fit{
  height: -moz-fit-content;
  height: fit-content;
}
.h-full{
  height: 100%;
}
.h-px{
  height: 1px;
}
.h-screen{
  height: 100vh;
}
.max-h-0{
  max-height: 0px;
}
.max-h-20{
  max-height: 5rem;
}
.max-h-24{
  max-height: 6rem;
}
.max-h-32{
  max-height: 8rem;
}
.max-h-64{
  max-height: 16rem;
}
.max-h-96{
  max-height: 24rem;
}
.max-h-\[300px\]{
  max-height: 300px;
}
.max-h-\[32rem\]{
  max-height: 32rem;
}
.max-h-\[400px\]{
  max-height: 400px;
}
.max-h-\[40vh\]{
  max-height: 40vh;
}
.max-h-\[500px\]{
  max-height: 500px;
}
.max-h-\[80vh\]{
  max-height: 80vh;
}
.max-h-\[85vh\]{
  max-height: 85vh;
}
.max-h-\[90vh\]{
  max-height: 90vh;
}
.max-h-\[calc\(90vh-120px\)\]{
  max-height: calc(90vh - 120px);
}
.max-h-\[calc\(90vh-140px\)\]{
  max-height: calc(90vh - 140px);
}
.max-h-fit{
  max-height: -moz-fit-content;
  max-height: fit-content;
}
.max-h-full{
  max-height: 100%;
}
.max-h-screen{
  max-height: 100vh;
}
.min-h-0{
  min-height: 0px;
}
.min-h-32{
  min-height: 8rem;
}
.min-h-96{
  min-height: 24rem;
}
.min-h-\[100px\]{
  min-height: 100px;
}
.min-h-\[120px\]{
  min-height: 120px;
}
.min-h-\[140px\]{
  min-height: 140px;
}
.min-h-\[180px\]{
  min-height: 180px;
}
.min-h-\[20px\]{
  min-height: 20px;
}
.min-h-\[320px\]{
  min-height: 320px;
}
.min-h-\[380px\]{
  min-height: 380px;
}
.min-h-\[400px\]{
  min-height: 400px;
}
.min-h-\[44px\]{
  min-height: 44px;
}
.min-h-\[80vh\]{
  min-height: 80vh;
}
.min-h-\[85vh\]{
  min-height: 85vh;
}
.min-h-\[90vh\]{
  min-height: 90vh;
}
.min-h-\[calc\(100vh-4rem\)\]{
  min-height: calc(100vh - 4rem);
}
.min-h-full{
  min-height: 100%;
}
.min-h-screen{
  min-height: 100vh;
}
.w-0{
  width: 0px;
}
.w-0\.5{
  width: 0.125rem;
}
.w-1{
  width: 0.25rem;
}
.w-1\.5{
  width: 0.375rem;
}
.w-1\/2{
  width: 50%;
}
.w-1\/3{
  width: 33.333333%;
}
.w-1\/4{
  width: 25%;
}
.w-1\/5{
  width: 20%;
}
.w-10{
  width: 2.5rem;
}
.w-10\/12{
  width: 83.333333%;
}
.w-11{
  width: 2.75rem;
}
.w-11\/12{
  width: 91.666667%;
}
.w-12{
  width: 3rem;
}
.w-14{
  width: 3.5rem;
}
.w-16{
  width: 4rem;
}
.w-2{
  width: 0.5rem;
}
.w-2\.5{
  width: 0.625rem;
}
.w-2\/12{
  width: 16.666667%;
}
.w-2\/3{
  width: 66.666667%;
}
.w-20{
  width: 5rem;
}
.w-24{
  width: 6rem;
}
.w-28{
  width: 7rem;
}
.w-3{
  width: 0.75rem;
}
.w-3\/4{
  width: 75%;
}
.w-32{
  width: 8rem;
}
.w-36{
  width: 9rem;
}
.w-4{
  width: 1rem;
}
.w-4\/5{
  width: 80%;
}
.w-40{
  width: 10rem;
}
.w-44{
  width: 11rem;
}
.w-48{
  width: 12rem;
}
.w-5{
  width: 1.25rem;
}
.w-5\/6{
  width: 83.333333%;
}
.w-56{
  width: 14rem;
}
.w-6{
  width: 1.5rem;
}
.w-64{
  width: 16rem;
}
.w-7{
  width: 1.75rem;
}
.w-7\/12{
  width: 58.333333%;
}
.w-72{
  width: 18rem;
}
.w-8{
  width: 2rem;
}
.w-80{
  width: 20rem;
}
.w-9{
  width: 2.25rem;
}
.w-96{
  width: 24rem;
}
.w-\[100px\]{
  width: 100px;
}
.w-\[150px\]{
  width: 150px;
}
.w-\[15px\]{
  width: 15px;
}
.w-\[170px\]{
  width: 170px;
}
.w-\[200px\]{
  width: 200px;
}
.w-\[20px\]{
  width: 20px;
}
.w-\[220px\]{
  width: 220px;
}
.w-\[240px\]{
  width: 240px;
}
.w-\[25px\]{
  width: 25px;
}
.w-\[300px\]{
  width: 300px;
}
.w-\[30px\]{
  width: 30px;
}
.w-\[400px\]{
  width: 400px;
}
.w-\[50px\]{
  width: 50px;
}
.w-\[80px\]{
  width: 80px;
}
.w-\[90px\]{
  width: 90px;
}
.w-auto{
  width: auto;
}
.w-fit{
  width: -moz-fit-content;
  width: fit-content;
}
.w-full{
  width: 100%;
}
.w-px{
  width: 1px;
}
.min-w-0{
  min-width: 0px;
}
.min-w-\[120px\]{
  min-width: 120px;
}
.min-w-full{
  min-width: 100%;
}
.min-w-max{
  min-width: -moz-max-content;
  min-width: max-content;
}
.max-w-2xl{
  max-width: 42rem;
}
.max-w-3xl{
  max-width: 48rem;
}
.max-w-4xl{
  max-width: 56rem;
}
.max-w-5xl{
  max-width: 64rem;
}
.max-w-6xl{
  max-width: 72rem;
}
.max-w-7xl{
  max-width: 80rem;
}
.max-w-\[100px\]{
  max-width: 100px;
}
.max-w-\[120px\]{
  max-width: 120px;
}
.max-w-\[15rem\]{
  max-width: 15rem;
}
.max-w-\[16\.5rem\]{
  max-width: 16.5rem;
}
.max-w-\[160px\]{
  max-width: 160px;
}
.max-w-\[18rem\]{
  max-width: 18rem;
}
.max-w-\[200px\]{
  max-width: 200px;
}
.max-w-\[300px\]{
  max-width: 300px;
}
.max-w-\[400px\]{
  max-width: 400px;
}
.max-w-\[600px\]{
  max-width: 600px;
}
.max-w-\[800px\]{
  max-width: 800px;
}
.max-w-full{
  max-width: 100%;
}
.max-w-lg{
  max-width: 32rem;
}
.max-w-md{
  max-width: 28rem;
}
.max-w-none{
  max-width: none;
}
.max-w-sm{
  max-width: 24rem;
}
.max-w-xl{
  max-width: 36rem;
}
.max-w-xs{
  max-width: 20rem;
}
.flex-1{
  flex: 1 1 0%;
}
.flex-none{
  flex: none;
}
.flex-shrink{
  flex-shrink: 1;
}
.flex-shrink-0{
  flex-shrink: 0;
}
.flex-grow{
  flex-grow: 1;
}
.grow{
  flex-grow: 1;
}
.table-auto{
  table-layout: auto;
}
.border-collapse{
  border-collapse: collapse;
}
.origin-left{
  transform-origin: left;
}
.origin-top-right{
  transform-origin: top right;
}
.-translate-x-1\/2{
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), 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));
}
.-translate-x-12{
  --tw-translate-x: -3rem;
  transform: translate(var(--tw-translate-x), 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));
}
.-translate-x-full{
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), 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));
}
.-translate-y-1\.5{
  --tw-translate-y: -0.375rem;
  transform: translate(var(--tw-translate-x), 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));
}
.-translate-y-1\/2{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), 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));
}
.-translate-y-2{
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-x-0{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-x-1{
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-x-12{
  --tw-translate-x: 3rem;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-x-2{
  --tw-translate-x: 0.5rem;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-x-4{
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-x-5{
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-x-6{
  --tw-translate-x: 1.5rem;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-x-\[-100\%\]{
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-x-full{
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-y-0{
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-y-1\.5{
  --tw-translate-y: 0.375rem;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-y-12{
  --tw-translate-y: 3rem;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-y-2{
  --tw-translate-y: 0.5rem;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-y-4{
  --tw-translate-y: 1rem;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-y-8{
  --tw-translate-y: 2rem;
  transform: translate(var(--tw-translate-x), 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));
}
.translate-y-\[-100px\]{
  --tw-translate-y: -100px;
  transform: translate(var(--tw-translate-x), 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));
}
.-rotate-1{
  --tw-rotate: -1deg;
  transform: translate(var(--tw-translate-x), 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));
}
.-rotate-12{
  --tw-rotate: -12deg;
  transform: translate(var(--tw-translate-x), 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));
}
.-rotate-2{
  --tw-rotate: -2deg;
  transform: translate(var(--tw-translate-x), 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));
}
.-rotate-3{
  --tw-rotate: -3deg;
  transform: translate(var(--tw-translate-x), 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));
}
.-rotate-45{
  --tw-rotate: -45deg;
  transform: translate(var(--tw-translate-x), 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));
}
.-rotate-90{
  --tw-rotate: -90deg;
  transform: translate(var(--tw-translate-x), 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));
}
.rotate-0{
  --tw-rotate: 0deg;
  transform: translate(var(--tw-translate-x), 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));
}
.rotate-1{
  --tw-rotate: 1deg;
  transform: translate(var(--tw-translate-x), 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));
}
.rotate-12{
  --tw-rotate: 12deg;
  transform: translate(var(--tw-translate-x), 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));
}
.rotate-180{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), 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));
}
.rotate-2{
  --tw-rotate: 2deg;
  transform: translate(var(--tw-translate-x), 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));
}
.rotate-3{
  --tw-rotate: 3deg;
  transform: translate(var(--tw-translate-x), 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));
}
.rotate-45{
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), 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));
}
.rotate-90{
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), 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));
}
.-skew-x-12{
  --tw-skew-x: -12deg;
  transform: translate(var(--tw-translate-x), 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));
}
.scale-0{
  --tw-scale-x: 0;
  --tw-scale-y: 0;
  transform: translate(var(--tw-translate-x), 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));
}
.scale-100{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), 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));
}
.scale-110{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), 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));
}
.scale-90{
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  transform: translate(var(--tw-translate-x), 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));
}
.scale-95{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), 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));
}
.scale-\[1\.01\]{
  --tw-scale-x: 1.01;
  --tw-scale-y: 1.01;
  transform: translate(var(--tw-translate-x), 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));
}
.scale-x-0{
  --tw-scale-x: 0;
  transform: translate(var(--tw-translate-x), 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));
}
.transform{
  transform: translate(var(--tw-translate-x), 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));
}
.animate-\[bounceIn_0\.6s_ease-out\]{
  animation: bounceIn 0.6s ease-out;
}
.animate-\[celebration_1s_ease-out\]{
  animation: celebration 1s ease-out;
}
.animate-\[checkmark_0\.5s_ease-out\]{
  animation: checkmark 0.5s ease-out;
}
.animate-\[checkmark_0\.8s_ease-out_0\.3s_both\]{
  animation: checkmark 0.8s ease-out 0.3s both;
}
.animate-\[confettiDrop_3s_ease-out_forwards\]{
  animation: confettiDrop 3s ease-out forwards;
}
.animate-\[countUp_0\.5s_ease-out\]{
  animation: countUp 0.5s ease-out;
}
.animate-\[countUp_0\.8s_ease-out_1\.2s_both\]{
  animation: countUp 0.8s ease-out 1.2s both;
}
.animate-\[countUp_0\.8s_ease-out_1\.4s_both\]{
  animation: countUp 0.8s ease-out 1.4s both;
}
.animate-\[countUp_0\.8s_ease-out_1s_both\]{
  animation: countUp 0.8s ease-out 1s both;
}
.animate-\[fadeInContent_1s_ease-out_0\.8s_both\]{
  animation: fadeInContent 1s ease-out 0.8s both;
}
.animate-\[fadeInLeft_0\.6s_ease-out\]{
  animation: fadeInLeft 0.6s ease-out;
}
.animate-\[fadeInLeft_0\.6s_ease-out_0\.2s_both\]{
  animation: fadeInLeft 0.6s ease-out 0.2s both;
}
.animate-\[fadeInRight_0\.6s_ease-out_0\.3s_both\]{
  animation: fadeInRight 0.6s ease-out 0.3s both;
}
.animate-\[fadeInUp_0\.6s_ease-out_0\.2s_both\]{
  animation: fadeInUp 0.6s ease-out 0.2s both;
}
.animate-\[fadeInUp_0\.6s_ease-out_0\.3s_both\]{
  animation: fadeInUp 0.6s ease-out 0.3s both;
}
.animate-\[fadeInUp_0\.6s_ease-out_0\.4s_both\]{
  animation: fadeInUp 0.6s ease-out 0.4s both;
}
.animate-\[fadeInUp_0\.6s_ease-out_0\.5s_both\]{
  animation: fadeInUp 0.6s ease-out 0.5s both;
}
.animate-\[fadeInUp_0\.6s_ease-out_0\.6s_both\]{
  animation: fadeInUp 0.6s ease-out 0.6s both;
}
.animate-\[fadeInUp_0\.6s_ease-out_0\.8s_both\]{
  animation: fadeInUp 0.6s ease-out 0.8s both;
}
.animate-\[fadeInUp_0\.6s_ease-out_1\.5s_both\]{
  animation: fadeInUp 0.6s ease-out 1.5s both;
}
.animate-\[fadeIn_0\.3s_ease-out\]{
  animation: fadeIn 0.3s ease-out;
}
.animate-\[fadeIn_0\.5s_ease-out\]{
  animation: fadeIn 0.5s ease-out;
}
.animate-\[float_1\.5s_ease-out\]{
  animation: float 1.5s ease-out;
}
.animate-\[gradientShift_3s_ease-in-out_infinite\]{
  animation: gradientShift 3s ease-in-out infinite;
}
.animate-\[highlight_0\.5s_ease-out\]{
  animation: highlight 0.5s ease-out;
}
.animate-\[magicalPulse_2s_ease-in-out_infinite\]{
  animation: magicalPulse 2s ease-in-out infinite;
}
.animate-\[magicalReveal_0\.8s_ease-out\]{
  animation: magicalReveal 0.8s ease-out;
}
@keyframes pulse{

  50%{
    opacity: .5;
  }
}
.animate-\[pulse_2s_ease-in-out_infinite\]{
  animation: pulse 2s ease-in-out infinite;
}
.animate-\[revealContent_1s_ease-out_0\.5s_both\]{
  animation: revealContent 1s ease-out 0.5s both;
}
.animate-\[shake_0\.5s_ease-out\]{
  animation: shake 0.5s ease-out;
}
.animate-\[shimmer_1\.5s_ease-in-out_infinite\]{
  animation: shimmer 1.5s ease-in-out infinite;
}
.animate-\[shimmer_2s_ease-in-out_infinite\]{
  animation: shimmer 2s ease-in-out infinite;
}
.animate-\[shimmer_3s_ease-in-out_infinite\]{
  animation: shimmer 3s ease-in-out infinite;
}
.animate-\[shimmer_4s_ease-in-out_infinite\]{
  animation: shimmer 4s ease-in-out infinite;
}
.animate-\[shine_2s_ease-in-out_infinite\]{
  animation: shine 2s ease-in-out infinite;
}
.animate-\[slideDown_0\.3s_ease-out\]{
  animation: slideDown 0.3s ease-out;
}
.animate-\[slideInLeft_0\.5s_ease-out\]{
  animation: slideInLeft 0.5s ease-out;
}
.animate-\[slideInUp_0\.4s_ease-out\]{
  animation: slideInUp 0.4s ease-out;
}
.animate-\[slideUp_0\.3s_ease-out\]{
  animation: slideUp 0.3s ease-out;
}
.animate-\[slideUp_0\.5s_ease-out\]{
  animation: slideUp 0.5s ease-out;
}
.animate-\[slideUp_0\.6s_ease-out\]{
  animation: slideUp 0.6s ease-out;
}
.animate-\[sparkle1_2s_ease-out_0\.5s_infinite\]{
  animation: sparkle1 2s ease-out 0.5s infinite;
}
.animate-\[sparkle2_2s_ease-out_0\.7s_infinite\]{
  animation: sparkle2 2s ease-out 0.7s infinite;
}
.animate-\[sparkle3_2s_ease-out_0\.6s_infinite\]{
  animation: sparkle3 2s ease-out 0.6s infinite;
}
.animate-\[sparkle4_2s_ease-out_0\.8s_infinite\]{
  animation: sparkle4 2s ease-out 0.8s infinite;
}
.animate-\[twinkle_1s_ease-in-out_infinite\]{
  animation: twinkle 1s ease-in-out infinite;
}
@keyframes bounce{

  0%, 100%{
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8,0,1,1);
  }

  50%{
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}
.animate-bounce{
  animation: bounce 1s infinite;
}
@keyframes ping{

  75%, 100%{
    transform: scale(2);
    opacity: 0;
  }
}
.animate-ping{
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes pulse{

  50%{
    opacity: .5;
  }
}
.animate-pulse{
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin{

  to{
    transform: rotate(360deg);
  }
}
.animate-spin{
  animation: spin 1s linear infinite;
}
.cursor-default{
  cursor: default;
}
.cursor-move{
  cursor: move;
}
.cursor-not-allowed{
  cursor: not-allowed;
}
.cursor-pointer{
  cursor: pointer;
}
.touch-manipulation{
  touch-action: manipulation;
}
.select-all{
  -webkit-user-select: all;
     -moz-user-select: all;
          user-select: all;
}
.resize-none{
  resize: none;
}
.resize{
  resize: both;
}
.list-inside{
  list-style-position: inside;
}
.list-decimal{
  list-style-type: decimal;
}
.list-disc{
  list-style-type: disc;
}
.appearance-none{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-11{
  grid-template-columns: repeat(11, minmax(0, 1fr));
}
.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-6{
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.grid-cols-7{
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.flex-row{
  flex-direction: row;
}
.flex-col{
  flex-direction: column;
}
.flex-col-reverse{
  flex-direction: column-reverse;
}
.flex-wrap{
  flex-wrap: wrap;
}
.flex-nowrap{
  flex-wrap: nowrap;
}
.items-start{
  align-items: flex-start;
}
.items-end{
  align-items: flex-end;
}
.items-center{
  align-items: center;
}
.items-baseline{
  align-items: baseline;
}
.items-stretch{
  align-items: stretch;
}
.justify-start{
  justify-content: flex-start;
}
.justify-end{
  justify-content: flex-end;
}
.justify-center{
  justify-content: center;
}
.justify-between{
  justify-content: space-between;
}
.justify-around{
  justify-content: space-around;
}
.gap-0{
  gap: 0px;
}
.gap-1{
  gap: 0.25rem;
}
.gap-12{
  gap: 3rem;
}
.gap-16{
  gap: 4rem;
}
.gap-2{
  gap: 0.5rem;
}
.gap-3{
  gap: 0.75rem;
}
.gap-4{
  gap: 1rem;
}
.gap-5{
  gap: 1.25rem;
}
.gap-6{
  gap: 1.5rem;
}
.gap-8{
  gap: 2rem;
}
.gap-x-2{
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.gap-x-3{
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-x-4{
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-5{
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
.gap-y-2{
  row-gap: 0.5rem;
}
.gap-y-4{
  row-gap: 1rem;
}
.gap-y-5{
  row-gap: 1.25rem;
}
.-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)));
}
.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)));
}
.space-x-1\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.375rem * var(--tw-space-x-reverse));
  margin-left: calc(0.375rem * calc(1 - var(--tw-space-x-reverse)));
}
.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)));
}
.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)));
}
.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)));
}
.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)));
}
.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)));
}
.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)));
}
.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));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.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));
}
.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));
}
.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));
}
.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));
}
.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));
}
.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));
}
.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));
}
.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));
}
.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));
}
.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));
}
.divide-gray-200 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1));
}
.divide-neutral-200 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-divide-opacity, 1));
}
.divide-slate-100 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-divide-opacity, 1));
}
.divide-slate-200 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-divide-opacity, 1));
}
.self-start{
  align-self: flex-start;
}
.overflow-auto{
  overflow: auto;
}
.overflow-hidden{
  overflow: hidden;
}
.overflow-visible{
  overflow: visible;
}
.overflow-x-auto{
  overflow-x: auto;
}
.overflow-y-auto{
  overflow-y: auto;
}
.overflow-x-hidden{
  overflow-x: hidden;
}
.\!overflow-x-visible{
  overflow-x: visible !important;
}
.truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.overflow-ellipsis{
  text-overflow: ellipsis;
}
.text-ellipsis{
  text-overflow: ellipsis;
}
.whitespace-normal{
  white-space: normal;
}
.whitespace-nowrap{
  white-space: nowrap;
}
.whitespace-pre-line{
  white-space: pre-line;
}
.whitespace-pre-wrap{
  white-space: pre-wrap;
}
.break-words{
  overflow-wrap: break-word;
}
.break-all{
  word-break: break-all;
}
.rounded{
  border-radius: 0.25rem;
}
.rounded-2xl{
  border-radius: 1rem;
}
.rounded-3xl{
  border-radius: 1.5rem;
}
.rounded-full{
  border-radius: 9999px;
}
.rounded-lg{
  border-radius: 0.5rem;
}
.rounded-md{
  border-radius: 0.375rem;
}
.rounded-sm{
  border-radius: 0.125rem;
}
.rounded-xl{
  border-radius: 0.75rem;
}
.rounded-b-md{
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.rounded-l{
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.rounded-r{
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.rounded-t{
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.rounded-t-md{
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.rounded-bl-3xl{
  border-bottom-left-radius: 1.5rem;
}
.rounded-tl-3xl{
  border-top-left-radius: 1.5rem;
}
.rounded-tl-lg{
  border-top-left-radius: 0.5rem;
}
.rounded-tl-sm{
  border-top-left-radius: 0.125rem;
}
.rounded-tr-lg{
  border-top-right-radius: 0.5rem;
}
.border{
  border-width: 1px;
}
.border-0{
  border-width: 0px;
}
.border-2{
  border-width: 2px;
}
.border-4{
  border-width: 4px;
}
.border-b{
  border-bottom-width: 1px;
}
.border-b-2{
  border-bottom-width: 2px;
}
.border-l{
  border-left-width: 1px;
}
.border-l-2{
  border-left-width: 2px;
}
.border-l-4{
  border-left-width: 4px;
}
.border-r{
  border-right-width: 1px;
}
.border-r-4{
  border-right-width: 4px;
}
.border-t{
  border-top-width: 1px;
}
.border-t-2{
  border-top-width: 2px;
}
.border-t-4{
  border-top-width: 4px;
}
.border-dashed{
  border-style: dashed;
}
.border-amber-200{
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-300{
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.border-black{
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}
.border-blue-100{
  --tw-border-opacity: 1;
  border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
}
.border-blue-200{
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-200\/40{
  border-color: rgb(191 219 254 / 0.4);
}
.border-blue-200\/50{
  border-color: rgb(191 219 254 / 0.5);
}
.border-blue-200\/60{
  border-color: rgb(191 219 254 / 0.6);
}
.border-blue-300{
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}
.border-blue-400{
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.border-blue-400\/30{
  border-color: rgb(96 165 250 / 0.3);
}
.border-blue-500{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-blue-500\/30{
  border-color: rgb(59 130 246 / 0.3);
}
.border-blue-600{
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}
.border-blue-700{
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
}
.border-brand-green{
  --tw-border-opacity: 1;
  border-color: rgb(41 204 134 / var(--tw-border-opacity, 1));
}
.border-current{
  border-color: currentColor;
}
.border-emerald-100{
  --tw-border-opacity: 1;
  border-color: rgb(209 250 229 / var(--tw-border-opacity, 1));
}
.border-emerald-200{
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.border-emerald-200\/40{
  border-color: rgb(167 243 208 / 0.4);
}
.border-emerald-200\/50{
  border-color: rgb(167 243 208 / 0.5);
}
.border-emerald-200\/60{
  border-color: rgb(167 243 208 / 0.6);
}
.border-emerald-300{
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}
.border-emerald-400{
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1));
}
.border-emerald-400\/30{
  border-color: rgb(52 211 153 / 0.3);
}
.border-emerald-500{
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.border-gray-200{
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300{
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-gray-400{
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}
.border-green-100{
  --tw-border-opacity: 1;
  border-color: rgb(220 252 231 / var(--tw-border-opacity, 1));
}
.border-green-200{
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-green-300{
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}
.border-green-600{
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}
.border-indigo-300{
  --tw-border-opacity: 1;
  border-color: rgb(165 180 252 / var(--tw-border-opacity, 1));
}
.border-neutral-100{
  --tw-border-opacity: 1;
  border-color: rgb(245 245 245 / var(--tw-border-opacity, 1));
}
.border-neutral-200{
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity, 1));
}
.border-neutral-500{
  --tw-border-opacity: 1;
  border-color: rgb(115 115 115 / var(--tw-border-opacity, 1));
}
.border-orange-100{
  --tw-border-opacity: 1;
  border-color: rgb(255 237 213 / var(--tw-border-opacity, 1));
}
.border-orange-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
}
.border-orange-200\/40{
  border-color: rgb(254 215 170 / 0.4);
}
.border-orange-200\/60{
  border-color: rgb(254 215 170 / 0.6);
}
.border-orange-300{
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}
.border-orange-400{
  --tw-border-opacity: 1;
  border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}
.border-orange-400\/30{
  border-color: rgb(251 146 60 / 0.3);
}
.border-orange-400\/50{
  border-color: rgb(251 146 60 / 0.5);
}
.border-orange-500{
  --tw-border-opacity: 1;
  border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}
.border-pink-300{
  --tw-border-opacity: 1;
  border-color: rgb(249 168 212 / var(--tw-border-opacity, 1));
}
.border-purple-100{
  --tw-border-opacity: 1;
  border-color: rgb(243 232 255 / var(--tw-border-opacity, 1));
}
.border-purple-200{
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));
}
.border-purple-200\/40{
  border-color: rgb(233 213 255 / 0.4);
}
.border-purple-300{
  --tw-border-opacity: 1;
  border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));
}
.border-red-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-red-200\/40{
  border-color: rgb(254 202 202 / 0.4);
}
.border-red-200\/60{
  border-color: rgb(254 202 202 / 0.6);
}
.border-red-300{
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}
.border-red-400{
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}
.border-red-500{
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-red-600{
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}
.border-slate-100{
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.border-slate-200{
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slate-200\/50{
  border-color: rgb(226 232 240 / 0.5);
}
.border-slate-200\/60{
  border-color: rgb(226 232 240 / 0.6);
}
.border-slate-300{
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-slate-400{
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}
.border-slate-700{
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}
.border-slate-700\/50{
  border-color: rgb(51 65 85 / 0.5);
}
.border-slate-800\/50{
  border-color: rgb(30 41 59 / 0.5);
}
.border-transparent{
  border-color: transparent;
}
.border-white{
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/10{
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/20{
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/30{
  border-color: rgb(255 255 255 / 0.3);
}
.border-white\/50{
  border-color: rgb(255 255 255 / 0.5);
}
.border-yellow-100{
  --tw-border-opacity: 1;
  border-color: rgb(254 249 195 / var(--tw-border-opacity, 1));
}
.border-yellow-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-yellow-300{
  --tw-border-opacity: 1;
  border-color: rgb(253 224 71 / var(--tw-border-opacity, 1));
}
.border-l-amber-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.border-l-blue-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.border-l-red-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}
.border-l-transparent{
  border-left-color: transparent;
}
.border-r-transparent{
  border-right-color: transparent;
}
.border-t-gray-800{
  --tw-border-opacity: 1;
  border-top-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}
.border-t-neutral-500{
  --tw-border-opacity: 1;
  border-top-color: rgb(115 115 115 / var(--tw-border-opacity, 1));
}
.border-t-slate-900{
  --tw-border-opacity: 1;
  border-top-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
}
.border-t-transparent{
  border-top-color: transparent;
}
.bg-amber-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-200{
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}
.bg-amber-300{
  --tw-bg-opacity: 1;
  background-color: rgb(252 211 77 / var(--tw-bg-opacity, 1));
}
.bg-amber-400{
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-amber-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-500{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-600{
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}
.bg-black{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/20{
  background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/50{
  background-color: rgb(0 0 0 / 0.5);
}
.bg-blue-100{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-200{
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-200\/20{
  background-color: rgb(191 219 254 / 0.2);
}
.bg-blue-300{
  --tw-bg-opacity: 1;
  background-color: rgb(147 197 253 / var(--tw-bg-opacity, 1));
}
.bg-blue-400{
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}
.bg-blue-400\/10{
  background-color: rgb(96 165 250 / 0.1);
}
.bg-blue-400\/30{
  background-color: rgb(96 165 250 / 0.3);
}
.bg-blue-400\/60{
  background-color: rgb(96 165 250 / 0.6);
}
.bg-blue-50{
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-50\/50{
  background-color: rgb(239 246 255 / 0.5);
}
.bg-blue-500{
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-blue-500\/20{
  background-color: rgb(59 130 246 / 0.2);
}
.bg-blue-600{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.bg-blue-800{
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}
.bg-brand-green{
  --tw-bg-opacity: 1;
  background-color: rgb(41 204 134 / var(--tw-bg-opacity, 1));
}
.bg-cyan-100{
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}
.bg-emerald-100{
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-emerald-200{
  --tw-bg-opacity: 1;
  background-color: rgb(167 243 208 / var(--tw-bg-opacity, 1));
}
.bg-emerald-200\/20{
  background-color: rgb(167 243 208 / 0.2);
}
.bg-emerald-400{
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.bg-emerald-400\/30{
  background-color: rgb(52 211 153 / 0.3);
}
.bg-emerald-400\/60{
  background-color: rgb(52 211 153 / 0.6);
}
.bg-emerald-50{
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50\/30{
  background-color: rgb(236 253 245 / 0.3);
}
.bg-emerald-50\/60{
  background-color: rgb(236 253 245 / 0.6);
}
.bg-emerald-500{
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/20{
  background-color: rgb(16 185 129 / 0.2);
}
.bg-emerald-500\/60{
  background-color: rgb(16 185 129 / 0.6);
}
.bg-emerald-600{
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.bg-gray-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200{
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-300{
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-400{
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
.bg-gray-50{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-500{
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}
.bg-gray-600{
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.bg-gray-700{
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.bg-gray-800{
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.bg-gray-900{
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-gray-900\/50{
  background-color: rgb(17 24 39 / 0.5);
}
.bg-green-100{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-400{
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}
.bg-green-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-500{
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-600{
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.bg-indigo-100{
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-200{
  --tw-bg-opacity: 1;
  background-color: rgb(199 210 254 / var(--tw-bg-opacity, 1));
}
.bg-indigo-300\/10{
  background-color: rgb(165 180 252 / 0.1);
}
.bg-indigo-50{
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500{
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.bg-lime-100{
  --tw-bg-opacity: 1;
  background-color: rgb(236 252 203 / var(--tw-bg-opacity, 1));
}
.bg-neutral-100{
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 245 / var(--tw-bg-opacity, 1));
}
.bg-neutral-50{
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
}
.bg-neutral-500{
  --tw-bg-opacity: 1;
  background-color: rgb(115 115 115 / var(--tw-bg-opacity, 1));
}
.bg-neutral-600{
  --tw-bg-opacity: 1;
  background-color: rgb(82 82 82 / var(--tw-bg-opacity, 1));
}
.bg-orange-100{
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-orange-200{
  --tw-bg-opacity: 1;
  background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));
}
.bg-orange-400{
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}
.bg-orange-400\/60{
  background-color: rgb(251 146 60 / 0.6);
}
.bg-orange-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.bg-orange-500{
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-orange-500\/20{
  background-color: rgb(249 115 22 / 0.2);
}
.bg-pink-100{
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.bg-pink-400{
  --tw-bg-opacity: 1;
  background-color: rgb(244 114 182 / var(--tw-bg-opacity, 1));
}
.bg-purple-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-200\/20{
  background-color: rgb(233 213 255 / 0.2);
}
.bg-purple-400{
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));
}
.bg-purple-400\/30{
  background-color: rgb(192 132 252 / 0.3);
}
.bg-purple-400\/60{
  background-color: rgb(192 132 252 / 0.6);
}
.bg-purple-50{
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-500{
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.bg-red-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-200{
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}
.bg-red-400{
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}
.bg-red-400\/60{
  background-color: rgb(248 113 113 / 0.6);
}
.bg-red-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-50\/60{
  background-color: rgb(254 242 242 / 0.6);
}
.bg-red-500{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/60{
  background-color: rgb(239 68 68 / 0.6);
}
.bg-red-600{
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.bg-rose-100{
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));
}
.bg-sky-100{
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}
.bg-slate-100{
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-200{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-slate-300{
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}
.bg-slate-400{
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}
.bg-slate-50{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-slate-50\/50{
  background-color: rgb(248 250 252 / 0.5);
}
.bg-slate-50\/80{
  background-color: rgb(248 250 252 / 0.8);
}
.bg-slate-500{
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}
.bg-slate-600{
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}
.bg-slate-700\/50{
  background-color: rgb(51 65 85 / 0.5);
}
.bg-slate-800{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.bg-slate-800\/50{
  background-color: rgb(30 41 59 / 0.5);
}
.bg-slate-800\/80{
  background-color: rgb(30 41 59 / 0.8);
}
.bg-slate-900{
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}
.bg-slate-900\/0{
  background-color: rgb(15 23 42 / 0);
}
.bg-slate-900\/20{
  background-color: rgb(15 23 42 / 0.2);
}
.bg-slate-900\/50{
  background-color: rgb(15 23 42 / 0.5);
}
.bg-slate-900\/95{
  background-color: rgb(15 23 42 / 0.95);
}
.bg-slate-950{
  --tw-bg-opacity: 1;
  background-color: rgb(2 6 23 / var(--tw-bg-opacity, 1));
}
.bg-teal-100{
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
}
.bg-teal-400{
  --tw-bg-opacity: 1;
  background-color: rgb(45 212 191 / var(--tw-bg-opacity, 1));
}
.bg-transparent{
  background-color: transparent;
}
.bg-violet-100{
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10{
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/20{
  background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/5{
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/50{
  background-color: rgb(255 255 255 / 0.5);
}
.bg-white\/60{
  background-color: rgb(255 255 255 / 0.6);
}
.bg-white\/80{
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/90{
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95{
  background-color: rgb(255 255 255 / 0.95);
}
.bg-yellow-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-400{
  --tw-bg-opacity: 1;
  background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500{
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.bg-yellow-600{
  --tw-bg-opacity: 1;
  background-color: rgb(202 138 4 / var(--tw-bg-opacity, 1));
}
.bg-opacity-0{
  --tw-bg-opacity: 0;
}
.bg-opacity-10{
  --tw-bg-opacity: 0.1;
}
.bg-opacity-50{
  --tw-bg-opacity: 0.5;
}
.bg-opacity-60{
  --tw-bg-opacity: 0.6;
}
.bg-opacity-75{
  --tw-bg-opacity: 0.75;
}
.bg-opacity-80{
  --tw-bg-opacity: 0.8;
}
.bg-opacity-90{
  --tw-bg-opacity: 0.9;
}
.bg-opacity-95{
  --tw-bg-opacity: 0.95;
}
.bg-\[url\(\'data\:image\/svg\+xml\;charset\=UTF-8\2c \%3csvg\%20xmlns\%3d\%22http\%3a\%2f\%2fwww\.w3\.org\%2f2000\%2fsvg\%22\%20width\%3d\%2212\%22\%20height\%3d\%2212\%22\%20viewBox\%3d\%220\%200\%2012\%2012\%22\%3e\%3cpath\%20fill\%3d\%22\%23475569\%22\%20d\%3d\%22M10\.293\%2c3\.293\%206\%2c7\.586\%201\.707\%2c3\.293A1\%2c1\%2c0\%2c0\%2c0\%2c\.293\%2c4\.707l5\%2c5a1\%2c1\%2c0\%2c0\%2c0\%2c1\.414\%2c0l5-5a1\%2c1\%2c0\%2c1\%2c0-1\.414-1\.414z\%22\%2f\%3e\%3c\%2fsvg\%3e\'\)\]{
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg%20xmlns%3d%22http%3a%2f%2fwww.w3.org%2f2000%2fsvg%22%20width%3d%2212%22%20height%3d%2212%22%20viewBox%3d%220%200%2012%2012%22%3e%3cpath%20fill%3d%22%23475569%22%20d%3d%22M10.293%2c3.293%206%2c7.586%201.707%2c3.293A1%2c1%2c0%2c0%2c0%2c.293%2c4.707l5%2c5a1%2c1%2c0%2c0%2c0%2c1.414%2c0l5-5a1%2c1%2c0%2c1%2c0-1.414-1.414z%22%2f%3e%3c%2fsvg%3e");
}
.bg-gradient-to-b{
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-l{
  background-image: linear-gradient(to left, var(--tw-gradient-stops));
}
.bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t{
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.bg-gradient-to-tr{
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}
.from-amber-200{
  --tw-gradient-from: #fde68a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 230 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-400{
  --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500{
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/10{
  --tw-gradient-from: rgb(0 0 0 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/20{
  --tw-gradient-from: rgb(0 0 0 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-100{
  --tw-gradient-from: #dbeafe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-100\/30{
  --tw-gradient-from: rgb(219 234 254 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-100\/40{
  --tw-gradient-from: rgb(219 234 254 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-200{
  --tw-gradient-from: #bfdbfe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(191 219 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-200\/50{
  --tw-gradient-from: rgb(191 219 254 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(191 219 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-300\/15{
  --tw-gradient-from: rgb(147 197 253 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(147 197 253 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-300\/20{
  --tw-gradient-from: rgb(147 197 253 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(147 197 253 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-400{
  --tw-gradient-from: #60a5fa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-400\/10{
  --tw-gradient-from: rgb(96 165 250 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-400\/15{
  --tw-gradient-from: rgb(96 165 250 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-400\/20{
  --tw-gradient-from: rgb(96 165 250 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-400\/25{
  --tw-gradient-from: rgb(96 165 250 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-50{
  --tw-gradient-from: #eff6ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-50\/20{
  --tw-gradient-from: rgb(239 246 255 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-50\/30{
  --tw-gradient-from: rgb(239 246 255 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-50\/50{
  --tw-gradient-from: rgb(239 246 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-50\/80{
  --tw-gradient-from: rgb(239 246 255 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500{
  --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/10{
  --tw-gradient-from: rgb(59 130 246 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/20{
  --tw-gradient-from: rgb(59 130 246 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/50{
  --tw-gradient-from: rgb(59 130 246 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-600{
  --tw-gradient-from: #2563eb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-600\/60{
  --tw-gradient-from: rgb(37 99 235 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-900{
  --tw-gradient-from: #1e3a8a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 58 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-400{
  --tw-gradient-from: #22d3ee var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 211 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-100{
  --tw-gradient-from: #d1fae5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(209 250 229 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-100\/30{
  --tw-gradient-from: rgb(209 250 229 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(209 250 229 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-100\/40{
  --tw-gradient-from: rgb(209 250 229 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(209 250 229 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-200{
  --tw-gradient-from: #a7f3d0 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 243 208 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-200\/20{
  --tw-gradient-from: rgb(167 243 208 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 243 208 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-300\/20{
  --tw-gradient-from: rgb(110 231 183 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(110 231 183 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-300\/25{
  --tw-gradient-from: rgb(110 231 183 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(110 231 183 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-400{
  --tw-gradient-from: #34d399 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-400\/10{
  --tw-gradient-from: rgb(52 211 153 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-50{
  --tw-gradient-from: #ecfdf5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 253 245 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-50\/50{
  --tw-gradient-from: rgb(236 253 245 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 253 245 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-50\/80{
  --tw-gradient-from: rgb(236 253 245 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 253 245 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500{
  --tw-gradient-from: #10b981 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/20{
  --tw-gradient-from: rgb(16 185 129 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/50{
  --tw-gradient-from: rgb(16 185 129 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-600{
  --tw-gradient-from: #059669 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 150 105 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-200{
  --tw-gradient-from: #bbf7d0 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(187 247 208 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-400{
  --tw-gradient-from: #4ade80 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-400\/10{
  --tw-gradient-from: rgb(74 222 128 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-50{
  --tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-500{
  --tw-gradient-from: #22c55e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-600{
  --tw-gradient-from: #16a34a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-200{
  --tw-gradient-from: #c7d2fe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(199 210 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-400\/10{
  --tw-gradient-from: rgb(129 140 248 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-400\/15{
  --tw-gradient-from: rgb(129 140 248 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-50{
  --tw-gradient-from: #eef2ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-500{
  --tw-gradient-from: #6366f1 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-100{
  --tw-gradient-from: #ffedd5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 237 213 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-100\/30{
  --tw-gradient-from: rgb(255 237 213 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 237 213 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-100\/40{
  --tw-gradient-from: rgb(255 237 213 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 237 213 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-200{
  --tw-gradient-from: #fed7aa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 215 170 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-400{
  --tw-gradient-from: #fb923c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-50{
  --tw-gradient-from: #fff7ed var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 247 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-50\/50{
  --tw-gradient-from: rgb(255 247 237 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 247 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-50\/80{
  --tw-gradient-from: rgb(255 247 237 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 247 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500{
  --tw-gradient-from: #f97316 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-50{
  --tw-gradient-from: #fdf2f8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 242 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500{
  --tw-gradient-from: #ec4899 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500\/10{
  --tw-gradient-from: rgb(236 72 153 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-100{
  --tw-gradient-from: #f3e8ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(243 232 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-100\/30{
  --tw-gradient-from: rgb(243 232 255 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(243 232 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-100\/40{
  --tw-gradient-from: rgb(243 232 255 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(243 232 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-200{
  --tw-gradient-from: #e9d5ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(233 213 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-200\/15{
  --tw-gradient-from: rgb(233 213 255 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(233 213 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-300\/20{
  --tw-gradient-from: rgb(216 180 254 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(216 180 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-400{
  --tw-gradient-from: #c084fc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-400\/10{
  --tw-gradient-from: rgb(192 132 252 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-400\/15{
  --tw-gradient-from: rgb(192 132 252 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-50{
  --tw-gradient-from: #faf5ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-50\/50{
  --tw-gradient-from: rgb(250 245 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-50\/80{
  --tw-gradient-from: rgb(250 245 255 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500{
  --tw-gradient-from: #a855f7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500\/10{
  --tw-gradient-from: rgb(168 85 247 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-600{
  --tw-gradient-from: #9333ea var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-100\/30{
  --tw-gradient-from: rgb(254 226 226 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 226 226 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-50{
  --tw-gradient-from: #fef2f2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 242 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-50\/80{
  --tw-gradient-from: rgb(254 242 242 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 242 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500{
  --tw-gradient-from: #ef4444 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500\/5{
  --tw-gradient-from: rgb(239 68 68 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-100{
  --tw-gradient-from: #f1f5f9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(241 245 249 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-200{
  --tw-gradient-from: #e2e8f0 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(226 232 240 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-300\/30{
  --tw-gradient-from: rgb(203 213 225 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(203 213 225 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-50{
  --tw-gradient-from: #f8fafc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-50\/80{
  --tw-gradient-from: rgb(248 250 252 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-500{
  --tw-gradient-from: #64748b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-600{
  --tw-gradient-from: #475569 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(71 85 105 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-900{
  --tw-gradient-from: #0f172a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-200{
  --tw-gradient-from: #99f6e4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(153 246 228 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-500{
  --tw-gradient-from: #14b8a6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 184 166 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent{
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-200{
  --tw-gradient-from: #ddd6fe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(221 214 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-400{
  --tw-gradient-from: #a78bfa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-400\/10{
  --tw-gradient-from: rgb(167 139 250 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-50{
  --tw-gradient-from: #f5f3ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 243 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500{
  --tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500\/20{
  --tw-gradient-from: rgb(139 92 246 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-600{
  --tw-gradient-from: #7c3aed var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white{
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-200{
  --tw-gradient-from: #fef08a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 240 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-400{
  --tw-gradient-from: #facc15 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-50{
  --tw-gradient-from: #fefce8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 252 232 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-500{
  --tw-gradient-from: #eab308 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-amber-300{
  --tw-gradient-to: rgb(252 211 77 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fcd34d var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-50{
  --tw-gradient-to: rgb(255 251 235 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fffbeb var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-200{
  --tw-gradient-to: rgb(191 219 254 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #bfdbfe var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-300{
  --tw-gradient-to: rgb(147 197 253 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #93c5fd var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-50{
  --tw-gradient-to: rgb(239 246 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #eff6ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-50\/30{
  --tw-gradient-to: rgb(239 246 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(239 246 255 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-50\/60{
  --tw-gradient-to: rgb(239 246 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(239 246 255 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-700{
  --tw-gradient-to: rgb(29 78 216 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1d4ed8 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-700\/60{
  --tw-gradient-to: rgb(29 78 216 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(29 78 216 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-800{
  --tw-gradient-to: rgb(30 64 175 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e40af var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-900{
  --tw-gradient-to: rgb(30 58 138 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e3a8a var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-300{
  --tw-gradient-to: rgb(110 231 183 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #6ee7b7 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-400{
  --tw-gradient-to: rgb(52 211 153 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #34d399 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-green-50{
  --tw-gradient-to: rgb(240 253 244 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f0fdf4 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-green-50\/30{
  --tw-gradient-to: rgb(240 253 244 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(240 253 244 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-300{
  --tw-gradient-to: rgb(165 180 252 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #a5b4fc var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-50{
  --tw-gradient-to: rgb(238 242 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #eef2ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-50\/20{
  --tw-gradient-to: rgb(238 242 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(238 242 255 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-50\/30{
  --tw-gradient-to: rgb(238 242 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(238 242 255 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-500{
  --tw-gradient-to: rgb(99 102 241 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #6366f1 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-orange-300{
  --tw-gradient-to: rgb(253 186 116 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fdba74 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-orange-50\/60{
  --tw-gradient-to: rgb(255 247 237 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 247 237 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-300{
  --tw-gradient-to: rgb(216 180 254 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #d8b4fe var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-400{
  --tw-gradient-to: rgb(192 132 252 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #c084fc var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-500{
  --tw-gradient-to: rgb(168 85 247 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #a855f7 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-600{
  --tw-gradient-to: rgb(147 51 234 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #9333ea var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-300{
  --tw-gradient-to: rgb(203 213 225 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #cbd5e1 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-50{
  --tw-gradient-to: rgb(248 250 252 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f8fafc var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-800{
  --tw-gradient-to: rgb(30 41 59 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e293b var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-teal-300{
  --tw-gradient-to: rgb(94 234 212 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #5eead4 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white{
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/20{
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/30{
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-amber-200{
  --tw-gradient-to: #fde68a var(--tw-gradient-to-position);
}
.to-amber-500{
  --tw-gradient-to: #f59e0b var(--tw-gradient-to-position);
}
.to-amber-600{
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position);
}
.to-blue-100{
  --tw-gradient-to: #dbeafe var(--tw-gradient-to-position);
}
.to-blue-100\/30{
  --tw-gradient-to: rgb(219 234 254 / 0.3) var(--tw-gradient-to-position);
}
.to-blue-100\/50{
  --tw-gradient-to: rgb(219 234 254 / 0.5) var(--tw-gradient-to-position);
}
.to-blue-200{
  --tw-gradient-to: #bfdbfe var(--tw-gradient-to-position);
}
.to-blue-200\/20{
  --tw-gradient-to: rgb(191 219 254 / 0.2) var(--tw-gradient-to-position);
}
.to-blue-200\/40{
  --tw-gradient-to: rgb(191 219 254 / 0.4) var(--tw-gradient-to-position);
}
.to-blue-300{
  --tw-gradient-to: #93c5fd var(--tw-gradient-to-position);
}
.to-blue-400{
  --tw-gradient-to: #60a5fa var(--tw-gradient-to-position);
}
.to-blue-400\/15{
  --tw-gradient-to: rgb(96 165 250 / 0.15) var(--tw-gradient-to-position);
}
.to-blue-400\/20{
  --tw-gradient-to: rgb(96 165 250 / 0.2) var(--tw-gradient-to-position);
}
.to-blue-50{
  --tw-gradient-to: #eff6ff var(--tw-gradient-to-position);
}
.to-blue-50\/20{
  --tw-gradient-to: rgb(239 246 255 / 0.2) var(--tw-gradient-to-position);
}
.to-blue-50\/30{
  --tw-gradient-to: rgb(239 246 255 / 0.3) var(--tw-gradient-to-position);
}
.to-blue-50\/40{
  --tw-gradient-to: rgb(239 246 255 / 0.4) var(--tw-gradient-to-position);
}
.to-blue-50\/50{
  --tw-gradient-to: rgb(239 246 255 / 0.5) var(--tw-gradient-to-position);
}
.to-blue-500{
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
}
.to-blue-500\/15{
  --tw-gradient-to: rgb(59 130 246 / 0.15) var(--tw-gradient-to-position);
}
.to-blue-500\/20{
  --tw-gradient-to: rgb(59 130 246 / 0.2) var(--tw-gradient-to-position);
}
.to-blue-600{
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}
.to-blue-600\/10{
  --tw-gradient-to: rgb(37 99 235 / 0.1) var(--tw-gradient-to-position);
}
.to-blue-600\/20{
  --tw-gradient-to: rgb(37 99 235 / 0.2) var(--tw-gradient-to-position);
}
.to-blue-700{
  --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position);
}
.to-blue-800{
  --tw-gradient-to: #1e40af var(--tw-gradient-to-position);
}
.to-blue-800\/60{
  --tw-gradient-to: rgb(30 64 175 / 0.6) var(--tw-gradient-to-position);
}
.to-blue-900{
  --tw-gradient-to: #1e3a8a var(--tw-gradient-to-position);
}
.to-emerald-100\/30{
  --tw-gradient-to: rgb(209 250 229 / 0.3) var(--tw-gradient-to-position);
}
.to-emerald-100\/50{
  --tw-gradient-to: rgb(209 250 229 / 0.5) var(--tw-gradient-to-position);
}
.to-emerald-200{
  --tw-gradient-to: #a7f3d0 var(--tw-gradient-to-position);
}
.to-emerald-200\/20{
  --tw-gradient-to: rgb(167 243 208 / 0.2) var(--tw-gradient-to-position);
}
.to-emerald-200\/40{
  --tw-gradient-to: rgb(167 243 208 / 0.4) var(--tw-gradient-to-position);
}
.to-emerald-300{
  --tw-gradient-to: #6ee7b7 var(--tw-gradient-to-position);
}
.to-emerald-400{
  --tw-gradient-to: #34d399 var(--tw-gradient-to-position);
}
.to-emerald-400\/10{
  --tw-gradient-to: rgb(52 211 153 / 0.1) var(--tw-gradient-to-position);
}
.to-emerald-400\/20{
  --tw-gradient-to: rgb(52 211 153 / 0.2) var(--tw-gradient-to-position);
}
.to-emerald-50{
  --tw-gradient-to: #ecfdf5 var(--tw-gradient-to-position);
}
.to-emerald-50\/30{
  --tw-gradient-to: rgb(236 253 245 / 0.3) var(--tw-gradient-to-position);
}
.to-emerald-50\/50{
  --tw-gradient-to: rgb(236 253 245 / 0.5) var(--tw-gradient-to-position);
}
.to-emerald-50\/80{
  --tw-gradient-to: rgb(236 253 245 / 0.8) var(--tw-gradient-to-position);
}
.to-emerald-500{
  --tw-gradient-to: #10b981 var(--tw-gradient-to-position);
}
.to-emerald-600{
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}
.to-emerald-700{
  --tw-gradient-to: #047857 var(--tw-gradient-to-position);
}
.to-gray-50{
  --tw-gradient-to: #f9fafb var(--tw-gradient-to-position);
}
.to-green-100{
  --tw-gradient-to: #dcfce7 var(--tw-gradient-to-position);
}
.to-green-200{
  --tw-gradient-to: #bbf7d0 var(--tw-gradient-to-position);
}
.to-green-300{
  --tw-gradient-to: #86efac var(--tw-gradient-to-position);
}
.to-green-400{
  --tw-gradient-to: #4ade80 var(--tw-gradient-to-position);
}
.to-green-400\/10{
  --tw-gradient-to: rgb(74 222 128 / 0.1) var(--tw-gradient-to-position);
}
.to-green-50{
  --tw-gradient-to: #f0fdf4 var(--tw-gradient-to-position);
}
.to-green-500\/20{
  --tw-gradient-to: rgb(34 197 94 / 0.2) var(--tw-gradient-to-position);
}
.to-green-600{
  --tw-gradient-to: #16a34a var(--tw-gradient-to-position);
}
.to-green-700{
  --tw-gradient-to: #15803d var(--tw-gradient-to-position);
}
.to-indigo-100{
  --tw-gradient-to: #e0e7ff var(--tw-gradient-to-position);
}
.to-indigo-200{
  --tw-gradient-to: #c7d2fe var(--tw-gradient-to-position);
}
.to-indigo-200\/50{
  --tw-gradient-to: rgb(199 210 254 / 0.5) var(--tw-gradient-to-position);
}
.to-indigo-300{
  --tw-gradient-to: #a5b4fc var(--tw-gradient-to-position);
}
.to-indigo-400{
  --tw-gradient-to: #818cf8 var(--tw-gradient-to-position);
}
.to-indigo-400\/10{
  --tw-gradient-to: rgb(129 140 248 / 0.1) var(--tw-gradient-to-position);
}
.to-indigo-400\/15{
  --tw-gradient-to: rgb(129 140 248 / 0.15) var(--tw-gradient-to-position);
}
.to-indigo-50{
  --tw-gradient-to: #eef2ff var(--tw-gradient-to-position);
}
.to-indigo-500\/20{
  --tw-gradient-to: rgb(99 102 241 / 0.2) var(--tw-gradient-to-position);
}
.to-indigo-600{
  --tw-gradient-to: #4f46e5 var(--tw-gradient-to-position);
}
.to-indigo-600\/10{
  --tw-gradient-to: rgb(79 70 229 / 0.1) var(--tw-gradient-to-position);
}
.to-indigo-600\/25{
  --tw-gradient-to: rgb(79 70 229 / 0.25) var(--tw-gradient-to-position);
}
.to-indigo-900{
  --tw-gradient-to: #312e81 var(--tw-gradient-to-position);
}
.to-orange-100\/30{
  --tw-gradient-to: rgb(255 237 213 / 0.3) var(--tw-gradient-to-position);
}
.to-orange-100\/50{
  --tw-gradient-to: rgb(255 237 213 / 0.5) var(--tw-gradient-to-position);
}
.to-orange-200{
  --tw-gradient-to: #fed7aa var(--tw-gradient-to-position);
}
.to-orange-200\/20{
  --tw-gradient-to: rgb(254 215 170 / 0.2) var(--tw-gradient-to-position);
}
.to-orange-50{
  --tw-gradient-to: #fff7ed var(--tw-gradient-to-position);
}
.to-orange-500\/5{
  --tw-gradient-to: rgb(249 115 22 / 0.05) var(--tw-gradient-to-position);
}
.to-orange-600{
  --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}
.to-pink-100{
  --tw-gradient-to: #fce7f3 var(--tw-gradient-to-position);
}
.to-pink-100\/40{
  --tw-gradient-to: rgb(252 231 243 / 0.4) var(--tw-gradient-to-position);
}
.to-pink-400\/10{
  --tw-gradient-to: rgb(244 114 182 / 0.1) var(--tw-gradient-to-position);
}
.to-pink-50{
  --tw-gradient-to: #fdf2f8 var(--tw-gradient-to-position);
}
.to-pink-500\/10{
  --tw-gradient-to: rgb(236 72 153 / 0.1) var(--tw-gradient-to-position);
}
.to-pink-500\/20{
  --tw-gradient-to: rgb(236 72 153 / 0.2) var(--tw-gradient-to-position);
}
.to-pink-600{
  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);
}
.to-purple-100{
  --tw-gradient-to: #f3e8ff var(--tw-gradient-to-position);
}
.to-purple-100\/30{
  --tw-gradient-to: rgb(243 232 255 / 0.3) var(--tw-gradient-to-position);
}
.to-purple-100\/50{
  --tw-gradient-to: rgb(243 232 255 / 0.5) var(--tw-gradient-to-position);
}
.to-purple-200{
  --tw-gradient-to: #e9d5ff var(--tw-gradient-to-position);
}
.to-purple-200\/20{
  --tw-gradient-to: rgb(233 213 255 / 0.2) var(--tw-gradient-to-position);
}
.to-purple-300{
  --tw-gradient-to: #d8b4fe var(--tw-gradient-to-position);
}
.to-purple-400{
  --tw-gradient-to: #c084fc var(--tw-gradient-to-position);
}
.to-purple-400\/10{
  --tw-gradient-to: rgb(192 132 252 / 0.1) var(--tw-gradient-to-position);
}
.to-purple-400\/15{
  --tw-gradient-to: rgb(192 132 252 / 0.15) var(--tw-gradient-to-position);
}
.to-purple-50{
  --tw-gradient-to: #faf5ff var(--tw-gradient-to-position);
}
.to-purple-50\/30{
  --tw-gradient-to: rgb(250 245 255 / 0.3) var(--tw-gradient-to-position);
}
.to-purple-500\/10{
  --tw-gradient-to: rgb(168 85 247 / 0.1) var(--tw-gradient-to-position);
}
.to-purple-500\/20{
  --tw-gradient-to: rgb(168 85 247 / 0.2) var(--tw-gradient-to-position);
}
.to-purple-600{
  --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}
.to-purple-700{
  --tw-gradient-to: #7e22ce var(--tw-gradient-to-position);
}
.to-red-100\/40{
  --tw-gradient-to: rgb(254 226 226 / 0.4) var(--tw-gradient-to-position);
}
.to-red-200{
  --tw-gradient-to: #fecaca var(--tw-gradient-to-position);
}
.to-red-50\/80{
  --tw-gradient-to: rgb(254 242 242 / 0.8) var(--tw-gradient-to-position);
}
.to-red-500{
  --tw-gradient-to: #ef4444 var(--tw-gradient-to-position);
}
.to-red-600{
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position);
}
.to-rose-500\/10{
  --tw-gradient-to: rgb(244 63 94 / 0.1) var(--tw-gradient-to-position);
}
.to-slate-100{
  --tw-gradient-to: #f1f5f9 var(--tw-gradient-to-position);
}
.to-slate-100\/50{
  --tw-gradient-to: rgb(241 245 249 / 0.5) var(--tw-gradient-to-position);
}
.to-slate-200{
  --tw-gradient-to: #e2e8f0 var(--tw-gradient-to-position);
}
.to-slate-400\/30{
  --tw-gradient-to: rgb(148 163 184 / 0.3) var(--tw-gradient-to-position);
}
.to-slate-50{
  --tw-gradient-to: #f8fafc var(--tw-gradient-to-position);
}
.to-slate-600{
  --tw-gradient-to: #475569 var(--tw-gradient-to-position);
}
.to-slate-700{
  --tw-gradient-to: #334155 var(--tw-gradient-to-position);
}
.to-slate-800{
  --tw-gradient-to: #1e293b var(--tw-gradient-to-position);
}
.to-slate-900{
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}
.to-teal-200{
  --tw-gradient-to: #99f6e4 var(--tw-gradient-to-position);
}
.to-teal-50{
  --tw-gradient-to: #f0fdfa var(--tw-gradient-to-position);
}
.to-teal-500\/25{
  --tw-gradient-to: rgb(20 184 166 / 0.25) var(--tw-gradient-to-position);
}
.to-teal-600{
  --tw-gradient-to: #0d9488 var(--tw-gradient-to-position);
}
.to-transparent{
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-violet-300{
  --tw-gradient-to: #c4b5fd var(--tw-gradient-to-position);
}
.to-violet-400\/10{
  --tw-gradient-to: rgb(167 139 250 / 0.1) var(--tw-gradient-to-position);
}
.to-violet-600{
  --tw-gradient-to: #7c3aed var(--tw-gradient-to-position);
}
.to-white{
  --tw-gradient-to: #fff var(--tw-gradient-to-position);
}
.to-yellow-100{
  --tw-gradient-to: #fef9c3 var(--tw-gradient-to-position);
}
.to-yellow-200{
  --tw-gradient-to: #fef08a var(--tw-gradient-to-position);
}
.to-yellow-300{
  --tw-gradient-to: #fde047 var(--tw-gradient-to-position);
}
.to-yellow-50{
  --tw-gradient-to: #fefce8 var(--tw-gradient-to-position);
}
.to-yellow-500{
  --tw-gradient-to: #eab308 var(--tw-gradient-to-position);
}
.to-yellow-600{
  --tw-gradient-to: #ca8a04 var(--tw-gradient-to-position);
}
.bg-\[length\:12px\]{
  background-size: 12px;
}
.bg-cover{
  background-size: cover;
}
.bg-clip-text{
  -webkit-background-clip: text;
          background-clip: text;
}
.bg-\[right_12px_center\]{
  background-position: right 12px center;
}
.bg-center{
  background-position: center;
}
.bg-no-repeat{
  background-repeat: no-repeat;
}
.object-contain{
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}
.p-0{
  padding: 0px;
}
.p-0\.5{
  padding: 0.125rem;
}
.p-1{
  padding: 0.25rem;
}
.p-1\.5{
  padding: 0.375rem;
}
.p-10{
  padding: 2.5rem;
}
.p-12{
  padding: 3rem;
}
.p-2{
  padding: 0.5rem;
}
.p-2\.5{
  padding: 0.625rem;
}
.p-3{
  padding: 0.75rem;
}
.p-4{
  padding: 1rem;
}
.p-5{
  padding: 1.25rem;
}
.p-6{
  padding: 1.5rem;
}
.p-8{
  padding: 2rem;
}
.px-1{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5{
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-10{
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.px-12{
  padding-left: 3rem;
  padding-right: 3rem;
}
.px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5{
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5{
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7{
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-9{
  padding-left: 2.25rem;
  padding-right: 2.25rem;
}
.py-0\.5{
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5{
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12{
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5{
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-20{
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-24{
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5{
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-0\.5{
  padding-bottom: 0.125rem;
}
.pb-1{
  padding-bottom: 0.25rem;
}
.pb-10{
  padding-bottom: 2.5rem;
}
.pb-12{
  padding-bottom: 3rem;
}
.pb-16{
  padding-bottom: 4rem;
}
.pb-2{
  padding-bottom: 0.5rem;
}
.pb-20{
  padding-bottom: 5rem;
}
.pb-3{
  padding-bottom: 0.75rem;
}
.pb-32{
  padding-bottom: 8rem;
}
.pb-36{
  padding-bottom: 9rem;
}
.pb-4{
  padding-bottom: 1rem;
}
.pb-5{
  padding-bottom: 1.25rem;
}
.pb-6{
  padding-bottom: 1.5rem;
}
.pb-7{
  padding-bottom: 1.75rem;
}
.pb-8{
  padding-bottom: 2rem;
}
.pb-\[56\.25\%\]{
  padding-bottom: 56.25%;
}
.pl-10{
  padding-left: 2.5rem;
}
.pl-12{
  padding-left: 3rem;
}
.pl-2{
  padding-left: 0.5rem;
}
.pl-3{
  padding-left: 0.75rem;
}
.pl-4{
  padding-left: 1rem;
}
.pl-6{
  padding-left: 1.5rem;
}
.pl-8{
  padding-left: 2rem;
}
.pr-1{
  padding-right: 0.25rem;
}
.pr-10{
  padding-right: 2.5rem;
}
.pr-12{
  padding-right: 3rem;
}
.pr-2{
  padding-right: 0.5rem;
}
.pr-3{
  padding-right: 0.75rem;
}
.pr-4{
  padding-right: 1rem;
}
.pr-8{
  padding-right: 2rem;
}
.pt-0{
  padding-top: 0px;
}
.pt-12{
  padding-top: 3rem;
}
.pt-16{
  padding-top: 4rem;
}
.pt-2{
  padding-top: 0.5rem;
}
.pt-20{
  padding-top: 5rem;
}
.pt-24{
  padding-top: 6rem;
}
.pt-3{
  padding-top: 0.75rem;
}
.pt-32{
  padding-top: 8rem;
}
.pt-4{
  padding-top: 1rem;
}
.pt-5{
  padding-top: 1.25rem;
}
.pt-6{
  padding-top: 1.5rem;
}
.pt-8{
  padding-top: 2rem;
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.align-top{
  vertical-align: top;
}
.align-middle{
  vertical-align: middle;
}
.align-bottom{
  vertical-align: bottom;
}
.font-heading{
  font-family: Inter Display, sans-serif;
}
.font-sans{
  font-family: Inter, sans-serif;
}
.text-2xl{
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl{
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl{
  font-size: 3rem;
  line-height: 1;
}
.text-6xl{
  font-size: 3.75rem;
  line-height: 1;
}
.text-\[0\.84rem\]{
  font-size: 0.84rem;
}
.text-\[0\.95rem\]{
  font-size: 0.95rem;
}
.text-\[10px\]{
  font-size: 10px;
}
.text-base{
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl{
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs{
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-bold{
  font-weight: 700;
}
.font-medium{
  font-weight: 500;
}
.font-normal{
  font-weight: 400;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.capitalize{
  text-transform: capitalize;
}
.italic{
  font-style: italic;
}
.leading-4{
  line-height: 1rem;
}
.leading-5{
  line-height: 1.25rem;
}
.leading-6{
  line-height: 1.5rem;
}
.leading-\[1\.1\]{
  line-height: 1.1;
}
.leading-relaxed{
  line-height: 1.625;
}
.leading-snug{
  line-height: 1.375;
}
.leading-tight{
  line-height: 1.25;
}
.tracking-tight{
  letter-spacing: -0.025em;
}
.tracking-wide{
  letter-spacing: 0.025em;
}
.tracking-wider{
  letter-spacing: 0.05em;
}
.text-\[\#1a0dab\]{
  --tw-text-opacity: 1;
  color: rgb(26 13 171 / var(--tw-text-opacity, 1));
}
.text-amber-400{
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-500{
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700{
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800{
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-amber-900{
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.text-black{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-blue-100{
  --tw-text-opacity: 1;
  color: rgb(219 234 254 / var(--tw-text-opacity, 1));
}
.text-blue-200{
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity, 1));
}
.text-blue-300{
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.text-blue-400{
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-500{
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-blue-600{
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-blue-700{
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-blue-800{
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-blue-900{
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}
.text-brand-green{
  --tw-text-opacity: 1;
  color: rgb(41 204 134 / var(--tw-text-opacity, 1));
}
.text-cyan-800{
  --tw-text-opacity: 1;
  color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}
.text-dark-blue{
  --tw-text-opacity: 1;
  color: rgb(10 35 51 / var(--tw-text-opacity, 1));
}
.text-dark-green{
  --tw-text-opacity: 1;
  color: rgb(19 76 52 / var(--tw-text-opacity, 1));
}
.text-emerald-200{
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / var(--tw-text-opacity, 1));
}
.text-emerald-300{
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.text-emerald-400{
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-emerald-500{
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-600{
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700{
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-emerald-800{
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}
.text-emerald-900{
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}
.text-gray-300{
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-400{
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600{
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700{
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800{
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900{
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-400{
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-green-500{
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600{
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700{
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800{
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-green-900{
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity, 1));
}
.text-indigo-200{
  --tw-text-opacity: 1;
  color: rgb(199 210 254 / var(--tw-text-opacity, 1));
}
.text-indigo-500{
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}
.text-indigo-600{
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}
.text-indigo-700{
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity, 1));
}
.text-indigo-800{
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}
.text-lime-800{
  --tw-text-opacity: 1;
  color: rgb(63 98 18 / var(--tw-text-opacity, 1));
}
.text-neutral-300{
  --tw-text-opacity: 1;
  color: rgb(212 212 212 / var(--tw-text-opacity, 1));
}
.text-neutral-400{
  --tw-text-opacity: 1;
  color: rgb(163 163 163 / var(--tw-text-opacity, 1));
}
.text-neutral-50{
  --tw-text-opacity: 1;
  color: rgb(250 250 250 / var(--tw-text-opacity, 1));
}
.text-neutral-500{
  --tw-text-opacity: 1;
  color: rgb(115 115 115 / var(--tw-text-opacity, 1));
}
.text-neutral-600{
  --tw-text-opacity: 1;
  color: rgb(82 82 82 / var(--tw-text-opacity, 1));
}
.text-neutral-700{
  --tw-text-opacity: 1;
  color: rgb(64 64 64 / var(--tw-text-opacity, 1));
}
.text-neutral-800{
  --tw-text-opacity: 1;
  color: rgb(38 38 38 / var(--tw-text-opacity, 1));
}
.text-orange-100{
  --tw-text-opacity: 1;
  color: rgb(255 237 213 / var(--tw-text-opacity, 1));
}
.text-orange-300{
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.text-orange-400{
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.text-orange-500{
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.text-orange-600{
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-orange-700{
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}
.text-orange-800{
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}
.text-pink-600{
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}
.text-pink-800{
  --tw-text-opacity: 1;
  color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}
.text-purple-600{
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}
.text-purple-700{
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.text-purple-800{
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.text-red-400{
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-500{
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700{
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-red-800{
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-red-900{
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}
.text-rose-800{
  --tw-text-opacity: 1;
  color: rgb(159 18 57 / var(--tw-text-opacity, 1));
}
.text-sky-800{
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / var(--tw-text-opacity, 1));
}
.text-slate-100{
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.text-slate-200{
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.text-slate-300{
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-400{
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-50{
  --tw-text-opacity: 1;
  color: rgb(248 250 252 / var(--tw-text-opacity, 1));
}
.text-slate-500{
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-700{
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-800{
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900{
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-teal-200{
  --tw-text-opacity: 1;
  color: rgb(153 246 228 / var(--tw-text-opacity, 1));
}
.text-teal-800{
  --tw-text-opacity: 1;
  color: rgb(17 94 89 / var(--tw-text-opacity, 1));
}
.text-transparent{
  color: transparent;
}
.text-violet-400{
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}
.text-violet-700{
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}
.text-violet-800{
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-yellow-400{
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.text-yellow-500{
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-yellow-600{
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}
.text-yellow-700{
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.text-yellow-800{
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.text-yellow-900{
  --tw-text-opacity: 1;
  color: rgb(113 63 18 / var(--tw-text-opacity, 1));
}
.underline{
  text-decoration-line: underline;
}
.line-through{
  text-decoration-line: line-through;
}
.antialiased{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.placeholder-gray-400::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-400::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-500::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-500::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}
.placeholder-slate-400::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(148 163 184 / var(--tw-placeholder-opacity, 1));
}
.placeholder-slate-400::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(148 163 184 / var(--tw-placeholder-opacity, 1));
}
.placeholder-slate-500::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(100 116 139 / var(--tw-placeholder-opacity, 1));
}
.placeholder-slate-500::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(100 116 139 / var(--tw-placeholder-opacity, 1));
}
.opacity-0{
  opacity: 0;
}
.opacity-10{
  opacity: 0.1;
}
.opacity-100{
  opacity: 1;
}
.opacity-15{
  opacity: 0.15;
}
.opacity-20{
  opacity: 0.2;
}
.opacity-25{
  opacity: 0.25;
}
.opacity-30{
  opacity: 0.3;
}
.opacity-40{
  opacity: 0.4;
}
.opacity-5{
  opacity: 0.05;
}
.opacity-50{
  opacity: 0.5;
}
.opacity-60{
  opacity: 0.6;
}
.opacity-70{
  opacity: 0.7;
}
.opacity-75{
  opacity: 0.75;
}
.opacity-80{
  opacity: 0.8;
}
.opacity-90{
  opacity: 0.9;
}
.opacity-\[0\.02\]{
  opacity: 0.02;
}
.opacity-\[0\.03\]{
  opacity: 0.03;
}
.mix-blend-multiply{
  mix-blend-mode: multiply;
}
.shadow{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl{
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-inner{
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl{
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-slate-900\/10{
  --tw-shadow-color: rgb(15 23 42 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-slate-900\/5{
  --tw-shadow-color: rgb(15 23 42 / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline{
  outline-style: solid;
}
.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);
}
.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);
}
.ring-black{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity, 1));
}
.ring-blue-100{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1));
}
.ring-opacity-5{
  --tw-ring-opacity: 0.05;
}
.blur{
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-2xl{
  --tw-blur: blur(40px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-3xl{
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-lg{
  --tw-blur: blur(16px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-sm{
  --tw-blur: blur(4px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-xl{
  --tw-blur: blur(24px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.grayscale{
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.invert{
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur-md{
  --tw-backdrop-blur: blur(12px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm{
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-xl{
  --tw-backdrop-blur: blur(24px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity{
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow{
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform{
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.delay-1000{
  transition-delay: 1000ms;
}
.delay-150{
  transition-delay: 150ms;
}
.delay-200{
  transition-delay: 200ms;
}
.delay-300{
  transition-delay: 300ms;
}
.delay-500{
  transition-delay: 500ms;
}
.delay-700{
  transition-delay: 700ms;
}
.duration-1000{
  transition-duration: 1000ms;
}
.duration-150{
  transition-duration: 150ms;
}
.duration-200{
  transition-duration: 200ms;
}
.duration-300{
  transition-duration: 300ms;
}
.duration-500{
  transition-duration: 500ms;
}
.duration-700{
  transition-duration: 700ms;
}
.ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear{
  transition-timing-function: linear;
}
.ease-out{
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
/* Fade animations */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
@keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
@keyframes fadeInLeft {
    from {
      opacity: 0;
      transform: translateX(-20px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
@keyframes fadeInRight {
    from {
      opacity: 0;
      transform: translateX(20px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
/* Slide animations */
@keyframes slideUp {
    from {
      opacity: 0;
      transform: translateY(40px) scale(0.95);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }
@keyframes slideDown {
    from {
      opacity: 0;
      transform: translateY(-20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
/* Shimmer effect */
@keyframes shimmer {
    0% { background-position: -200px 0; }
    100% { background-position: 200px 0; }
  }
/* Progress and status animations */
@keyframes checkmark {
    0% { transform: scale(0.3); opacity: 0; }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); opacity: 1; }
  }
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }
    20%, 40%, 60%, 80% { transform: translateX(4px); }
  }
/* Particle float animation */
@keyframes float {
    0% {
      opacity: 0;
      transform: translateY(0) scale(0.3);
    }
    30% {
      opacity: 1;
      transform: translateY(-20px) scale(0.8);
    }
    70% {
      opacity: 0.8;
      transform: translateY(-40px) scale(1);
    }
    100% {
      opacity: 0;
      transform: translateY(-60px) scale(0.3);
    }
  }
/* ==========================================================================
     Animation Utilities
     ========================================================================== */
/* Slide Up Animation */
@keyframes slide-up {
    from {
      opacity: 0;
      transform: translateY(8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
.animate-slide-up {
    animation: slide-up 250ms ease-out;
  }
/* Fade In Animation */
@keyframes fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
  }
.animate-fade-in {
    animation: fade-in 300ms ease-out;
  }
/* FadeIn Animation for RegisterForm */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
  }
/* Onboarding-specific animations */
@keyframes bounce-gentle {
    0%, 100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-4px);
    }
  }
.animate-bounce-gentle {
    animation: bounce-gentle 2s ease-in-out infinite;
  }
@keyframes pulse-gentle {
    0%, 100% {
      opacity: 0.7;
      transform: scale(1);
    }
    50% {
      opacity: 0.9;
      transform: scale(1.02);
    }
  }
.animate-pulse-gentle {
    animation: pulse-gentle 2s ease-in-out infinite;
  }
@keyframes scale-in {
    from {
      opacity: 0;
      transform: scale(0.9);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }
.animate-scale-in {
    animation: scale-in 400ms ease-out;
  }
/* Animation utility classes */
.animate-magical-float {
    animation: magical-float 2s ease-out forwards;
  }
.animate-magical-glow {
    animation: magical-glow 2s ease-in-out infinite;
  }
.animate-magical-pulse {
    animation: magical-pulse 1.5s ease-in-out infinite;
  }
.animate-magical-bounce {
    animation: magical-bounce 0.8s ease-out forwards;
  }
.animate-magical-text-glow {
    animation: magical-text-glow 2s ease-in-out 3;
  }
.animate-magical-button-glow {
    animation: magical-button-glow 1.5s ease-in-out 2;
  }
/* Missing animations for comparison component */
@keyframes stress-bounce {
    0%, 100% {
      transform: rotate(var(--rotation, 0deg));
    }
    25% {
      transform: rotate(var(--rotation, 0deg));
    }
    50% {
      transform: rotate(var(--rotation, 0deg));
    }
    75% {
      transform: rotate(var(--rotation, 0deg));
    }
  }
.animate-stress-bounce {
    animation: stress-bounce 2s ease-in-out infinite;
  }
@keyframes gentle-pulse {
    0%, 100% {
      opacity: 1;
      transform: scale(1);
    }
    50% {
      opacity: 0.8;
      transform: scale(1.05);
    }
  }
.animate-gentle-pulse {
    animation: gentle-pulse 2s ease-in-out infinite;
  }
@keyframes slow-spin {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
.animate-slow-spin {
    animation: slow-spin 20s linear infinite;
  }
/* Horizontal bounce for arrow */
@keyframes bounce-x {
    0%, 100% {
      transform: translateX(0);
    }
    50% {
      transform: translateX(4px);
    }
  }
.animate-bounce-x {
    animation: bounce-x 2s ease-in-out infinite;
  }
/* Responsive Utilities */
/* Line clamp utilities */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
/* Safe Area Padding for Mobile Nav */
@keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
/* Magical floating particles animation */
@keyframes magical-float {
    0% {
      opacity: 0;
      transform: translateY(20px) scale(0.5);
    }
    20% {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
    80% {
      opacity: 1;
      transform: translateY(-30px) scale(1.2);
    }
    100% {
      opacity: 0;
      transform: translateY(-50px) scale(0.3);
    }
  }
/* Magical glow effect */
@keyframes magical-glow {
    0%, 100% {
      opacity: 0.3;
      transform: scale(1);
    }
    50% {
      opacity: 0.6;
      transform: scale(1.02);
    }
  }
/* Magical pulse effect */
@keyframes magical-pulse {
    0%, 100% {
      opacity: 0.2;
    }
    50% {
      opacity: 0.4;
    }
  }
/* Magical completion bounce */
@keyframes magical-bounce {
    0% {
      transform: scale(1);
    }
    30% {
      transform: scale(1.3) rotate(5deg);
    }
    60% {
      transform: scale(1.1) rotate(-3deg);
    }
    100% {
      transform: scale(1.25) rotate(0deg);
    }
  }
/* Magical ring expansion */
@keyframes magical-ring {
    0% {
      opacity: 0.8;
      transform: scale(0.8);
    }
    100% {
      opacity: 0;
      transform: scale(2);
    }
  }
/* Magical completion animation for the entire step */
@keyframes magical-completion {
    0% {
      transform: scale(1);
      box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    }
    50% {
      transform: scale(1.02);
      box-shadow: 0 10px 25px -5px rgb(16 185 129 / 0.25), 0 8px 10px -6px rgb(16 185 129 / 0.1);
    }
    100% {
      transform: scale(1);
      box-shadow: 0 4px 6px -1px rgb(16 185 129 / 0.1), 0 2px 4px -2px rgb(16 185 129 / 0.1);
    }
  }
/* Magical text glow */
@keyframes magical-text-glow {
    0%, 100% {
      text-shadow: none;
    }
    50% {
      text-shadow: 0 0 8px rgb(16 185 129 / 0.5);
    }
  }
/* Magical sparkle animation */
@keyframes magical-sparkle {
    0%, 100% {
      opacity: 0.7;
      transform: scale(1) rotate(0deg);
    }
    25% {
      opacity: 1;
      transform: scale(1.2) rotate(90deg);
    }
    50% {
      opacity: 0.8;
      transform: scale(1.1) rotate(180deg);
    }
    75% {
      opacity: 1;
      transform: scale(1.3) rotate(270deg);
    }
  }
/* Magical button glow */
@keyframes magical-button-glow {
    0%, 100% {
      box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    }
    50% {
      box-shadow: 0 0 0 2px rgb(16 185 129 / 0.2), 0 4px 6px -1px rgb(16 185 129 / 0.1);
    }
  }
/* Magical content reveal */
@keyframes magical-content-reveal {
    0% {
      opacity: 0;
      transform: translateY(10px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
/* Magical result appearance */
@keyframes magical-result-appear {
    0% {
      opacity: 0;
      transform: translateY(20px) scale(0.95);
    }
    50% {
      opacity: 0.7;
      transform: translateY(-5px) scale(1.02);
    }
    100% {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }
.\[-\:T\.\]{
  -: T.;
}

/* ==========================================================================
   ConvertMate Agentic Commerce - Modern Design System
   Based on UI/UX Guidelines v3.0 - Modern Minimalism
   ========================================================================== */

/* Base Layer - Typography and Global Styles */

/* Custom Animations for AskAnything and UpgradePrompt */

/* Component Layer - Reusable Components */

/* ==========================================================================
   Billing & Settings Page Components
   ========================================================================== */

/* Settings Content Layout */
.settings-content{
  margin-left: auto;
  margin-right: auto;
  max-width: 72rem;
}
.settings-content > :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));
}
.settings-content{
  padding: 1.5rem;
}

.settings-header{
  margin-bottom: 2rem;
}

.settings-header h2{
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.settings-header p{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

/* Loading and Error States */
.loading-spinner .animate-spin {
    align-self: center;
    margin: auto 0;
  }
.loading-spinner{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.spinner {
    flex-shrink: 0;
    vertical-align: middle;
    display: inline-block;
    margin: 0;
    padding: 0;
    line-height: 1;
  }

button .spinner,
  .btn-primary .spinner,
  .btn-secondary .spinner {
    align-self: center;
  }

.flex .spinner,
  .inline-flex .spinner {
    align-self: center;
    margin: auto 0;
  }

.rounded-xl .spinner,
  .rounded-full .spinner {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.spinner .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.rounded-xl .spinner,
  .rounded-full .spinner {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.spinner{
  margin-bottom: 1rem;
  height: 2rem;
  width: 2rem;
}

@keyframes spin{

  to{
    transform: rotate(360deg);
  }
}

.spinner{
  animation: spin 1s linear infinite;
  border-radius: 9999px;
  border-width: 4px;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-border-opacity: 1;
  border-top-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}

.error-message{
  padding-top: 3rem;
  padding-bottom: 3rem;
  text-align: center;
}

.error-message h3{
  margin-bottom: 0.5rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.error-message p{
  margin-bottom: 1rem;
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

/* Section Headers */
.section-header .animate-spin {
    align-self: center;
    margin: auto 0;
  }
.section-header{
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.section-header h3{
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.status-badge .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.status-badge{
  border-radius: 9999px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
}

.status-badge.active{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.status-badge.trial{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.status-badge.cancelled{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.usage-period{
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.period-info{
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

/* Current Plan Section */
.current-plan-section{
  margin-bottom: 2rem;
}

.current-plan-card .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.current-plan-card{
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
}

.plan-header .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.plan-header{
  margin-bottom: 1.5rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.plan-info h4{
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.plan-price .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.plan-price{
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
}

.plan-price .price{
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.plan-price .cycle{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.popular-badge .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.popular-badge{
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.plan-details{
  margin-bottom: 1.5rem;
}

.plan-details > :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));
}

.detail-row .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.detail-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.detail-row .label{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.detail-row .value{
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.plan-actions .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.plan-actions{
  display: flex;
  gap: 0.75rem;
}

/* Credit Usage Section */
.credit-usage-section{
  margin-bottom: 2rem;
}

.credit-usage-card .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.credit-usage-card{
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
}

.usage-overview{
  margin-bottom: 1.5rem;
}

.usage-stats{
  margin-bottom: 1.5rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.stat{
  text-align: center;
}

.stat-label{
  margin-bottom: 0.25rem;
  display: block;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.stat-value{
  display: block;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.usage-progress{
  margin-bottom: 1rem;
}

.progress-bar .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.progress-bar{
  margin-bottom: 0.5rem;
  height: 0.75rem;
  width: 100%;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}

.progress-fill .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.progress-fill{
  height: 100%;
  border-radius: 9999px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  background-color: #3b82f6;
}

.progress-fill.warning {
  background-color: #f59e0b;
}

.progress-fill.danger {
  background-color: #ef4444;
}

.progress-labels .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.progress-labels{
  display: flex;
  justify-content: space-between;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.overage-notice .animate-spin,
.warning-notice .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.overage-notice,
.warning-notice{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.5rem;
  padding: 0.75rem;
}

.overage-notice{
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.warning-notice{
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.credit-breakdown{
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  padding-top: 1rem;
}

.credit-breakdown h4{
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.breakdown-item .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.breakdown-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.breakdown-item .label{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.breakdown-item .value{
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

/* Plans Grid */
.plans-grid{
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}
@media (min-width: 768px){

  .plans-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px){

  .plans-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.plan-card .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.plan-card{
  position: relative;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.plan-card:hover{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.plan-card.current{
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 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(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);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1));
}

.plan-card.popular{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), 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));
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 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(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);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1));
}

.plan-badge .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.plan-badge{
  position: absolute;
  top: -0.75rem;
  left: 50%;
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), 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));
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.plan-card .plan-header{
  margin-bottom: 1.5rem;
  text-align: center;
}

.plan-card .plan-header h3{
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.plan-card .plan-price .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.plan-card .plan-price{
  margin-bottom: 0.5rem;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.25rem;
}

.plan-card .plan-price .price{
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.plan-card .plan-price .cycle{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.yearly-price{
  text-align: center;
}

.yearly-label{
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.savings .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.savings{
  margin-left: 0.5rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.plan-features{
  margin-bottom: 1.5rem;
}

.plan-features ul > :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));
}

.plan-features li .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.plan-features li{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.icon-check{
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.icon-check::before {
  content: "\\2713";
}

.plan-actions{
  text-align: center;
}

/* Tables */
.usage-history-section,
.billing-history-section{
  margin-bottom: 2rem;
}

.usage-history-table .animate-spin,
.billing-history-table .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.usage-history-table,
.billing-history-table{
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.usage-history-table table,
.billing-history-table table{
  width: 100%;
}

.usage-history-table th,
.billing-history-table th{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: left;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.usage-history-table td,
.billing-history-table td{
  white-space: nowrap;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.transaction-type .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.transaction-type{
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.transaction-type.subscription_credits{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.transaction-type.monthly_renewal{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.transaction-type.topup{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}

/* Payment Method Section */
.payment-method-section{
  margin-bottom: 2rem;
}

.payment-method-card .animate-spin {
    align-self: center;
    margin: auto 0;
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.payment-method-card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
}

.payment-info .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.payment-info{
  display: flex;
  align-items: center;
  gap: 1rem;
}

.icon-credit-card .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.icon-credit-card{
  display: flex;
  height: 2.5rem;
  width: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.icon-credit-card::before {
  content: "CC";
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 700;
}

.card-details .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.card-details{
  display: flex;
  flex-direction: column;
}

.card-type{
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.card-number{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.card-expiry{
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

/* Icon styles temporarily removed to fix webpack compilation */

/* ==========================================================================
   Layout & Navigation Components - Responsive Design
   ========================================================================== */

/* Mobile Sidebar Overlay */
.mobile-sidebar-overlay{
  position: fixed;
  inset: 0px;
  z-index: 40;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
  --tw-bg-opacity: 0.5;
}
@media (min-width: 1024px){

  .mobile-sidebar-overlay.blog-modal {
    animation: modal-fade-out 0.3s ease-in;
  }

  .mobile-sidebar-overlay{
    display: none;
  }
}
.mobile-sidebar-overlay {
  transition: opacity 0.3s ease-in-out;
}

.mobile-sidebar-overlay.hidden{
  pointer-events: none;
  opacity: 0;
}

/* Responsive Sidebar */
.sidebar{
  position: fixed;
  left: 0px;
  top: 4rem;
  bottom: 0px;
  z-index: 50;
  width: 16rem;
  overflow-y: auto;
  border-right-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

/* Mobile: Hide sidebar by default, show as overlay when open */
@media (max-width: 1023px) {
  .sidebar{
    --tw-translate-x: -100%;
    transform: translate(var(--tw-translate-x), 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));
  }

  .sidebar.mobile-open{
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), 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));
  }
}

/* Desktop: Collapsed sidebar */
.sidebar.collapsed{
  width: 4rem;
}

/* Settings Sidebar Specific Styles */
.settings-sidebar{
  position: fixed;
  left: 0px;
  top: 4rem;
  bottom: 0px;
  z-index: 50;
  width: 16rem;
  overflow-y: auto;
  border-right-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

/* Mobile: Hide settings sidebar by default, show as overlay when open */
@media (max-width: 1023px) {
  .settings-sidebar{
    --tw-translate-x: -100%;
    transform: translate(var(--tw-translate-x), 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));
  }

  .settings-sidebar.mobile-open{
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), 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));
  }
}

/* Settings Main Content */
.settings-main-content{
  min-height: 100vh;
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
  padding-top: 4rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

/* Desktop: Add left margin for settings sidebar */
@media (min-width: 1024px) {
  .settings-main-content{
    margin-left: 16rem;
  }
}

/* Mobile: Full width for settings */
@media (max-width: 1023px) {
  .settings-main-content{
    margin-left: 0px;
  }
}

/* Responsive Main Content */
.main-content{
  min-height: 100vh;
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding-top: 4rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

/* Mobile: Full width */
@media (max-width: 1023px) {
  .main-content{
    margin-left: 0px;
  }
}

/* Desktop: Adjust for sidebar */
@media (min-width: 1024px) {
  .main-content{
    margin-left: 16rem;
  }

  .main-content.sidebar-collapsed{
    margin-left: 4rem;
  }
}

/* Responsive Top Navigation */
.top-nav{
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  z-index: 50;
  height: 4rem;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.top-nav-content .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.top-nav-content{
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: space-between;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px){

  .top-nav-content{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* Mobile: Hide some elements, adjust spacing */
@media (max-width: 768px) {
  .top-nav-left .animate-spin {
    align-self: center;
    margin: auto 0;
  }
  .top-nav-left{
    display: flex;
    align-items: center;
  }
  .top-nav-left > :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)));
  }

  .blog-modal.top-nav-search {
    animation: modal-fade-out 0.3s ease-in;
  }

  .top-nav-search{
    display: none;
  }

.mobile-sidebar-overlay.top-nav-search{
    pointer-events: none;
    opacity: 0;
  }
  .top-nav-right .animate-spin {
    align-self: center;
    margin: auto 0;
  }

  .top-nav-right{
    display: flex;
    align-items: center;
  }

  .top-nav-right > :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)));
  }

  .blog-modal.top-nav-credits {
    animation: modal-fade-out 0.3s ease-in;
  }

  .top-nav-credits{
    display: none;
  }

.mobile-sidebar-overlay.top-nav-credits{
    pointer-events: none;
    opacity: 0;
  }

  .blog-modal.top-nav-user-text {
    animation: modal-fade-out 0.3s ease-in;
  }

  .top-nav-user-text{
    display: none;
  }

.mobile-sidebar-overlay.top-nav-user-text{
    pointer-events: none;
    opacity: 0;
  }
}

/* Tablet: Show more elements */
@media (min-width: 769px) and (max-width: 1023px) {
  .top-nav-left .animate-spin {
    align-self: center;
    margin: auto 0;
  }
  .top-nav-left{
    display: flex;
    align-items: center;
  }
  .top-nav-left > :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)));
  }

  .top-nav-search{
    width: 12rem;
  }
  .top-nav-right .animate-spin {
    align-self: center;
    margin: auto 0;
  }

  .top-nav-right{
    display: flex;
    align-items: center;
  }

  .top-nav-right > :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)));
  }
  .top-nav-credits .animate-spin {
    align-self: center;
    margin: auto 0;
  }

  .top-nav-credits{
    display: flex;
  }

  .blog-modal.top-nav-user-text {
    animation: modal-fade-out 0.3s ease-in;
  }

  .top-nav-user-text{
    display: none;
  }

.mobile-sidebar-overlay.top-nav-user-text{
    pointer-events: none;
    opacity: 0;
  }
}

/* Desktop: Show all elements */
@media (min-width: 1024px) {
  .top-nav-left .animate-spin {
    align-self: center;
    margin: auto 0;
  }
  .top-nav-left{
    display: flex;
    align-items: center;
  }
  .top-nav-left > :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)));
  }

  .top-nav-search{
    width: auto;
  }
  .top-nav-right .animate-spin {
    align-self: center;
    margin: auto 0;
  }

  .top-nav-right{
    display: flex;
    align-items: center;
  }

  .top-nav-right > :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)));
  }
  .top-nav-credits .animate-spin {
    align-self: center;
    margin: auto 0;
  }

  .top-nav-credits{
    display: flex;
  }

  .top-nav-user-text{
    display: block;
  }
}

/* Sidebar Responsive Elements */
.sidebar-text{
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.sidebar-content{
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.sidebar-icon{
  position: relative;
}

/* Desktop collapsed sidebar: Hide text and content */
@media (min-width: 1024px) {
  .sidebar.collapsed .sidebar-text{
    pointer-events: none;
    opacity: 0;
  }

  .sidebar.collapsed .sidebar-content{
    pointer-events: none;
    opacity: 0;
  }

  .blog-modal.sidebar.collapsed .supervisor-card {
    animation: modal-fade-out 0.3s ease-in;
  }

  .sidebar.collapsed .supervisor-card{
    display: none;
  }

.mobile-sidebar-overlay.sidebar.collapsed .supervisor-card{
    pointer-events: none;
    opacity: 0;
  }

  .blog-modal.sidebar.collapsed .bottom-menu {
    animation: modal-fade-out 0.3s ease-in;
  }

  .sidebar.collapsed .bottom-menu{
    display: none;
  }

.mobile-sidebar-overlay.sidebar.collapsed .bottom-menu{
    pointer-events: none;
    opacity: 0;
  }
}

/* Mobile Hamburger Menu */
.mobile-menu-button{
  border-radius: 0.5rem;
  padding: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
@media (min-width: 1024px){

  .mobile-menu-button.blog-modal {
    animation: modal-fade-out 0.3s ease-in;
  }
}
.mobile-menu-button:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.mobile-menu-button:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --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);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity, 1));
  --tw-ring-offset-width: 2px;
}
@media (min-width: 1024px){

  .mobile-menu-button{
    display: none;
  }
}

/* Dashboard Grid Responsive */
.dashboard-grid{
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 768px) {
  .dashboard-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .dashboard-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Responsive Padding for Main Content */
.main-content-padding{
  padding: 1rem;
}
@media (min-width: 640px){

  .main-content-padding{
    padding: 1.5rem;
  }
}

/* ==========================================================================
   Accessibility & Motion Preferences
   ========================================================================== */

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .btn-primary{
    border-width: 2px;
    --tw-border-opacity: 1;
    border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
  }

  .form-input{
    border-width: 2px;
    --tw-border-opacity: 1;
    border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
  }

  .card{
    border-width: 2px;
    --tw-border-opacity: 1;
    border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
  }
}

/* ==========================================================================
   Print Styles
   ========================================================================== */

@media print {
  *{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
  }

  .btn-primary,
  .btn-secondary,
  .btn-tertiary{
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
  }

  .nav-sidebar,
  .nav-mobile,
  .modal-backdrop {
    display: none !important;
  }
}

/* Dashboard Slider Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fadeInUp {
    animation: fadeInUp 0.4s ease-out forwards;
}

/* Scale utilities for smooth transitions */
.scale-98 {
    transform: scale(0.98);
}

.scale-100 {
    transform: scale(1);
}

.scale-110 {
    transform: scale(1.1);
}

.scale-125 {
    transform: scale(1.25);
}

/* Line clamp utility for text truncation */
.line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Pulse animation for status dots */
@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Smooth hover transitions for cards */
.hover\:shadow-md:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.hover\:-translate-y-1:hover {
    transform: translateY(-0.25rem);
}

/* Button active states */
.active\:scale-95:active {
    transform: scale(0.95);
}

/* Disabled state opacity */
.disabled\:opacity-50:disabled {
    opacity: 0.5;
}

/* Utilities Layer - Custom Utilities */

/* Loading and Error States */
.loading-spinner .animate-spin {
    align-self: center;
    margin: auto 0;
  }
.loading-spinner{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.spinner {
    flex-shrink: 0;
    vertical-align: middle;
    display: inline-block;
    margin: 0;
    padding: 0;
    line-height: 1;
  }

button .spinner,
  .btn-primary .spinner,
  .btn-secondary .spinner {
    align-self: center;
  }

.flex .spinner,
  .inline-flex .spinner {
    align-self: center;
    margin: auto 0;
  }

.rounded-xl .spinner,
  .rounded-full .spinner {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.spinner .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.rounded-xl .spinner,
  .rounded-full .spinner {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.spinner{
  margin-bottom: 1rem;
  height: 2rem;
  width: 2rem;
}

@keyframes spin{

  to{
    transform: rotate(360deg);
  }
}

.spinner{
  animation: spin 1s linear infinite;
  border-radius: 9999px;
  border-width: 4px;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-border-opacity: 1;
  border-top-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}

/* Skeleton Loading Styles */
@keyframes pulse{

  50%{
    opacity: .5;
  }
}
.skeleton-text{
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse{

  50%{
    opacity: .5;
  }
}

.skeleton-button{
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse{

  50%{
    opacity: .5;
  }
}

.skeleton-icon{
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.skeleton-progress-bar .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

@keyframes pulse{

  50%{
    opacity: .5;
  }
}

.skeleton-progress-bar{
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* ==========================================================================
   Enhanced Comparison Section Animations
   ========================================================================== */

/* Chaotic floating animation for traditional marketing side */
@keyframes chaos-float {
  0% {
    transform: translateY(0px) rotate(0deg) scale(1);
  }
  25% {
    transform: translateY(-15px) rotate(5deg) scale(1.1);
  }
  50% {
    transform: translateY(-8px) rotate(-3deg) scale(0.95);
  }
  75% {
    transform: translateY(-20px) rotate(8deg) scale(1.05);
  }
  100% {
    transform: translateY(0px) rotate(0deg) scale(1);
  }
}

/* Smooth flowing animation for ConvertMate side */
@keyframes smooth-flow {
  0% {
    transform: translateY(0px) rotate(0deg) scale(1);
  }
  50% {
    transform: translateY(-10px) rotate(2deg) scale(1.02);
  }
  100% {
    transform: translateY(0px) rotate(0deg) scale(1);
  }
}

/* Stress bounce for traditional approach task boxes */
@keyframes stress-bounce {
  0%, 100% {
    transform: rotate(var(--tw-rotate)) translateY(0px) scale(1);
  }
  25% {
    transform: rotate(var(--tw-rotate)) translateY(-5px) scale(1.05);
  }
  75% {
    transform: rotate(var(--tw-rotate)) translateY(-2px) scale(0.98);
  }
}

/* Gentle pulse for AI hub */
@keyframes gentle-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  }
}

/* Slow spin for agent constellation */
@keyframes slow-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Horizontal bounce for arrow */
@keyframes bounce-x {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(4px);
  }
}

/* Apply animations */
.animate-chaos-float {
  animation: chaos-float 4s ease-in-out infinite;
}

.animate-smooth-flow {
  animation: smooth-flow 6s ease-in-out infinite;
}

.animate-stress-bounce {
  animation: stress-bounce 2s ease-in-out infinite;
}

.animate-gentle-pulse {
  animation: gentle-pulse 3s ease-in-out infinite;
}

.animate-slow-spin {
  animation: slow-spin linear infinite;
}

.animate-bounce-x {
  animation: bounce-x 2s ease-in-out infinite;
}

/* Additional animations for enhanced public pages */
@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fade-in-up 0.8s ease-out forwards;
}

@keyframes slide-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-slide-up {
  animation: slide-up 0.6s ease-out forwards;
}

/* Highlight Animation for Active Steps */
@keyframes highlight {
  0% { 
    box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4); 
  }
  70% { 
    box-shadow: 0 0 0 6px rgba(59, 130, 246, 0); 
  }
  100% { 
    box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); 
  }
}

/* Shake Animation for Errors */
@keyframes shake {
  0%, 100% { 
    transform: translateX(0); 
  }
  10%, 30%, 50%, 70%, 90% { 
    transform: translateX(-2px); 
  }
  20%, 40%, 60%, 80% { 
    transform: translateX(2px); 
  }
}

/* Bounce In Animation for Success */
@keyframes bounceIn {
  0% { 
    opacity: 0; 
    transform: scale(0.3); 
  }
  50% { 
    opacity: 1; 
    transform: scale(1.1); 
  }
  100% { 
    opacity: 1; 
    transform: scale(1); 
  }
}

/* Checkmark Draw Animation */
@keyframes checkmark {
  0% { 
    stroke-dasharray: 0 50; 
    opacity: 0; 
  }
  50% { 
    opacity: 1; 
  }
  100% { 
    stroke-dasharray: 50 0; 
    opacity: 1; 
  }
}

/* Celebration Background Effect */
@keyframes celebration {
  0% { 
    background-position: 0% 50%; 
    opacity: 0.3; 
  }
  50% { 
    background-position: 100% 50%; 
    opacity: 0.6; 
  }
  100% { 
    background-position: 0% 50%; 
    opacity: 0.3; 
  }
}

/* Confetti Animations */
@keyframes confetti1 {
  0% { 
    transform: translateY(0) rotate(0deg); 
    opacity: 1; 
  }
  100% { 
    transform: translateY(-50px) rotate(180deg); 
    opacity: 0; 
  }
}

@keyframes confetti2 {
  0% { 
    transform: translateY(0) rotate(0deg); 
    opacity: 1; 
  }
  100% { 
    transform: translateY(-40px) rotate(-120deg); 
    opacity: 0; 
  }
}

@keyframes confetti3 {
  0% { 
    transform: translateY(0) rotate(0deg); 
    opacity: 1; 
  }
  100% { 
    transform: translateY(-45px) rotate(90deg); 
    opacity: 0; 
  }
}

@keyframes confetti4 {
  0% { 
    transform: translateY(0) rotate(0deg); 
    opacity: 1; 
  }
  100% { 
    transform: translateY(-35px) rotate(-90deg); 
    opacity: 0; 
  }
}

/* Fade In Simple */
@keyframes fadeIn {
  from { 
    opacity: 0; 
  }
  to { 
    opacity: 1; 
  }
}

/* ==========================================================================
   Public Navigation Component - Mobile Display Fix
   ========================================================================== */

/* Ensure public navigation displays properly on all screen sizes */
.public-nav-container{
  width: 100%;
}

.public-nav-content .animate-spin {
    align-self: center;
    margin: auto 0;
  }

.public-nav-content{
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}

.public-nav-logo{
  min-width: 0px;
  flex-shrink: 0;
}

.public-nav-mobile-actions{
  min-width: 0px;
  flex-shrink: 0;
}

/* Clean Mobile Navigation Styles */
@media (max-width: 1023px) {
  /* Ensure mobile navigation is properly displayed */
  .mobile-nav-header .animate-spin {
    align-self: center;
    margin: auto 0;
  }
  .mobile-nav-header{
    display: flex;
    height: 4rem;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  .mobile-nav-logo img{
    height: 2rem;
    width: auto;
  }
  .mobile-nav-actions .animate-spin {
    align-self: center;
    margin: auto 0;
  }
  
  .mobile-nav-actions{
    display: flex;
    align-items: center;
  }
  
  .mobile-nav-actions > :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)));
  }
  
  .mobile-menu-panel{
    position: fixed;
    top: 0px;
    right: 0px;
    z-index: 50;
    height: 100%;
    overflow-y: auto;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    width: 320px;
    max-width: 90vw;
  }
  
  .mobile-menu-overlay{
    position: fixed;
    inset: 0px;
    z-index: 40;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
    --tw-bg-opacity: 0.5;
  }
}

/* ==========================================================================
   Dashboard Components - Enhanced Styling
   ========================================================================== */
  
/* Recommended Actions Panel - Full Height */
.recommended-actions-panel .animate-spin {
    align-self: center;
    margin: auto 0;
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.recommended-actions-panel{
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #f8fafc var(--tw-gradient-to-position);
}

.recommended-actions-header{
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  background-color: rgb(255 255 255 / 0.8);
  padding: 1.5rem;
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.recommended-actions-content{
  flex: 1 1 0%;
  overflow-y: auto;
  padding: 1.5rem;
}

.recommended-actions-footer{
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  background-color: rgb(248 250 252 / 0.5);
  padding: 1.5rem;
}

/* Action Card Enhanced Styling */
.action-card .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.action-card{
  cursor: pointer;
  border-radius: 0.75rem;
  border-width: 1px;
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}
.action-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --tw-border-opacity: 1;
    border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.action-card-urgent{
  --tw-border-opacity: 1;
  border-left-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.action-card-important{
  --tw-border-opacity: 1;
  border-left-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}

.action-card-suggested{
  --tw-border-opacity: 1;
  border-left-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

/* Priority Badges */
.priority-badge .animate-spin {
    align-self: center;
    margin: auto 0;
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.priority-badge{
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  border-width: 1px;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.priority-badge-urgent{
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.priority-badge-important{
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}

.priority-badge-suggested{
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

/* Benefit Highlight */
.benefit-highlight .animate-spin {
    align-self: center;
    margin: auto 0;
  }
.benefit-highlight{
  display: flex;
  align-items: center;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}

/* ==========================================================================
   Dashboard Layout Utilities
   ========================================================================== */
   
/* Remove custom classes - using Tailwind directly in templates */

/* ==========================================================================
   Onboarding Components
   ========================================================================== */

/* Platform Selection Cards - Prevent border overflow */
.platform-card-container .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }
.platform-card-container{
  position: relative;
  overflow: hidden;
  border-radius: 0.75rem;
}

.platform-card .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.platform-card{
  position: relative;
  border-radius: 0.75rem;
  border-width: 2px;
  padding: 1rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.platform-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.platform-card-selected{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-shadow-color: #dbeafe;
  --tw-shadow: var(--tw-shadow-colored);
}

.platform-card-default{
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.platform-card-default:hover{
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

/* Gentle pulse animation for selected platforms */
@keyframes pulse-gentle {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.8;
  }
}

.animate-pulse-gentle {
  animation: pulse-gentle 2s ease-in-out infinite;
}

/* Fade in animation for selection summary */
@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in {
  animation: fade-in 0.3s ease-out;
}

/* Calendly Widget Responsive Styles */
.calendly-container{
  width: 100%;
}

.calendly-inline-widget .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.calendly-inline-widget{
  width: 100%;
  overflow: hidden;
  border-radius: 0.75rem;
  min-width: 320px !important;
  height: 700px !important;
}

@media (max-width: 640px) {
  .calendly-inline-widget {
    height: 600px !important;
    min-width: 280px !important;
  }
}

@media (max-width: 480px) {
  .calendly-inline-widget {
    height: 500px !important;
    min-width: 260px !important;
  }
}

/* ==========================================================================
   RegisterForm Animation Styles
   ========================================================================== */

/* Bounce-in animation for modal and elements */
@keyframes bounce-in {
  0% { 
    opacity: 0; 
    transform: scale(0.3) translateY(-50px); 
  }
  50% { 
    opacity: 1; 
    transform: scale(1.05); 
  }
  70% { 
    transform: scale(0.9); 
  }
  100% { 
    opacity: 1; 
    transform: scale(1); 
  }
}

.animate-bounce-in { 
  animation: bounce-in 0.6s ease-out; 
}

/* Slide-in animation for form steps */
@keyframes slide-in {
  from { 
    opacity: 0; 
    transform: translateX(30px); 
  }
  to { 
    opacity: 1; 
    transform: translateX(0); 
  }
}

.animate-slide-in { 
  animation: slide-in 0.5s ease-out; 
}

/* Scale-in animation for checkmarks */
@keyframes scale-in {
  from { 
    opacity: 0; 
    transform: scale(0); 
  }
  to { 
    opacity: 1; 
    transform: scale(1); 
  }
}

.animate-scale-in { 
  animation: scale-in 0.3s ease-out; 
}

/* Shake animation for errors */
@keyframes shake {
  0%, 100% { 
    transform: translateX(0); 
  }
  10%, 30%, 50%, 70%, 90% { 
    transform: translateX(-2px); 
  }
  20%, 40%, 60%, 80% { 
    transform: translateX(2px); 
  }
}

.animate-shake { 
  animation: shake 0.5s ease-in-out; 
}

/* Count-up animation for numbers */
@keyframes count-up {
  from { 
    transform: scale(0.8); 
    opacity: 0; 
  }
  to { 
    transform: scale(1); 
    opacity: 1; 
  }
}

.animate-count-up { 
  animation: count-up 0.8s ease-out; 
}

/* Fade-in animation for elements */
@keyframes fade-in {
  from { 
    opacity: 0; 
    transform: translateY(10px); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0); 
  }
}

.animate-fade-in { 
  animation: fade-in 0.5s ease-out; 
}

/* ==========================================================================
   Ask Anything - Dynamic Animations
   Following ConvertMate Design Guidelines - Modern & Stylish
   ========================================================================== */

/* Slide Up Animation */
@keyframes slideUp {
  from { 
    opacity: 0; 
    transform: translateY(20px); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0); 
  }
}

/* Fade In Up Animation with Stagger Support */
@keyframes fadeInUp {
  from { 
    opacity: 0; 
    transform: translateY(15px); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0); 
  }
}

/* Fade In Left Animation */
@keyframes fadeInLeft {
  from { 
    opacity: 0; 
    transform: translateX(-15px); 
  }
  to { 
    opacity: 1; 
    transform: translateX(0); 
  }
}

/* Fade In Right Animation */
@keyframes fadeInRight {
  from { 
    opacity: 0; 
    transform: translateX(15px); 
  }
  to { 
    opacity: 1; 
    transform: translateX(0); 
  }
}

/* Shimmer Background Effect */
@keyframes shimmer {
  0% { 
    background-position: -200px 0; 
  }
  100% { 
    background-position: calc(200px + 100%) 0; 
  }
}

/* Shine Effect for Progress Bar */
@keyframes shine {
  0% { 
    transform: translateX(-100%) skewX(-12deg); 
  }
  100% { 
    transform: translateX(200%) skewX(-12deg); 
  }
}

/* Slide In Left Animation */
@keyframes slideInLeft {
  from { 
    opacity: 0; 
    transform: translateX(-20px); 
  }
  to { 
    opacity: 1; 
    transform: translateX(0); 
  }
}

/* Slide In Up Animation */
@keyframes slideInUp {
  from { 
    opacity: 0; 
    transform: translateY(10px); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0); 
  }
}

/* Highlight Animation for Active Steps */
@keyframes highlight {
  0% { 
    box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4); 
  }
  70% { 
    box-shadow: 0 0 0 6px rgba(59, 130, 246, 0); 
  }
  100% { 
    box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); 
  }
}

/* Shake Animation for Errors */
@keyframes shake {
  0%, 100% { 
    transform: translateX(0); 
  }
  10%, 30%, 50%, 70%, 90% { 
    transform: translateX(-2px); 
  }
  20%, 40%, 60%, 80% { 
    transform: translateX(2px); 
  }
}

/* Bounce In Animation for Success */
@keyframes bounceIn {
  0% { 
    opacity: 0; 
    transform: scale(0.3); 
  }
  50% { 
    opacity: 1; 
    transform: scale(1.1); 
  }
  100% { 
    opacity: 1; 
    transform: scale(1); 
  }
}

/* Checkmark Draw Animation */
@keyframes checkmark {
  0% { 
    stroke-dasharray: 0 50; 
    opacity: 0; 
  }
  50% { 
    opacity: 1; 
  }
  100% { 
    stroke-dasharray: 50 0; 
    opacity: 1; 
  }
}

/* Celebration Background Effect */
@keyframes celebration {
  0% { 
    background-position: 0% 50%; 
    opacity: 0.3; 
  }
  50% { 
    background-position: 100% 50%; 
    opacity: 0.6; 
  }
  100% { 
    background-position: 0% 50%; 
    opacity: 0.3; 
  }
}

/* Confetti Animations */
@keyframes confetti1 {
  0% { 
    transform: translateY(0) rotate(0deg); 
    opacity: 1; 
  }
  100% { 
    transform: translateY(-50px) rotate(180deg); 
    opacity: 0; 
  }
}

@keyframes confetti2 {
  0% { 
    transform: translateY(0) rotate(0deg); 
    opacity: 1; 
  }
  100% { 
    transform: translateY(-40px) rotate(-120deg); 
    opacity: 0; 
  }
}

@keyframes confetti3 {
  0% { 
    transform: translateY(0) rotate(0deg); 
    opacity: 1; 
  }
  100% { 
    transform: translateY(-45px) rotate(90deg); 
    opacity: 0; 
  }
}

@keyframes confetti4 {
  0% { 
    transform: translateY(0) rotate(0deg); 
    opacity: 1; 
  }
  100% { 
    transform: translateY(-35px) rotate(-90deg); 
    opacity: 0; 
  }
}

/* Fade In Simple */
@keyframes fadeIn {
  from { 
    opacity: 0; 
  }
  to { 
    opacity: 1; 
  }
}

/* Ask Anything Component Animations */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

@keyframes checkmark {
  0% {
    opacity: 0;
    transform: scale(0.8) rotate(-45deg);
  }
  50% {
    opacity: 1;
    transform: scale(1.1) rotate(-45deg);
  }
  100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-2px); }
  20%, 40%, 60%, 80% { transform: translateX(2px); }
}

@keyframes celebration {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@keyframes shine {
  0% {
    transform: translateX(-100%) skewX(-12deg);
  }
  100% {
    transform: translateX(200%) skewX(-12deg);
  }
}

.after\:rounded-full .animate-spin::after {
    content: var(--tw-content);
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

.hover\:rounded-xl:hover .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

@media (min-width: 640px){
  .sm\:flex .animate-spin {
    align-self: center;
    margin: auto 0;
  }
  .sm\:rounded-xl .animate-spin {
    position: relative;
    top: 0;
    left: 0;
    transform-origin: center;
  }

  .sm\:hidden.blog-modal {
    animation: modal-fade-out 0.3s ease-in;
  }
}

@media (min-width: 768px){

  .md\:hidden.blog-modal {
    animation: modal-fade-out 0.3s ease-in;
  }
}

@media (min-width: 1024px){
  .lg\:flex .animate-spin {
    align-self: center;
    margin: auto 0;
  }

  .lg\:hidden.blog-modal {
    animation: modal-fade-out 0.3s ease-in;
  }
}

@media (min-width: 1280px){
  .xl\:flex .animate-spin {
    align-self: center;
    margin: auto 0;
  }

  .xl\:hidden.blog-modal {
    animation: modal-fade-out 0.3s ease-in;
  }
}

.after\:absolute::after{
  content: var(--tw-content);
  position: absolute;
}

.after\:left-\[2px\]::after{
  content: var(--tw-content);
  left: 2px;
}

.after\:left-\[4px\]::after{
  content: var(--tw-content);
  left: 4px;
}

.after\:top-0\.5::after{
  content: var(--tw-content);
  top: 0.125rem;
}

.after\:top-\[2px\]::after{
  content: var(--tw-content);
  top: 2px;
}

.after\:h-5::after{
  content: var(--tw-content);
  height: 1.25rem;
}

.after\:h-6::after{
  content: var(--tw-content);
  height: 1.5rem;
}

.after\:w-5::after{
  content: var(--tw-content);
  width: 1.25rem;
}

.after\:w-6::after{
  content: var(--tw-content);
  width: 1.5rem;
}

.after\:rounded-full::after{
  content: var(--tw-content);
  border-radius: 9999px;
}

.after\:border::after{
  content: var(--tw-content);
  border-width: 1px;
}

.after\:border-gray-300::after{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.after\:border-slate-300::after{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

.after\:bg-white::after{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.after\:transition-all::after{
  content: var(--tw-content);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.after\:content-\[\'\'\]::after{
  --tw-content: '';
  content: var(--tw-content);
}

.first\:pt-0:first-child{
  padding-top: 0px;
}

.last\:border-0:last-child{
  border-width: 0px;
}

.last\:border-b-0:last-child{
  border-bottom-width: 0px;
}

.last\:pb-0:last-child{
  padding-bottom: 0px;
}

.focus-within\:border-blue-500:focus-within{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.hover\:-translate-y-0\.5:hover{
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), 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));
}

.hover\:-translate-y-1:hover{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), 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));
}

.hover\:-translate-y-2:hover{
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), 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));
}

.hover\:-translate-y-3:hover{
  --tw-translate-y: -0.75rem;
  transform: translate(var(--tw-translate-x), 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));
}

.hover\:translate-x-2:hover{
  --tw-translate-x: 0.5rem;
  transform: translate(var(--tw-translate-x), 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));
}

.hover\:scale-105:hover{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), 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));
}

.hover\:scale-110:hover{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), 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));
}

.hover\:scale-\[1\.02\]:hover{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), 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));
}

.hover\:scale-\[1\.05\]:hover{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), 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));
}

.hover\:gap-3:hover{
  gap: 0.75rem;
}

.hover\:rounded-3xl:hover{
  border-radius: 1.5rem;
}

.hover\:rounded-xl:hover{
  border-radius: 0.75rem;
}

.hover\:border-4:hover{
  border-width: 4px;
}

.hover\:border-amber-300\/60:hover{
  border-color: rgb(252 211 77 / 0.6);
}

.hover\:border-blue-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-300\/60:hover{
  border-color: rgb(147 197 253 / 0.6);
}

.hover\:border-blue-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-700:hover{
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
}

.hover\:border-brand-green:hover{
  --tw-border-opacity: 1;
  border-color: rgb(41 204 134 / var(--tw-border-opacity, 1));
}

.hover\:border-emerald-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}

.hover\:border-emerald-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}

.hover\:border-emerald-300\/60:hover{
  border-color: rgb(110 231 183 / 0.6);
}

.hover\:border-gray-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.hover\:border-gray-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.hover\:border-green-300\/60:hover{
  border-color: rgb(134 239 172 / 0.6);
}

.hover\:border-indigo-300\/60:hover{
  border-color: rgb(165 180 252 / 0.6);
}

.hover\:border-orange-300\/60:hover{
  border-color: rgb(253 186 116 / 0.6);
}

.hover\:border-purple-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));
}

.hover\:border-purple-300\/60:hover{
  border-color: rgb(216 180 254 / 0.6);
}

.hover\:border-red-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-300\/60:hover{
  border-color: rgb(203 213 225 / 0.6);
}

.hover\:border-slate-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}

.hover\:border-violet-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
}

.hover\:border-violet-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity, 1));
}

.hover\:border-white\/30:hover{
  border-color: rgb(255 255 255 / 0.3);
}

.hover\:border-white\/40:hover{
  border-color: rgb(255 255 255 / 0.4);
}

.hover\:border-yellow-300\/60:hover{
  border-color: rgb(253 224 71 / 0.6);
}

.hover\:bg-amber-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}

.hover\:bg-black\/40:hover{
  background-color: rgb(0 0 0 / 0.4);
}

.hover\:bg-blue-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.hover\:bg-dark-blue:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(10 35 51 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-900:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.hover\:bg-indigo-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-neutral-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
}

.hover\:bg-purple-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-50\/50:hover{
  background-color: rgb(248 250 252 / 0.5);
}

.hover\:bg-slate-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

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

.hover\:bg-white\/10:hover{
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-white\/15:hover{
  background-color: rgb(255 255 255 / 0.15);
}

.hover\:bg-white\/20:hover{
  background-color: rgb(255 255 255 / 0.2);
}

.hover\:bg-white\/30:hover{
  background-color: rgb(255 255 255 / 0.3);
}

.hover\:bg-yellow-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}

.hover\:bg-yellow-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(161 98 7 / var(--tw-bg-opacity, 1));
}

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

.hover\:from-blue-50:hover{
  --tw-gradient-from: #eff6ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-blue-700:hover{
  --tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(29 78 216 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-emerald-600:hover{
  --tw-gradient-from: #059669 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 150 105 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-emerald-700:hover{
  --tw-gradient-from: #047857 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(4 120 87 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-slate-700:hover{
  --tw-gradient-from: #334155 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(51 65 85 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-violet-700:hover{
  --tw-gradient-from: #6d28d9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(109 40 217 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:to-blue-800:hover{
  --tw-gradient-to: #1e40af var(--tw-gradient-to-position);
}

.hover\:to-emerald-700:hover{
  --tw-gradient-to: #047857 var(--tw-gradient-to-position);
}

.hover\:to-green-700:hover{
  --tw-gradient-to: #15803d var(--tw-gradient-to-position);
}

.hover\:to-purple-50\/30:hover{
  --tw-gradient-to: rgb(250 245 255 / 0.3) var(--tw-gradient-to-position);
}

.hover\:to-purple-700:hover{
  --tw-gradient-to: #7e22ce var(--tw-gradient-to-position);
}

.hover\:to-slate-100:hover{
  --tw-gradient-to: #f1f5f9 var(--tw-gradient-to-position);
}

.hover\:to-slate-800:hover{
  --tw-gradient-to: #1e293b var(--tw-gradient-to-position);
}

.hover\:text-blue-600:hover{
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-700:hover{
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-800:hover{
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-900:hover{
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}

.hover\:text-emerald-600:hover{
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}

.hover\:text-emerald-700:hover{
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-300:hover{
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-600:hover{
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-700:hover{
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-900:hover{
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.hover\:text-green-700:hover{
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.hover\:text-green-900:hover{
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity, 1));
}

.hover\:text-indigo-600:hover{
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.hover\:text-indigo-900:hover{
  --tw-text-opacity: 1;
  color: rgb(49 46 129 / var(--tw-text-opacity, 1));
}

.hover\:text-neutral-200:hover{
  --tw-text-opacity: 1;
  color: rgb(229 229 229 / var(--tw-text-opacity, 1));
}

.hover\:text-neutral-400:hover{
  --tw-text-opacity: 1;
  color: rgb(163 163 163 / var(--tw-text-opacity, 1));
}

.hover\:text-neutral-500:hover{
  --tw-text-opacity: 1;
  color: rgb(115 115 115 / var(--tw-text-opacity, 1));
}

.hover\:text-neutral-600:hover{
  --tw-text-opacity: 1;
  color: rgb(82 82 82 / var(--tw-text-opacity, 1));
}

.hover\:text-neutral-700:hover{
  --tw-text-opacity: 1;
  color: rgb(64 64 64 / var(--tw-text-opacity, 1));
}

.hover\:text-neutral-900:hover{
  --tw-text-opacity: 1;
  color: rgb(23 23 23 / var(--tw-text-opacity, 1));
}

.hover\:text-red-500:hover{
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.hover\:text-red-600:hover{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.hover\:text-red-700:hover{
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.hover\:text-red-800:hover{
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.hover\:text-red-900:hover{
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-600:hover{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-700:hover{
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-800:hover{
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-900:hover{
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.hover\:text-violet-700:hover{
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:underline:hover{
  text-decoration-line: underline;
}

.hover\:opacity-100:hover{
  opacity: 1;
}

.hover\:opacity-80:hover{
  opacity: 0.8;
}

.hover\:shadow:hover{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-2xl:hover{
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-lg:hover{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-md:hover{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-sm:hover{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-xl:hover{
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-amber-500\/10:hover{
  --tw-shadow-color: rgb(245 158 11 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-blue-500\/10:hover{
  --tw-shadow-color: rgb(59 130 246 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-blue-500\/25:hover{
  --tw-shadow-color: rgb(59 130 246 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-emerald-500\/10:hover{
  --tw-shadow-color: rgb(16 185 129 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-green-500\/10:hover{
  --tw-shadow-color: rgb(34 197 94 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-indigo-500\/10:hover{
  --tw-shadow-color: rgb(99 102 241 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-orange-500\/10:hover{
  --tw-shadow-color: rgb(249 115 22 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-purple-500\/10:hover{
  --tw-shadow-color: rgb(168 85 247 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-red-500\/25:hover{
  --tw-shadow-color: rgb(239 68 68 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-slate-500\/10:hover{
  --tw-shadow-color: rgb(100 116 139 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-yellow-500\/10:hover{
  --tw-shadow-color: rgb(234 179 8 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:grayscale-0:hover{
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.focus\:border-blue-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.focus\:border-red-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.focus\:border-slate-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(100 116 139 / var(--tw-border-opacity, 1));
}

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

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

.focus\:placeholder-slate-400:focus::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(148 163 184 / var(--tw-placeholder-opacity, 1));
}

.focus\:placeholder-slate-400:focus::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(148 163 184 / var(--tw-placeholder-opacity, 1));
}

.focus\:outline-none:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

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

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

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

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

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

.focus\:ring-inset:focus{
  --tw-ring-inset: inset;
}

.focus\:ring-blue-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}

.focus\:ring-blue-500\/20:focus{
  --tw-ring-color: rgb(59 130 246 / 0.2);
}

.focus\:ring-blue-600:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity, 1));
}

.focus\:ring-brand-green:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(41 204 134 / var(--tw-ring-opacity, 1));
}

.focus\:ring-emerald-200:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity, 1));
}

.focus\:ring-emerald-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity, 1));
}

.focus\:ring-gray-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1));
}

.focus\:ring-green-300:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(134 239 172 / var(--tw-ring-opacity, 1));
}

.focus\:ring-green-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1));
}

.focus\:ring-green-600:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(22 163 74 / var(--tw-ring-opacity, 1));
}

.focus\:ring-indigo-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-600:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(220 38 38 / var(--tw-ring-opacity, 1));
}

.focus\:ring-slate-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity, 1));
}

.focus\:ring-violet-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(139 92 246 / var(--tw-ring-opacity, 1));
}

.focus\:ring-yellow-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(234 179 8 / var(--tw-ring-opacity, 1));
}

.focus\:ring-offset-2:focus{
  --tw-ring-offset-width: 2px;
}

.active\:scale-95:active{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), 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));
}

.active\:scale-\[0\.97\]:active{
  --tw-scale-x: 0.97;
  --tw-scale-y: 0.97;
  transform: translate(var(--tw-translate-x), 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));
}

.active\:bg-blue-800:active{
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}

.disabled\:scale-100:disabled{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), 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));
}

.disabled\:transform-none:disabled{
  transform: none;
}

.disabled\:cursor-not-allowed:disabled{
  cursor: not-allowed;
}

.disabled\:bg-blue-400:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-gray-50:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-slate-300:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-slate-50:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.disabled\:from-slate-400:disabled{
  --tw-gradient-from: #94a3b8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(148 163 184 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.disabled\:to-slate-500:disabled{
  --tw-gradient-to: #64748b var(--tw-gradient-to-position);
}

.disabled\:text-slate-500:disabled{
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.disabled\:opacity-40:disabled{
  opacity: 0.4;
}

.disabled\:opacity-50:disabled{
  opacity: 0.5;
}

.disabled\:shadow-md:disabled{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.disabled\:hover\:scale-100:hover:disabled{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), 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));
}

.disabled\:hover\:bg-blue-600:hover:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.disabled\:hover\:bg-gray-100:hover:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:visible{
  visibility: visible;
}

.group\/link:hover .group-hover\/link\:translate-x-0\.5{
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), 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));
}

.group\/link:hover .group-hover\/link\:translate-x-1{
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), 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));
}

.group:hover .group-hover\:translate-x-0\.5{
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), 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));
}

.group:hover .group-hover\:translate-x-1{
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), 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));
}

.group:hover .group-hover\:translate-x-2{
  --tw-translate-x: 0.5rem;
  transform: translate(var(--tw-translate-x), 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));
}

.group:hover .group-hover\:translate-x-\[100\%\]{
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), 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));
}

.group:hover .group-hover\:translate-x-full{
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), 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));
}

.group:hover .group-hover\:rotate-12{
  --tw-rotate: 12deg;
  transform: translate(var(--tw-translate-x), 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));
}

.group:hover .group-hover\:rotate-6{
  --tw-rotate: 6deg;
  transform: translate(var(--tw-translate-x), 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));
}

.group:hover .group-hover\:scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), 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));
}

.group:hover .group-hover\:scale-110{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), 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));
}

.group:hover .group-hover\:scale-125{
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
  transform: translate(var(--tw-translate-x), 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));
}

@keyframes pulse{

  50%{
    opacity: .5;
  }
}

.group:hover .group-hover\:animate-pulse{
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.group:hover .group-hover\:border-blue-200{
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}

.group:hover .group-hover\:border-neutral-200{
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity, 1));
}

.group:hover .group-hover\:bg-blue-100{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-blue-200{
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-blue-50{
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-brand-green{
  --tw-bg-opacity: 1;
  background-color: rgb(41 204 134 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-red-500{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-slate-200{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-slate-300{
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:from-emerald-100{
  --tw-gradient-from: #d1fae5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(209 250 229 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.group:hover .group-hover\:from-green-100{
  --tw-gradient-from: #dcfce7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(220 252 231 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.group:hover .group-hover\:to-emerald-100{
  --tw-gradient-to: #d1fae5 var(--tw-gradient-to-position);
}

.group:hover .group-hover\:to-green-100{
  --tw-gradient-to: #dcfce7 var(--tw-gradient-to-position);
}

.group:hover .group-hover\:text-amber-500{
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-amber-600{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-blue-500{
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-blue-600{
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-blue-700{
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-emerald-500{
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-emerald-600{
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-green-500{
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-green-600{
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-indigo-500{
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-indigo-600{
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-orange-500{
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-orange-600{
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-purple-500{
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-purple-600{
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-red-600{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-slate-600{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-slate-700{
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-slate-800{
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-slate-900{
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-yellow-600{
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:underline{
  text-decoration-line: underline;
}

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

.group:hover .group-hover\:opacity-20{
  opacity: 0.2;
}

.group:hover .group-hover\:opacity-30{
  opacity: 0.3;
}

.group:hover .group-hover\:opacity-5{
  opacity: 0.05;
}

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

.group:hover .group-hover\:opacity-80{
  opacity: 0.8;
}

.group:hover .group-hover\:shadow-lg{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.group:hover .group-hover\:animate-gentle-pulse {
    animation: gentle-pulse 2s ease-in-out infinite;
  }

.peer:checked ~ .peer-checked\:bg-blue-600{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .peer-checked\:bg-brand-green{
  --tw-bg-opacity: 1;
  background-color: rgb(41 204 134 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .peer-checked\:after\:translate-x-full::after{
  content: var(--tw-content);
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), 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));
}

.peer:checked ~ .peer-checked\:after\:border-white::after{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.peer:focus ~ .peer-focus\:outline-none{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.peer:focus ~ .peer-focus\: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);
}

.peer:focus ~ .peer-focus\:ring-blue-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1));
}

@media (min-width: 640px){

  .sm\:inset-2{
    inset: 0.5rem;
  }

  .sm\:left-3{
    left: 0.75rem;
  }

  .sm\:right-2{
    right: 0.5rem;
  }

  .sm\:order-1{
    order: 1;
  }

  .sm\:order-2{
    order: 2;
  }

  .sm\:col-span-2{
    grid-column: span 2 / span 2;
  }

  .sm\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  .sm\:my-8{
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .sm\:mb-2{
    margin-bottom: 0.5rem;
  }

  .sm\:mb-3{
    margin-bottom: 0.75rem;
  }

  .sm\:mb-4{
    margin-bottom: 1rem;
  }

  .sm\:mb-6{
    margin-bottom: 1.5rem;
  }

  .sm\:mb-8{
    margin-bottom: 2rem;
  }

  .sm\:ml-2{
    margin-left: 0.5rem;
  }

  .sm\:ml-3{
    margin-left: 0.75rem;
  }

  .sm\:ml-64{
    margin-left: 16rem;
  }

  .sm\:mr-2{
    margin-right: 0.5rem;
  }

  .sm\:mt-0{
    margin-top: 0px;
  }

  .sm\:mt-4{
    margin-top: 1rem;
  }

  .sm\:mt-6{
    margin-top: 1.5rem;
  }

  .sm\:line-clamp-1{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }

  .sm\:line-clamp-none{
    overflow: visible;
    display: block;
    -webkit-box-orient: horizontal;
    -webkit-line-clamp: none;
  }

  .sm\:block{
    display: block;
  }

  .sm\:inline-block{
    display: inline-block;
  }

  .sm\:inline{
    display: inline;
  }

  .sm\:flex{
    display: flex;
  }

  .sm\:hidden{
    display: none;
  }

  .sm\:h-12{
    height: 3rem;
  }

  .sm\:h-16{
    height: 4rem;
  }

  .sm\:h-2{
    height: 0.5rem;
  }

  .sm\:h-24{
    height: 6rem;
  }

  .sm\:h-4{
    height: 1rem;
  }

  .sm\:h-52{
    height: 13rem;
  }

  .sm\:h-6{
    height: 1.5rem;
  }

  .sm\:h-8{
    height: 2rem;
  }

  .sm\:h-9{
    height: 2.25rem;
  }

  .sm\:h-\[540px\]{
    height: 540px;
  }

  .sm\:h-screen{
    height: 100vh;
  }

  .sm\:min-h-\[120px\]{
    min-height: 120px;
  }

  .sm\:min-h-\[200px\]{
    min-height: 200px;
  }

  .sm\:w-1\/2{
    width: 50%;
  }

  .sm\:w-1\/3{
    width: 33.333333%;
  }

  .sm\:w-12{
    width: 3rem;
  }

  .sm\:w-16{
    width: 4rem;
  }

  .sm\:w-2{
    width: 0.5rem;
  }

  .sm\:w-24{
    width: 6rem;
  }

  .sm\:w-4{
    width: 1rem;
  }

  .sm\:w-6{
    width: 1.5rem;
  }

  .sm\:w-8{
    width: 2rem;
  }

  .sm\:w-9{
    width: 2.25rem;
  }

  .sm\:w-auto{
    width: auto;
  }

  .sm\:w-full{
    width: 100%;
  }

  .sm\:max-w-lg{
    max-width: 32rem;
  }

  .sm\:max-w-md{
    max-width: 28rem;
  }

  .sm\:flex-initial{
    flex: 0 1 auto;
  }

  .sm\:flex-none{
    flex: none;
  }

  .sm\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:flex-row{
    flex-direction: row;
  }

  .sm\:flex-row-reverse{
    flex-direction: row-reverse;
  }

  .sm\:items-start{
    align-items: flex-start;
  }

  .sm\:items-center{
    align-items: center;
  }

  .sm\:items-baseline{
    align-items: baseline;
  }

  .sm\:justify-start{
    justify-content: flex-start;
  }

  .sm\:justify-end{
    justify-content: flex-end;
  }

  .sm\:justify-between{
    justify-content: space-between;
  }

  .sm\:gap-0{
    gap: 0px;
  }

  .sm\:gap-2{
    gap: 0.5rem;
  }

  .sm\:gap-3{
    gap: 0.75rem;
  }

  .sm\:gap-4{
    gap: 1rem;
  }

  .sm\:gap-6{
    gap: 1.5rem;
  }

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

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

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

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

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

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

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

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

  .sm\:rounded-xl{
    border-radius: 0.75rem;
  }

  .sm\:p-0{
    padding: 0px;
  }

  .sm\:p-1{
    padding: 0.25rem;
  }

  .sm\:p-2{
    padding: 0.5rem;
  }

  .sm\:p-3{
    padding: 0.75rem;
  }

  .sm\:p-4{
    padding: 1rem;
  }

  .sm\:p-6{
    padding: 1.5rem;
  }

  .sm\:p-8{
    padding: 2rem;
  }

  .sm\:px-0{
    padding-left: 0px;
    padding-right: 0px;
  }

  .sm\:px-1\.5{
    padding-left: 0.375rem;
    padding-right: 0.375rem;
  }

  .sm\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .sm\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .sm\:px-2\.5{
    padding-left: 0.625rem;
    padding-right: 0.625rem;
  }

  .sm\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .sm\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sm\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:py-0{
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .sm\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .sm\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .sm\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .sm\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .sm\:py-2\.5{
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }

  .sm\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .sm\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .sm\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .sm\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .sm\:pb-16{
    padding-bottom: 4rem;
  }

  .sm\:pb-4{
    padding-bottom: 1rem;
  }

  .sm\:pl-10{
    padding-left: 2.5rem;
  }

  .sm\:pl-4{
    padding-left: 1rem;
  }

  .sm\:pr-12{
    padding-right: 3rem;
  }

  .sm\:pr-16{
    padding-right: 4rem;
  }

  .sm\:pr-2{
    padding-right: 0.5rem;
  }

  .sm\:pt-24{
    padding-top: 6rem;
  }

  .sm\:text-left{
    text-align: left;
  }

  .sm\:text-center{
    text-align: center;
  }

  .sm\:text-right{
    text-align: right;
  }

  .sm\:align-middle{
    vertical-align: middle;
  }

  .sm\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .sm\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .sm\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

  .sm\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .sm\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .sm\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .sm\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

@media (min-width: 768px){

  .md\:left-4{
    left: 1rem;
  }

  .md\:right-0{
    right: 0px;
  }

  .md\:right-4{
    right: 1rem;
  }

  .md\:col-span-2{
    grid-column: span 2 / span 2;
  }

  .md\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }

  .md\:mb-8{
    margin-bottom: 2rem;
  }

  .md\:ml-2{
    margin-left: 0.5rem;
  }

  .md\:mr-2{
    margin-right: 0.5rem;
  }

  .md\:block{
    display: block;
  }

  .md\:inline{
    display: inline;
  }

  .md\:hidden{
    display: none;
  }

  .md\:h-44{
    height: 11rem;
  }

  .md\:w-1\/2{
    width: 50%;
  }

  .md\:w-1\/3{
    width: 33.333333%;
  }

  .md\:w-2\/3{
    width: 66.666667%;
  }

  .md\:w-3\/4{
    width: 75%;
  }

  .md\:w-80{
    width: 20rem;
  }

  .md\:w-\[200px\]{
    width: 200px;
  }

  .md\:w-\[60\%\]{
    width: 60%;
  }

  .md\:max-w-2xl{
    max-width: 42rem;
  }

  .md\:max-w-3xl{
    max-width: 48rem;
  }

  .md\:max-w-lg{
    max-width: 32rem;
  }

  .md\:max-w-none{
    max-width: none;
  }

  .md\:max-w-xl{
    max-width: 36rem;
  }

  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .md\:flex-row{
    flex-direction: row;
  }

  .md\:flex-row-reverse{
    flex-direction: row-reverse;
  }

  .md\:items-start{
    align-items: flex-start;
  }

  .md\:items-center{
    align-items: center;
  }

  .md\:justify-start{
    justify-content: flex-start;
  }

  .md\:justify-end{
    justify-content: flex-end;
  }

  .md\:justify-between{
    justify-content: space-between;
  }

  .md\:gap-3{
    gap: 0.75rem;
  }

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

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

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

  .md\:p-12{
    padding: 3rem;
  }

  .md\:p-5{
    padding: 1.25rem;
  }

  .md\:p-6{
    padding: 1.5rem;
  }

  .md\:p-8{
    padding: 2rem;
  }

  .md\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .md\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .md\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .md\:pl-12{
    padding-left: 3rem;
  }

  .md\:pr-24{
    padding-right: 6rem;
  }

  .md\:text-left{
    text-align: left;
  }

  .md\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .md\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .md\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .md\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .md\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1024px){

  .lg\:col-span-1{
    grid-column: span 1 / span 1;
  }

  .lg\:col-span-2{
    grid-column: span 2 / span 2;
  }

  .lg\:col-span-3{
    grid-column: span 3 / span 3;
  }

  .lg\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }

  .lg\:ml-0{
    margin-left: 0px;
  }

  .lg\:ml-16{
    margin-left: 4rem;
  }

  .lg\:ml-64{
    margin-left: 16rem;
  }

  .lg\:ml-\[15rem\]{
    margin-left: 15rem;
  }

  .lg\:ml-\[18rem\]{
    margin-left: 18rem;
  }

  .lg\:mt-0{
    margin-top: 0px;
  }

  .lg\:mt-6{
    margin-top: 1.5rem;
  }

  .lg\:mt-\[55px\]{
    margin-top: 55px;
  }

  .lg\:mt-\[65px\]{
    margin-top: 65px;
  }

  .lg\:block{
    display: block;
  }

  .lg\:flex{
    display: flex;
  }

  .lg\:hidden{
    display: none;
  }

  .lg\:h-\[520px\]{
    height: 520px;
  }

  .lg\:h-\[60px\]{
    height: 60px;
  }

  .lg\:w-1\/2{
    width: 50%;
  }

  .lg\:w-1\/3{
    width: 33.333333%;
  }

  .lg\:w-1\/4{
    width: 25%;
  }

  .lg\:w-1\/5{
    width: 20%;
  }

  .lg\:w-1\/6{
    width: 16.666667%;
  }

  .lg\:w-10\/12{
    width: 83.333333%;
  }

  .lg\:w-2\/3{
    width: 66.666667%;
  }

  .lg\:w-2\/5{
    width: 40%;
  }

  .lg\:w-3\/4{
    width: 75%;
  }

  .lg\:w-3\/5{
    width: 60%;
  }

  .lg\:w-40{
    width: 10rem;
  }

  .lg\:w-48{
    width: 12rem;
  }

  .lg\:w-6\/12{
    width: 50%;
  }

  .lg\:w-64{
    width: 16rem;
  }

  .lg\:w-8\/12{
    width: 66.666667%;
  }

  .lg\:w-\[80\%\]{
    width: 80%;
  }

  .lg\:w-auto{
    width: auto;
  }

  .lg\:w-full{
    width: 100%;
  }

  .lg\:max-w-2xl{
    max-width: 42rem;
  }

  .lg\:flex-shrink-0{
    flex-shrink: 0;
  }

  .lg\:translate-x-0{
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), 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));
  }

  .lg\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .lg\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .lg\:flex-row{
    flex-direction: row;
  }

  .lg\:flex-col{
    flex-direction: column;
  }

  .lg\:flex-nowrap{
    flex-wrap: nowrap;
  }

  .lg\:items-start{
    align-items: flex-start;
  }

  .lg\:items-end{
    align-items: flex-end;
  }

  .lg\:items-center{
    align-items: center;
  }

  .lg\:justify-start{
    justify-content: flex-start;
  }

  .lg\:justify-between{
    justify-content: space-between;
  }

  .lg\:gap-12{
    gap: 3rem;
  }

  .lg\:gap-2{
    gap: 0.5rem;
  }

  .lg\:gap-24{
    gap: 6rem;
  }

  .lg\:gap-4{
    gap: 1rem;
  }

  .lg\:gap-x-6{
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }

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

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

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

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

  .lg\:rounded-tl-3xl{
    border-top-left-radius: 1.5rem;
  }

  .lg\:rounded-tr-3xl{
    border-top-right-radius: 1.5rem;
  }

  .lg\:border-t-0{
    border-top-width: 0px;
  }

  .lg\:p-10{
    padding: 2.5rem;
  }

  .lg\:p-12{
    padding: 3rem;
  }

  .lg\:p-3{
    padding: 0.75rem;
  }

  .lg\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .lg\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .lg\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .lg\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  .lg\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .lg\:px-7{
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .lg\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .lg\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .lg\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .lg\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .lg\:pb-20{
    padding-bottom: 5rem;
  }

  .lg\:pl-2{
    padding-left: 0.5rem;
  }

  .lg\:pl-20{
    padding-left: 5rem;
  }

  .lg\:pl-4{
    padding-left: 1rem;
  }

  .lg\:pl-5{
    padding-left: 1.25rem;
  }

  .lg\:pl-6{
    padding-left: 1.5rem;
  }

  .lg\:pr-2{
    padding-right: 0.5rem;
  }

  .lg\:pr-5{
    padding-right: 1.25rem;
  }

  .lg\:pt-32{
    padding-top: 8rem;
  }

  .lg\:text-left{
    text-align: left;
  }

  .lg\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .lg\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .lg\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .lg\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .lg\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .lg\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

  .lg\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1280px){

  .xl\:col-span-3{
    grid-column: span 3 / span 3;
  }

  .xl\:col-span-4{
    grid-column: span 4 / span 4;
  }

  .xl\:ml-12{
    margin-left: 3rem;
  }

  .xl\:ml-\[16\.5rem\]{
    margin-left: 16.5rem;
  }

  .xl\:mr-10{
    margin-right: 2.5rem;
  }

  .xl\:block{
    display: block;
  }

  .xl\:flex{
    display: flex;
  }

  .xl\:hidden{
    display: none;
  }

  .xl\:h-\[50px\]{
    height: 50px;
  }

  .xl\:w-1\/2{
    width: 50%;
  }

  .xl\:w-1\/4{
    width: 25%;
  }

  .xl\:w-auto{
    width: auto;
  }

  .xl\:max-w-3xl{
    max-width: 48rem;
  }

  .xl\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .xl\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .xl\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .xl\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .xl\:flex-col{
    flex-direction: column;
  }

  .xl\:gap-20{
    gap: 5rem;
  }

  .xl\:gap-x-12{
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }

  .xl\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .xl\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .xl\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .xl\:pl-4{
    padding-left: 1rem;
  }

  .xl\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .xl\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1536px){

  .\32xl\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }
}

@media (prefers-color-scheme: dark){

  .dark\:border-gray-600{
    --tw-border-opacity: 1;
    border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  }

  .dark\:bg-gray-700{
    --tw-bg-opacity: 1;
    background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  }
}

/*!***********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/swagger-ui-custom.css ***!
  \***********************************************************************************************************************************************************************************************************/
/* ==========================================================================
   ConvertMate API Platform - Custom Swagger UI Styles
   Based on UI/UX Guidelines - Modern Minimalism
   ========================================================================== */

/* Additional custom styles that can be loaded via Webpack */
.swagger-ui .topbar {
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    border-bottom: 2px solid #475569;
}

.swagger-ui .topbar .download-url-wrapper {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.swagger-ui .topbar .download-url-wrapper .select-label {
    color: #e2e8f0;
    font-size: 0.875rem;
    font-weight: 500;
}

.swagger-ui .topbar .download-url-wrapper .download-url-input {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
}

.swagger-ui .topbar .download-url-wrapper .download-url-input:focus {
    outline: none;
    background: rgba(255, 255, 255, 0.2);
    border-color: #60a5fa;
    box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.2);
}

.swagger-ui .topbar .download-url-wrapper .download-url-button {
    background: #2563eb;
    color: white;
    border: none;
    border-radius: 6px;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.swagger-ui .topbar .download-url-wrapper .download-url-button:hover {
    background: #1d4ed8;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Enhanced status code colors */
.swagger-ui .response-col_status .response-undocumented {
    color: #64748b;
    font-weight: 500;
}

.swagger-ui .response-col_status .response-undocumented code {
    background: #f1f5f9;
    color: #475569;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    border: 1px solid #e2e8f0;
}

/* Success status codes (2xx) */
.swagger-ui .response-col_status code[class*="200"],
.swagger-ui .response-col_status code[class*="201"],
.swagger-ui .response-col_status code[class*="202"],
.swagger-ui .response-col_status code[class*="204"] {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #bbf7d0;
}

/* Client error status codes (4xx) */
.swagger-ui .response-col_status code[class*="400"],
.swagger-ui .response-col_status code[class*="401"],
.swagger-ui .response-col_status code[class*="403"],
.swagger-ui .response-col_status code[class*="404"],
.swagger-ui .response-col_status code[class*="422"] {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

/* Server error status codes (5xx) */
.swagger-ui .response-col_status code[class*="500"],
.swagger-ui .response-col_status code[class*="502"],
.swagger-ui .response-col_status code[class*="503"] {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
}

/* Enhanced loading states */
.swagger-ui .loading-container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

.swagger-ui .loading-container .loading {
    color: #64748b;
    font-size: 1rem;
    font-weight: 500;
    position: relative;
}

.swagger-ui .loading-container .loading::after {
    content: "";
    position: absolute;
    right: -24px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: 2px solid #e2e8f0;
    border-top-color: #2563eb;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: translateY(-50%) rotate(0deg); }
    100% { transform: translateY(-50%) rotate(360deg); }
}

/* Error states */
.swagger-ui .errors-wrapper {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 1rem;
    margin: 1rem 0;
}

.swagger-ui .errors-wrapper h4 {
    color: #991b1b;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.swagger-ui .errors-wrapper .error-wrapper {
    color: #7f1d1d;
    font-size: 0.875rem;
    line-height: 1.5;
}

/* Enhanced scrollbars for webkit browsers */
.swagger-ui ::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.swagger-ui ::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 3px;
}

.swagger-ui ::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}

.swagger-ui ::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Dark mode support for system preference */
@media (prefers-color-scheme: dark) {
    .swagger-ui {
        /* Only apply if no explicit theme is set */
        color-scheme: dark;
    }
}

/* Enhanced focus indicators for better accessibility */
.swagger-ui .btn:focus-visible,
.swagger-ui input:focus-visible,
.swagger-ui textarea:focus-visible,
.swagger-ui select:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

/* Improved table styling for responses */
.swagger-ui table {
    border-collapse: collapse;
    width: 100%;
    margin: 1rem 0;
    background: white;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.swagger-ui table th {
    background: #f8fafc;
    color: #374151;
    font-weight: 600;
    text-align: left;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.875rem;
}

.swagger-ui table td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.875rem;
    vertical-align: top;
}

.swagger-ui table tr:last-child td {
    border-bottom: none;
}

.swagger-ui table tr:hover {
    background: #f8fafc;
}

/* Print styles */
@media print {
    .swagger-ui .topbar,
    .swagger-ui .try-out,
    .swagger-ui .btn,
    .swagger-ui .curl,
    .swagger-ui .download-url-wrapper {
        display: none !important;
    }
    
    .swagger-ui {
        background: white !important;
        color: black !important;
    }
    
    .swagger-ui .opblock {
        page-break-inside: avoid;
        border: 1px solid #ccc !important;
    }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsYUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGtCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7Ozs7Ozs7Ozs7RUFBQSxTQUFjO0FBQUE7O0FBQWQ7RUFBQSxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOzs7RUFBQSxnQkFBYztFQUFkLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsZUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7Ozs7O0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxlQUFjO0VBQWQsWUFBYztBQUFBOztBQUFkLHdFQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkLHNCQUFjOztBQUFkO0lBQUEseUZBQWM7RUFBQTs7QUFBZCx1Q0FBYzs7QUFBZCxxQkFBYzs7QUFBZDtFQUFBLGtCQUFjO0VBQWQsNERBQWM7RUFBZCxvQkFBYztFQUFkLGdEQUFjO0VBQWQsbUNBQWM7RUFBZCxrQ0FBYztJQUFkO0FBQWM7O0FBQWQscUJBQWM7O0FBQWQ7RUFBQSxnQkFBYztFQUFkLGlCQUFjO0VBQWQsb0JBQWM7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QUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsU0FBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxRQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxnQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxnQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxnQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxnQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxnQkFBbUI7RUFBbkIsb0JBQW1CO0VBQW5CLDRCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGdCQUFtQjtFQUFuQixvQkFBbUI7RUFBbkIsNEJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsZ0JBQW1CO0VBQW5CLG9CQUFtQjtFQUFuQiw0QkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSx3QkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLDRCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLDJCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMkJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEseUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEseUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsd0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEseUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsd0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMEJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsd0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsd0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsZUFBbUI7RUFBbkIsZUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxlQUFtQjtFQUFuQixlQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQixpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxnQkFBbUI7RUFBbkIsZ0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQixrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxlQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5COztFQUFBO0lBQUE7RUFBbUI7QUFBQTtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5COztFQUFBO0lBQUEsMkJBQW1CO0lBQW5CO0VBQW1COztFQUFuQjtJQUFBLGVBQW1CO0lBQW5CO0VBQW1CO0FBQUE7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjs7RUFBQTtJQUFBLG1CQUFtQjtJQUFuQjtFQUFtQjtBQUFBO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7O0VBQUE7SUFBQTtFQUFtQjtBQUFBO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7O0VBQUE7SUFBQTtFQUFtQjtBQUFBO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsd0JBQW1CO0tBQW5CLHFCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSx3QkFBbUI7S0FBbkIscUJBQW1CO1VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtPQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHdCQUFtQjtPQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtPQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHdCQUFtQjtPQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQix1REFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsdURBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CLHdEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQixzREFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsdURBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CLG9EQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQix1REFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsc0RBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CLG9EQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQiwyREFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsZ0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CLCtEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQiw0REFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsNERBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CLDhEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQiwrREFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsNERBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CLCtEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQiw4REFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsNERBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsd0JBQW1CO0VBQW5CLGtFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxnQkFBbUI7RUFBbkIsdUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxvQ0FBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxnQ0FBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxnQ0FBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixvRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIsb0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUVBQW1CO0VBQW5CLCtEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFFQUFtQjtFQUFuQiwrREFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMkVBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJFQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMkVBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDRFQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwyRUFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLG9FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDBFQUFtQjtFQUFuQixvRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwyRUFBbUI7RUFBbkIsb0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMEVBQW1CO0VBQW5CLG9FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJFQUFtQjtFQUFuQixvRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMkVBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJFQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwyRUFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMkVBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixvRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwwRUFBbUI7RUFBbkIsb0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMEVBQW1CO0VBQW5CLG9FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDBFQUFtQjtFQUFuQixvRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIsbUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEseUVBQW1CO0VBQW5CLG1FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixtRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIsb0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJFQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwyRUFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJFQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwyRUFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNEVBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixvRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwwRUFBbUI7RUFBbkIsb0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJFQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwyRUFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLG9FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDBFQUFtQjtFQUFuQixvRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwwRUFBbUI7RUFBbkIsb0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLG1FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIsb0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMEVBQW1CO0VBQW5CLG9FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIsbUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLG1FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwyRUFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNEVBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIsb0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJFQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwyRUFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixvRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMkVBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJFQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIsb0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixvRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwwRUFBbUI7RUFBbkIsb0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJFQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwyRUFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDRFQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwyRUFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJFQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0RUFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJFQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwyRUFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLG9FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDBFQUFtQjtFQUFuQixvRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIsb0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMkVBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwyRUFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLG1FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDBFQUFtQjtFQUFuQixtRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJFQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMkVBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIsbUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLGtFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIsb0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsZ0VBQW1CO0VBQW5CLCtEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMkVBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixxRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIsb0VBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMEVBQW1CO0VBQW5CLG9FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixvRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSx5REFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDREQUFtQjtFQUFuQixvRUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0REFBbUI7RUFBbkIscUVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNERBQW1CO0VBQW5CLG1FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1FQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGdFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSw2QkFBbUI7VUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7S0FBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7S0FBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxlQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG1DQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FB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QXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLGtCQW84R0E7RUFwOEdBLGtCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQTtBQW84R0E7O0FBcDhHQTtFQUFBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQTtBQW84R0E7O0FBcDhHQTtFQUFBLHNCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsc0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQTtBQW84R0E7O0FBcDhHQTtFQUFBLHNCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsc0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxzQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLHNCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsc0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxzQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBO0FBbzhHQTs7QUFwOEdBO0VBQUEsc0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxzQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQTtBQW84R0E7O0FBcDhHQTtFQUFBLHNCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQSxzQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLHNCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQSxzQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLHNCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsc0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQTtBQW84R0E7O0FBcDhHQTtFQUFBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLGtCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLGtCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLGtCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLGtCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLGtCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLGtCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLGtCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLGtCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLGtCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLGtCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQTtBQW84R0E7O0FBcDhHQTtFQUFBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBO0FBbzhHQTs7QUFwOEdBO0VBQUEsNERBbzhHQTtFQXA4R0EscUVBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSw0REFvOEdBO0VBcDhHQSxtRUFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLDREQW84R0E7RUFwOEdBLG1FQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsNERBbzhHQTtFQXA4R0Esa0VBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSw0REFvOEdBO0VBcDhHQSxrRUFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLDREQW84R0E7RUFwOEdBLG9FQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQTtBQW84R0E7O0FBcDhHQTtFQUFBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQTtBQW84R0E7O0FBcDhHQTtFQUFBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFv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O0FBcDhHQTtFQUFBLGtCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLGtCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSw0REFvOEdBO0VBcDhHQSxxRUFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLDREQW84R0E7RUFwOEdBLHFFQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxvQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLG9CQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQTtBQW84R0E7O0FBcDhHQTtFQUFBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQTtBQW84R0E7O0FBcDhHQTtFQUFBO0FBbzhHQTs7QUFwOEdBO0VBQUE7QUFvOEdBOztBQXA4R0E7RUFBQSwrRUFvOEdBO0VBcDhHQSxtR0FvOEdBO0VBcDhHQTtBQW84R0E7O0FBL2xDRTtJQUNFLCtDQUErQztFQUNqRDs7QUF2MkVGO0VBQUEsa0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSxrQkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLDBCQW84R0E7RUFwOEdBLHNCQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsMEJBbzhHQTtFQXA4R0Esc0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7RUFBQSw4QkFvOEdBO0VBcDhHQTtBQW84R0E7O0FBcDhHQTtFQUFBLDJHQW84R0E7RUFwOEdBLHlHQW84R0E7RUFwOEdBO0FBbzhHQTs7QUFwOEdBO0VBQUEsb0JBbzhHQTtFQXA4R0E7QUFvOEdBOztBQXA4R0E7O0VBQUE7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQSxtQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGdCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUEsZ0JBbzhHQTtJQXA4R0Esb0JBbzhHQTtJQXA4R0EsNEJBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxpQkFvOEdBO0lBcDhHQSxjQW84R0E7SUFwOEdBLDhCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQSx1QkFvOEdBO0lBcDhHQSxzREFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLHVCQW84R0E7SUFwOEdBLHVEQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsdUJBbzhHQTtJQXA4R0Esb0RBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSx1QkFvOEdBO0lBcDhHQSxzREFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLHVCQW84R0E7SUFwOEdBLDJEQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsdUJBbzhHQTtJQXA4R0EsK0RBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSx1QkFvOEdBO0lBcDhHQSwrREFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLHVCQW84R0E7SUFwOEdBLDhEQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBLGlCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsc0JBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxrQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLG9CQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsc0JBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxxQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGtCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsb0JBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxrQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGdCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsb0JBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxtQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGlCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsbUJBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxxQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLG9CQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsaUJBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxtQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGlCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUEsaUJBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxtQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGtCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsZUFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGtCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsaUJBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxlQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsbUJBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxtQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGtCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsa0JBbzhHQTtJQXA4R0E7RUFvOEdBO0FBQUE7O0FBcDhHQTs7RUFBQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUEsZ0JBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBLHVCQW84R0E7SUFwOEdBLHVEQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsdUJBbzhHQTtJQXA4R0Esb0RBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSx1QkFvOEdBO0lBcDhHQSwyREFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUEsa0JBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxvQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGlCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUEsbUJBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxrQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGVBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxtQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGtCQW84R0E7SUFwOEdBO0VBbzhHQTtBQUFBOztBQXA4R0E7O0VBQUE7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQSxnQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUEscUJBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUEsdUJBbzhHQTtTQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSx1QkFvOEdBO0lBcDhHQSxzREFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLHVCQW84R0E7SUFwOEdBLHVEQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsdUJBbzhHQTtJQXA4R0Esc0RBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSx1QkFvOEdBO0lBcDhHQSwyREFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBLG9CQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsa0JBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxrQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGtCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsb0JBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxxQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGtCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsaUJBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxpQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGlCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsaUJBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBLGlCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsbUJBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxrQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGVBbzhHQTtJQXA4R0E7RUFvOEdBOztFQXA4R0E7SUFBQSxrQkFvOEdBO0lBcDhHQTtFQW84R0E7O0VBcDhHQTtJQUFBLGlCQW84R0E7SUFwOEdBO0VBbzhHQTs7RUFwOEdBO0lBQUEsa0JBbzhHQTtJQXA4R0E7RUFvOEdBO0FBQUE7O0FBcDhHQTs7RUFBQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4R0E7SUFBQTtFQW84R0E7O0VBcDhHQTtJQUFBO0VBbzhHQTs7RUFwOEdBO0lBQUE7RUFvOEdBOztFQXA4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LGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxtQkFBbUI7QUFDdkI7O0FBRUEsNENBQTRDO0FBQzVDO0lBQ0k7UUFDSSwyQ0FBMkM7UUFDM0Msa0JBQWtCO0lBQ3RCO0FBQ0o7O0FBRUEsdURBQXVEO0FBQ3ZEOzs7O0lBSUksMEJBQTBCO0lBQzFCLG1CQUFtQjtBQUN2Qjs7QUFFQSx5Q0FBeUM7QUFDekM7SUFDSSx5QkFBeUI7SUFDekIsV0FBVztJQUNYLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLGdDQUFnQztJQUNoQyxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsZ0NBQWdDO0lBQ2hDLG1CQUFtQjtJQUNuQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxtQkFBbUI7QUFDdkI7O0FBRUEsaUJBQWlCO0FBQ2pCO0lBQ0k7Ozs7O1FBS0ksd0JBQXdCO0lBQzVCOztJQUVBO1FBQ0ksNEJBQTRCO1FBQzVCLHVCQUF1QjtJQUMzQjs7SUFFQTtRQUNJLHdCQUF3QjtRQUN4QixpQ0FBaUM7SUFDckM7QUFDSixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hcHAuY3NzIiwid2VicGFjazovLy88bm8gc291cmNlPiIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3N3YWdnZXItdWktY3VzdG9tLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDMwMDs0MDA7NTAwOzYwMDs3MDAmZmFtaWx5PUludGVyK0Rpc3BsYXk6d2dodEA1MDA7NjAwOzcwMCZkaXNwbGF5PXN3YXAnKTtcclxuXHJcbkB0YWlsd2luZCBiYXNlO1xyXG5AdGFpbHdpbmQgY29tcG9uZW50cztcclxuQHRhaWx3aW5kIHV0aWxpdGllcztcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbnZlcnRNYXRlIEFnZW50aWMgQ29tbWVyY2UgLSBNb2Rlcm4gRGVzaWduIFN5c3RlbVxyXG4gICBCYXNlZCBvbiBVSS9VWCBHdWlkZWxpbmVzIHYzLjAgLSBNb2Rlcm4gTWluaW1hbGlzbVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogQmFzZSBMYXllciAtIFR5cG9ncmFwaHkgYW5kIEdsb2JhbCBTdHlsZXMgKi9cclxuQGxheWVyIGJhc2Uge1xyXG4gIC8qIEZvbnQgRmFtaWx5IFNldHVwICovXHJcbiAgaHRtbCB7XHJcbiAgICBmb250LWZhbWlseTogJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgc2Fucy1zZXJpZjtcclxuICB9XHJcbiAgXHJcbiAgLyogRGlzcGxheSBGb250IGZvciBNYXJrZXRpbmcvTGFuZGluZyAqL1xyXG4gIC5mb250LWRpc3BsYXkge1xyXG4gICAgZm9udC1mYW1pbHk6ICdJbnRlciBEaXNwbGF5JywgJ0ludGVyJywgc2Fucy1zZXJpZjtcclxuICB9XHJcbiAgXHJcbiAgLyogQm9keSBCYXNlIFN0eWxlcyAqL1xyXG4gIGJvZHkge1xyXG4gICAgQGFwcGx5IHRleHQtc2xhdGUtNzAwIGJnLXdoaXRlIGFudGlhbGlhc2VkO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNWVtO1xyXG4gIH1cclxuICBcclxuICAvKiBIZWFkaW5nIERlZmF1bHRzICovXHJcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgICBAYXBwbHkgdGV4dC1zbGF0ZS05MDAgZm9udC1zZW1pYm9sZCBsZWFkaW5nLXRpZ2h0O1xyXG4gIH1cclxuICBcclxuICAvKiBGb2N1cyBSaW5nIERlZmF1bHQgKi9cclxuICAqOmZvY3VzIHtcclxuICAgIEBhcHBseSBvdXRsaW5lLW5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFNtb290aCBTY3JvbGxpbmcgKi9cclxuICBodG1sIHtcclxuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG4gIH1cclxuICBcclxuICAvKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW5zICovXHJcbiAgKiB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLyogQ3VzdG9tIEFuaW1hdGlvbnMgZm9yIEFza0FueXRoaW5nIGFuZCBVcGdyYWRlUHJvbXB0ICovXHJcbkBsYXllciB1dGlsaXRpZXMge1xyXG4gIC8qIEZhZGUgYW5pbWF0aW9ucyAqL1xyXG4gIEBrZXlmcmFtZXMgZmFkZUluIHtcclxuICAgIGZyb20geyBvcGFjaXR5OiAwOyB9XHJcbiAgICB0byB7IG9wYWNpdHk6IDE7IH1cclxuICB9XHJcbiAgXHJcbiAgQGtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIEBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBAa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcclxuICAgIGZyb20ge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIFNsaWRlIGFuaW1hdGlvbnMgKi9cclxuICBAa2V5ZnJhbWVzIHNsaWRlVXAge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KSBzY2FsZSgwLjk1KTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBAa2V5ZnJhbWVzIHNsaWRlRG93biB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogU2hpbW1lciBlZmZlY3QgKi9cclxuICBAa2V5ZnJhbWVzIHNoaW1tZXIge1xyXG4gICAgMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwcHggMDsgfVxyXG4gICAgMTAwJSB7IGJhY2tncm91bmQtcG9zaXRpb246IDIwMHB4IDA7IH1cclxuICB9XHJcblxyXG4gIC8qIFByb2dyZXNzIGFuZCBzdGF0dXMgYW5pbWF0aW9ucyAqL1xyXG4gIEBrZXlmcmFtZXMgY2hlY2ttYXJrIHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyBvcGFjaXR5OiAwOyB9XHJcbiAgICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9XHJcbiAgfVxyXG4gIFxyXG4gIEBrZXlmcmFtZXMgc2hha2Uge1xyXG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cclxuICAgIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00cHgpOyB9XHJcbiAgICAyMCUsIDQwJSwgNjAlLCA4MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsgfVxyXG4gIH1cclxuXHJcbiAgLyogUGFydGljbGUgZmxvYXQgYW5pbWF0aW9uICovXHJcbiAgQGtleWZyYW1lcyBmbG9hdCB7XHJcbiAgICAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgwLjMpO1xyXG4gICAgfVxyXG4gICAgMzAlIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KSBzY2FsZSgwLjgpO1xyXG4gICAgfVxyXG4gICAgNzAlIHtcclxuICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpIHNjYWxlKDEpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjBweCkgc2NhbGUoMC4zKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qIENvbXBvbmVudCBMYXllciAtIFJldXNhYmxlIENvbXBvbmVudHMgKi9cclxuQGxheWVyIGNvbXBvbmVudHMge1xyXG4gIFxyXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgQnV0dG9uIENvbXBvbmVudHMgLSBGb2xsb3dpbmcgTmV3IEd1aWRlbGluZXNcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qIFByaW1hcnkgQnV0dG9uIC0gQmx1ZSAoU2FjcmVkIENvbG9yKSAqL1xyXG4gIC5idG4tcHJpbWFyeSB7XHJcbiAgICBAYXBwbHkgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHB4LTQgcHktMi41IGJnLWJsdWUtNjAwIHRleHQtd2hpdGUgdGV4dC1zbSBmb250LW1lZGl1bSByb3VuZGVkLWxnIFxyXG4gICAgICAgICAgIGhvdmVyOmJnLWJsdWUtNzAwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1vZmZzZXQtMiBcclxuICAgICAgICAgICBmb2N1czpyaW5nLWJsdWUtNTAwIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMCBcclxuICAgICAgICAgICBkaXNhYmxlZDpvcGFjaXR5LTUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZFxyXG4gICAgICAgICAgIGFjdGl2ZTpzY2FsZS1bMC45OF07XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFByaW1hcnkgQnV0dG9uIC0gTGFyZ2UgKE1vYmlsZSBGdWxsIFdpZHRoKSAqL1xyXG4gIC5idG4tcHJpbWFyeS1sZyB7XHJcbiAgICBAYXBwbHkgdy1mdWxsIHNtOnctYXV0byBweC00IHB5LTMgYmctYmx1ZS02MDAgdGV4dC13aGl0ZSB0ZXh0LWJhc2UgZm9udC1tZWRpdW0gXHJcbiAgICAgICAgICAgcm91bmRlZC1sZyBob3ZlcjpiZy1ibHVlLTcwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIFxyXG4gICAgICAgICAgIGZvY3VzOnJpbmctb2Zmc2V0LTIgZm9jdXM6cmluZy1ibHVlLTUwMCB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0yMDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFNlY29uZGFyeSBCdXR0b24gLSBXaGl0ZSB3aXRoIEJvcmRlciAqL1xyXG4gIC5idG4tc2Vjb25kYXJ5IHtcclxuICAgIEBhcHBseSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgcHgtNCBweS0yLjUgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1zbGF0ZS0zMDAgdGV4dC1zbGF0ZS03MDAgdGV4dC1zbSBcclxuICAgICAgICAgICBmb250LW1lZGl1bSByb3VuZGVkLWxnIGhvdmVyOmJnLXNsYXRlLTUwIGhvdmVyOmJvcmRlci1zbGF0ZS00MDAgXHJcbiAgICAgICAgICAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLW9mZnNldC0yIGZvY3VzOnJpbmctYmx1ZS01MDAgXHJcbiAgICAgICAgICAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkO1xyXG4gIH1cclxuICBcclxuICAvKiBUZXJ0aWFyeSBCdXR0b24gLSBMaWdodCBHcmF5ICovXHJcbiAgLmJ0bi10ZXJ0aWFyeSB7XHJcbiAgICBAYXBwbHkgcHgtMyBweS0yIGJnLXNsYXRlLTEwMCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCB0ZXh0LXNsYXRlLTcwMCB0ZXh0LXNtIFxyXG4gICAgICAgICAgIGZvbnQtbWVkaXVtIHJvdW5kZWQtbGcgaG92ZXI6Ymctc2xhdGUtMjAwIGhvdmVyOmJvcmRlci1zbGF0ZS0zMDAgXHJcbiAgICAgICAgICAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwO1xyXG4gIH1cclxuICBcclxuICAvKiBHaG9zdCBCdXR0b24gLSBNaW5pbWFsICovXHJcbiAgLmJ0bi1naG9zdCB7XHJcbiAgICBAYXBwbHkgcC0yIHRleHQtc2xhdGUtNTAwIGhvdmVyOnRleHQtc2xhdGUtNzAwIGhvdmVyOmJnLXNsYXRlLTEwMCBcclxuICAgICAgICAgICByb3VuZGVkLWxnIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMDtcclxuICB9XHJcblxyXG4gIC8qIFNwaW5uZXIgQWxpZ25tZW50IEZpeCAqL1xyXG4gIC5hbmltYXRlLXNwaW4ge1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIH1cclxuICBcclxuICAvKiBFbnN1cmUgYnV0dG9uIHNwaW5uZXJzIGFsaWduIHByb3Blcmx5IHdpdGggdGV4dCAqL1xyXG4gIGJ1dHRvbiAuYW5pbWF0ZS1zcGluLFxyXG4gIC5idG4tcHJpbWFyeSAuYW5pbWF0ZS1zcGluLFxyXG4gIC5idG4tc2Vjb25kYXJ5IC5hbmltYXRlLXNwaW4ge1xyXG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gIH1cclxuICBcclxuICAvKiBGaXggc3Bpbm5lciBhbGlnbm1lbnQgaW4gZmxleCBjb250YWluZXJzICovXHJcbiAgLmZsZXggLmFuaW1hdGUtc3BpbixcclxuICAuaW5saW5lLWZsZXggLmFuaW1hdGUtc3BpbiB7XHJcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IGF1dG8gMDtcclxuICB9XHJcbiAgXHJcbiAgLyogU3BlY2lmaWMgZml4IGZvciByb3VuZGVkIGNvbnRhaW5lcnMgd2l0aCBzcGlubmVycyAqL1xyXG4gIC5yb3VuZGVkLXhsIC5hbmltYXRlLXNwaW4sXHJcbiAgLnJvdW5kZWQtZnVsbCAuYW5pbWF0ZS1zcGluIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgRm9ybSBDb21wb25lbnRzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIE1vZGFsIENvbXBvbmVudHMgLSBGb2xsb3dpbmcgTW9kZXJuIERlc2lnbiBTdGFuZGFyZHNcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qIE1vZGFsIEJhY2tkcm9wIC0gQmx1cnJlZCBiYWNrZ3JvdW5kIGZvciBiZXR0ZXIgZm9jdXMgYW5kIGRlcHRoICovXHJcbiAgLm1vZGFsLWJhY2tkcm9wIHtcclxuICAgIEBhcHBseSBmaXhlZCBpbnNldC0wIGJnLWJsYWNrLzIwIGJhY2tkcm9wLWJsdXItc20gei00MDtcclxuICB9XHJcbiAgXHJcbiAgLyogTW9kYWwgQ29udGFpbmVyIC0gRWxldmF0ZWQgd2l0aCBwcm9wZXIgc2hhZG93cyBhbmQgc3BhY2luZyAqL1xyXG4gIC5tb2RhbC1jb250YWluZXIge1xyXG4gICAgQGFwcGx5IHJlbGF0aXZlIGJnLXdoaXRlIHJvdW5kZWQteGwgc2hhZG93LTJ4bCBvdmVyZmxvdy1oaWRkZW47XHJcbiAgfVxyXG4gIFxyXG4gIC8qIE1vZGFsIEhlYWRlciAtIENsZWFuIHNlcGFyYXRpb24gd2l0aCBzdWJ0bGUgYmFja2dyb3VuZCAqL1xyXG4gIC5tb2RhbC1oZWFkZXIge1xyXG4gICAgQGFwcGx5IHB4LTYgcHktNCBib3JkZXItYiBib3JkZXItc2xhdGUtMjAwIGJnLXNsYXRlLTUwO1xyXG4gIH1cclxuICBcclxuICAvKiBNb2RhbCBDb250ZW50IC0gUHJvcGVyIHNwYWNpbmcgYW5kIHNjcm9sbCBoYW5kbGluZyAqL1xyXG4gIC5tb2RhbC1jb250ZW50IHtcclxuICAgIEBhcHBseSBweC02IHB5LTYgbWF4LWgtWzcwdmhdIG92ZXJmbG93LXktYXV0bztcclxuICB9XHJcbiAgXHJcbiAgLyogTW9kYWwgRm9vdGVyIC0gQ29uc2lzdGVudCBhY3Rpb25zIGFyZWEgKi9cclxuICAubW9kYWwtZm9vdGVyIHtcclxuICAgIEBhcHBseSBweC02IHB5LTQgYmctc2xhdGUtNTAgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTIwMDtcclxuICB9XHJcblxyXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgQ29udGVudCBEaXNwbGF5IENvbXBvbmVudHMgLSBGb3IgQUktZ2VuZXJhdGVkIGNvbnRlbnRcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qIENvbnRlbnQgRGlzcGxheSBmb3IgSFRNTCBkZXNjcmlwdGlvbnMgd2l0aCBwcm9wZXIgc3R5bGluZyAqL1xyXG4gIC5jb250ZW50LWRpc3BsYXkgaDMge1xyXG4gICAgQGFwcGx5IHRleHQtbGcgZm9udC1zZW1pYm9sZCB0ZXh0LXNsYXRlLTkwMCBtYi0zIG10LTQ7XHJcbiAgfVxyXG5cclxuICAuY29udGVudC1kaXNwbGF5IHtcclxuICAgIEBhcHBseSB0ZXh0LXNtO1xyXG4gIH1cclxuICBcclxuICAuY29udGVudC1kaXNwbGF5IHAge1xyXG4gICAgQGFwcGx5IHRleHQtc20gdGV4dC1zbGF0ZS03MDAgbGVhZGluZy1yZWxheGVkIG1iLTQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5jb250ZW50LWRpc3BsYXkgdWwge1xyXG4gICAgQGFwcGx5IGxpc3QtZGlzYyBsaXN0LWluc2lkZSB0ZXh0LXNtIHRleHQtc2xhdGUtNzAwIG1iLTQgc3BhY2UteS0yO1xyXG4gIH1cclxuICBcclxuICAuY29udGVudC1kaXNwbGF5IG9sIHtcclxuICAgIEBhcHBseSBsaXN0LWRlY2ltYWwgbGlzdC1pbnNpZGUgdGV4dC1zbSB0ZXh0LXNsYXRlLTcwMCBtYi00IHNwYWNlLXktMjtcclxuICB9XHJcbiAgXHJcbiAgLmNvbnRlbnQtZGlzcGxheSBsaSB7XHJcbiAgICBAYXBwbHkgbGVhZGluZy1yZWxheGVkIHRleHQtc207XHJcbiAgfVxyXG4gIFxyXG4gIC5jb250ZW50LWRpc3BsYXkgaDIge1xyXG4gICAgQGFwcGx5IHRleHQteGwgZm9udC1zZW1pYm9sZCB0ZXh0LXNsYXRlLTkwMCBtYi00O1xyXG4gIH1cclxuICBcclxuICAuY29udGVudC1kaXNwbGF5IHN0cm9uZyB7XHJcbiAgICBAYXBwbHkgZm9udC1zZW1pYm9sZCB0ZXh0LXNsYXRlLTkwMDtcclxuICB9XHJcbiAgXHJcbiAgLmNvbnRlbnQtZGlzcGxheSBlbSB7XHJcbiAgICBAYXBwbHkgaXRhbGljO1xyXG4gIH1cclxuXHJcbiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBCbG9nIFBvc3QgQ29udGVudCBTdHlsaW5nIC0gRm9sbG93aW5nIFVJL1VYIEd1aWRlbGluZXNcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAvKiBPdmVycmlkZSBUYWlsd2luZCBUeXBvZ3JhcGh5IGZvciBibG9nIGNvbnRlbnQgKi9cclxuICAucHJvc2UtYmxvZyB7XHJcbiAgICBAYXBwbHkgbWF4LXctbm9uZSB0ZXh0LXNsYXRlLTcwMCBsZWFkaW5nLXJlbGF4ZWQ7XHJcbiAgfVxyXG5cclxuICAvKiBCbG9nIFBvc3QgSGVhZGluZ3MgLSBGb2xsb3dpbmcgVHlwb2dyYXBoeSBTeXN0ZW0gKi9cclxuICAucHJvc2UtYmxvZyBoMSB7XHJcbiAgICBAYXBwbHkgdGV4dC00eGwgbGc6dGV4dC01eGwgZm9udC1ib2xkIHRleHQtc2xhdGUtOTAwIGxlYWRpbmctdGlnaHQgbWItOCBtdC0wO1xyXG4gIH1cclxuXHJcbiAgLnByb3NlLWJsb2cgaDIge1xyXG4gICAgQGFwcGx5IHRleHQtMnhsIGxnOnRleHQtM3hsIGZvbnQtc2VtaWJvbGQgdGV4dC1zbGF0ZS05MDAgbGVhZGluZy10aWdodCBtYi02IG10LTEyIFxyXG4gICAgICAgICAgIGJvcmRlci1iIGJvcmRlci1zbGF0ZS0yMDAgcGItMztcclxuICB9XHJcblxyXG4gIC5wcm9zZS1ibG9nIGgzIHtcclxuICAgIEBhcHBseSB0ZXh0LXhsIGxnOnRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdGV4dC1zbGF0ZS05MDAgbGVhZGluZy10aWdodCBtYi00IG10LTg7XHJcbiAgfVxyXG5cclxuICAucHJvc2UtYmxvZyBoNCB7XHJcbiAgICBAYXBwbHkgdGV4dC1sZyBmb250LXNlbWlib2xkIHRleHQtc2xhdGUtOTAwIGxlYWRpbmctdGlnaHQgbWItMyBtdC02O1xyXG4gIH1cclxuXHJcbiAgLnByb3NlLWJsb2cgaDUge1xyXG4gICAgQGFwcGx5IHRleHQtYmFzZSBmb250LXNlbWlib2xkIHRleHQtc2xhdGUtOTAwIGxlYWRpbmctdGlnaHQgbWItMiBtdC00O1xyXG4gIH1cclxuXHJcbiAgLnByb3NlLWJsb2cgaDYge1xyXG4gICAgQGFwcGx5IHRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LXNsYXRlLTkwMCBsZWFkaW5nLXRpZ2h0IG1iLTIgbXQtNCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXI7XHJcbiAgfVxyXG5cclxuICAvKiBCbG9nIFBvc3QgUGFyYWdyYXBocyAqL1xyXG4gIC5wcm9zZS1ibG9nIHAge1xyXG4gICAgQGFwcGx5IHRleHQtYmFzZSBsZzp0ZXh0LWxnIHRleHQtc2xhdGUtNzAwIGxlYWRpbmctcmVsYXhlZCBtYi02IG1heC13LW5vbmU7XHJcbiAgfVxyXG5cclxuICAvKiBCbG9nIFBvc3QgSW1hZ2VzIC0gUmVzcG9uc2l2ZSBhbmQgc3R5bGVkICovXHJcbiAgLnByb3NlLWJsb2cgaW1nIHtcclxuICAgIEBhcHBseSB3LWZ1bGwgaC1hdXRvIHJvdW5kZWQteGwgc2hhZG93LWxnIG15LTggYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDA7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAucHJvc2UtYmxvZyBpbWc6aG92ZXIge1xyXG4gICAgQGFwcGx5IHNoYWRvdy14bCB0cmFuc2l0aW9uLXNoYWRvdyBkdXJhdGlvbi0zMDA7XHJcbiAgfVxyXG5cclxuICAvKiBCbG9nIFBvc3QgTGlzdHMgLSBFbmhhbmNlZCBzdHlsaW5nICovXHJcbiAgLnByb3NlLWJsb2cgdWwge1xyXG4gICAgQGFwcGx5IGxpc3Qtbm9uZSBtYi02IHNwYWNlLXktMyBwbC0wO1xyXG4gIH1cclxuXHJcbiAgLnByb3NlLWJsb2cgb2wge1xyXG4gICAgQGFwcGx5IGxpc3Qtbm9uZSBtYi02IHNwYWNlLXktMyBwbC0wO1xyXG4gIH1cclxuICBcclxuICAucHJvc2UtYmxvZyBvbCB7XHJcbiAgICBjb3VudGVyLXJlc2V0OiBpdGVtO1xyXG4gIH1cclxuXHJcbiAgLnByb3NlLWJsb2cgdWwgbGkge1xyXG4gICAgQGFwcGx5IHJlbGF0aXZlIHBsLTggdGV4dC1iYXNlIGxnOnRleHQtbGcgdGV4dC1zbGF0ZS03MDAgbGVhZGluZy1yZWxheGVkO1xyXG4gIH1cclxuXHJcbiAgLnByb3NlLWJsb2cgdWwgbGk6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgQGFwcGx5IGFic29sdXRlIGxlZnQtMiB0b3AtMyB3LTIgaC0yIGJnLWJsdWUtNjAwIHJvdW5kZWQtZnVsbDtcclxuICB9XHJcblxyXG5cclxuICAucHJvc2UtYmxvZyBvbCBsaSB7XHJcbiAgICBAYXBwbHkgcmVsYXRpdmUgcGwtOCB0ZXh0LWJhc2UgbGc6dGV4dC1sZyB0ZXh0LXNsYXRlLTcwMCBsZWFkaW5nLXJlbGF4ZWQ7XHJcbiAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcclxuICB9XHJcblxyXG4gIC5wcm9zZS1ibG9nIG9sIGxpOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogY291bnRlcihpdGVtKTtcclxuICAgIEBhcHBseSBhYnNvbHV0ZSBsZWZ0LTAgdG9wLTAgdy02IGgtNiBiZy1ibHVlLTYwMCB0ZXh0LXdoaXRlIHRleHQtc20gZm9udC1tZWRpdW0gXHJcbiAgICAgICAgICAgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLyogTmVzdGVkIExpc3RzICovXHJcbiAgLnByb3NlLWJsb2cgdWwgdWwsXHJcbiAgLnByb3NlLWJsb2cgb2wgb2wsXHJcbiAgLnByb3NlLWJsb2cgdWwgb2wsXHJcbiAgLnByb3NlLWJsb2cgb2wgdWwge1xyXG4gICAgQGFwcGx5IG10LTMgbWItMCBtbC00O1xyXG4gIH1cclxuXHJcbiAgLnByb3NlLWJsb2cgdWwgdWwgbGk6OmJlZm9yZSB7XHJcbiAgICBAYXBwbHkgYmctYmx1ZS00MDA7XHJcbiAgfVxyXG5cclxuICAvKiBCbG9nIFBvc3QgU3Ryb25nIGFuZCBFbSAqL1xyXG4gIC5wcm9zZS1ibG9nIHN0cm9uZyB7XHJcbiAgICBAYXBwbHkgZm9udC1zZW1pYm9sZCB0ZXh0LXNsYXRlLTkwMDtcclxuICB9XHJcblxyXG4gIC5wcm9zZS1ibG9nIGVtIHtcclxuICAgIEBhcHBseSBpdGFsaWMgdGV4dC1zbGF0ZS04MDA7XHJcbiAgfVxyXG5cclxuICAvKiBCbG9nIFBvc3QgQmxvY2txdW90ZXMgKi9cclxuICAucHJvc2UtYmxvZyBibG9ja3F1b3RlIHtcclxuICAgIEBhcHBseSByZWxhdGl2ZSBiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS01MCB0by1zbGF0ZS01MCBcclxuICAgICAgICAgICBib3JkZXItbC00IGJvcmRlci1ibHVlLTYwMCByb3VuZGVkLXIteGwgcC02IG15LTggXHJcbiAgICAgICAgICAgdGV4dC1iYXNlIGxnOnRleHQtbGcgdGV4dC1zbGF0ZS04MDAgbGVhZGluZy1yZWxheGVkIGl0YWxpYztcclxuICB9XHJcblxyXG4gIC5wcm9zZS1ibG9nIGJsb2NrcXVvdGU6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcXFwyMDFDXCI7XHJcbiAgICBAYXBwbHkgYWJzb2x1dGUgLXRvcC0yIC1sZWZ0LTEgdGV4dC02eGwgdGV4dC1ibHVlLTYwMC8zMDtcclxuICB9XHJcblxyXG4gIC5wcm9zZS1ibG9nIGJsb2NrcXVvdGUgcCB7XHJcbiAgICBAYXBwbHkgbWItNCBsYXN0Om1iLTA7XHJcbiAgfVxyXG5cclxuICAucHJvc2UtYmxvZyBibG9ja3F1b3RlIHA6Zmlyc3QtY2hpbGQge1xyXG4gICAgQGFwcGx5IG10LTA7XHJcbiAgfVxyXG5cclxuICAvKiBCbG9nIFBvc3QgQ29kZSBFbGVtZW50cyAqL1xyXG4gIC5wcm9zZS1ibG9nIGNvZGUge1xyXG4gICAgQGFwcGx5IGJnLXNsYXRlLTEwMCB0ZXh0LXNsYXRlLTgwMCBweC0yIHB5LTEgcm91bmRlZCB0ZXh0LXNtO1xyXG4gIH1cclxuXHJcbiAgLnByb3NlLWJsb2cgcHJlIHtcclxuICAgIEBhcHBseSBiZy1zbGF0ZS05MDAgdGV4dC1zbGF0ZS0xMDAgcm91bmRlZC14bCBwLTYgb3ZlcmZsb3cteC1hdXRvIG15LTY7XHJcbiAgfVxyXG5cclxuICAucHJvc2UtYmxvZyBwcmUgY29kZSB7XHJcbiAgICBAYXBwbHkgYmctdHJhbnNwYXJlbnQgdGV4dC1pbmhlcml0IHB4LTAgcHktMCB0ZXh0LXNtO1xyXG4gIH1cclxuXHJcbiAgLyogQmxvZyBQb3N0IExpbmtzICovXHJcbiAgLnByb3NlLWJsb2cgYSB7XHJcbiAgICBAYXBwbHkgdGV4dC1ibHVlLTYwMCBob3Zlcjp0ZXh0LWJsdWUtODAwIGZvbnQtbWVkaXVtIHVuZGVybGluZSBcclxuICAgICAgICAgICB1bmRlcmxpbmUtb2Zmc2V0LTQgZGVjb3JhdGlvbi1ibHVlLTYwMC8zMCBob3ZlcjpkZWNvcmF0aW9uLWJsdWUtODAwLzUwIFxyXG4gICAgICAgICAgIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMDtcclxuICB9XHJcblxyXG4gIC5wcm9zZS1ibG9nIGE6aG92ZXIge1xyXG4gICAgQGFwcGx5IGRlY29yYXRpb24tMjtcclxuICB9XHJcblxyXG4gIC8qIEJsb2cgUG9zdCBUYWJsZXMgKi9cclxuICAucHJvc2UtYmxvZyB0YWJsZSB7XHJcbiAgICBAYXBwbHkgdy1mdWxsIGJvcmRlci1jb2xsYXBzZSBiZy13aGl0ZSByb3VuZGVkLXhsIG92ZXJmbG93LWhpZGRlbiBzaGFkb3ctc20gYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgbXktODtcclxuICB9XHJcblxyXG4gIC5wcm9zZS1ibG9nIHRoZWFkIHtcclxuICAgIEBhcHBseSBiZy1zbGF0ZS01MDtcclxuICB9XHJcblxyXG4gIC5wcm9zZS1ibG9nIHRoIHtcclxuICAgIEBhcHBseSBweC02IHB5LTQgdGV4dC1sZWZ0IHRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LXNsYXRlLTkwMCBib3JkZXItYiBib3JkZXItc2xhdGUtMjAwO1xyXG4gIH1cclxuXHJcbiAgLnByb3NlLWJsb2cgdGQge1xyXG4gICAgQGFwcGx5IHB4LTYgcHktNCB0ZXh0LXNtIHRleHQtc2xhdGUtNzAwIGJvcmRlci1iIGJvcmRlci1zbGF0ZS0yMDA7XHJcbiAgfVxyXG5cclxuICAucHJvc2UtYmxvZyB0Ym9keSB0cjpob3ZlciB7XHJcbiAgICBAYXBwbHkgYmctc2xhdGUtNTAgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMjAwO1xyXG4gIH1cclxuXHJcbiAgLnByb3NlLWJsb2cgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XHJcbiAgICBAYXBwbHkgYm9yZGVyLWItMDtcclxuICB9XHJcblxyXG4gIC8qIEJsb2cgUG9zdCBIb3Jpem9udGFsIFJ1bGVzICovXHJcbiAgLnByb3NlLWJsb2cgaHIge1xyXG4gICAgQGFwcGx5IGJvcmRlci0wIGgtcHggYmctZ3JhZGllbnQtdG8tciBmcm9tLXRyYW5zcGFyZW50IHZpYS1zbGF0ZS0zMDAgdG8tdHJhbnNwYXJlbnQgbXktMTI7XHJcbiAgfVxyXG5cclxuICAvKiBSZXNwb25zaXZlIEFkanVzdG1lbnRzICovXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAucHJvc2UtYmxvZyBoMSB7XHJcbiAgICAgIEBhcHBseSB0ZXh0LTN4bCBtYi02O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAucHJvc2UtYmxvZyBoMiB7XHJcbiAgICAgIEBhcHBseSB0ZXh0LXhsIG1iLTQgbXQtODtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnByb3NlLWJsb2cgaDMge1xyXG4gICAgICBAYXBwbHkgdGV4dC1sZyBtYi0zIG10LTY7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5wcm9zZS1ibG9nIHAge1xyXG4gICAgICBAYXBwbHkgdGV4dC1iYXNlIG1iLTQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5wcm9zZS1ibG9nIHVsIGxpLFxyXG4gICAgLnByb3NlLWJsb2cgb2wgbGkge1xyXG4gICAgICBAYXBwbHkgdGV4dC1iYXNlIHBsLTY7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5wcm9zZS1ibG9nIHVsIGxpOjpiZWZvcmUge1xyXG4gICAgICBAYXBwbHkgbGVmdC0xIHRvcC0yLjUgdy0xLjUgaC0xLjU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5wcm9zZS1ibG9nIG9sIGxpOjpiZWZvcmUge1xyXG4gICAgICBAYXBwbHkgdy01IGgtNSB0ZXh0LXhzO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAucHJvc2UtYmxvZyBibG9ja3F1b3RlIHtcclxuICAgICAgQGFwcGx5IHRleHQtYmFzZSBwLTQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5wcm9zZS1ibG9nIGltZyB7XHJcbiAgICAgIEBhcHBseSBteS02O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAucHJvc2UtYmxvZyB0YWJsZSB7XHJcbiAgICAgIEBhcHBseSB0ZXh0LXNtO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAucHJvc2UtYmxvZyB0aCxcclxuICAgIC5wcm9zZS1ibG9nIHRkIHtcclxuICAgICAgQGFwcGx5IHB4LTQgcHktMztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgQmxvZyBQb3N0IEVuaGFuY2VtZW50IENvbXBvbmVudHNcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAvKiBQcm9ncmVzcyBCYXIgKi9cclxuICAjcHJvZ3Jlc3MtYmFyIHtcclxuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDM3LCA5OSwgMjM1LCAwLjMpO1xyXG4gIH1cclxuXHJcbiAgLyogQmxvZyBMZWFkIE1hZ25ldCAqL1xyXG4gIC5ibG9nLWxlYWQtbWFnbmV0IHtcclxuICAgIG1heC13aWR0aDogMjgwcHg7XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcclxuICAgIGFuaW1hdGlvbjogZmxvYXQgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbiAgfVxyXG5cclxuICAuYmxvZy1sZWFkLW1hZ25ldDpob3ZlciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgfVxyXG5cclxuICAvKiBMZWFkIE1hZ25ldCBDb250YWluZXIgd2l0aCBGYWRlIE91dCAqL1xyXG4gICNsZWFkLW1hZ25ldC1jb250YWluZXIge1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2UsIHRyYW5zZm9ybSAwLjZzIGVhc2U7XHJcbiAgfVxyXG5cclxuICAvKiBMZWFkIE1hZ25ldCBGYWRlIE91dCBBbmltYXRpb24gKi9cclxuICAjbGVhZC1tYWduZXQtY29udGFpbmVyLmxlYWQtbWFnbmV0LWZhZGUtb3V0IHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAvKiBCbG9nIFRhYmxlIG9mIENvbnRlbnRzICovXHJcbiAgLmJsb2ctdG9jIHtcclxuICAgIG1heC13aWR0aDogMjgwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiA3MHZoO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuICAgIHNjcm9sbGJhci1jb2xvcjogI2NiZDVlMSB0cmFuc3BhcmVudDtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlLCB0cmFuc2Zvcm0gMC42cyBlYXNlO1xyXG4gIH1cclxuXHJcbiAgLyogVE9DIEZhZGUgT3V0IEFuaW1hdGlvbiAqL1xyXG4gIC5ibG9nLXRvYy50b2MtZmFkZS1vdXQge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLmJsb2ctdG9jOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICB3aWR0aDogNHB4O1xyXG4gIH1cclxuXHJcbiAgLmJsb2ctdG9jOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG4gIC5ibG9nLXRvYzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NiZDVlMTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICB9XHJcblxyXG4gIC5ibG9nLXRvYzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk0YTNiODtcclxuICB9XHJcblxyXG4gIC8qIFRPQyBMaW5rIFN0eWxlcyAqL1xyXG4gIC50b2MtbGluayB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UsIG9wYWNpdHkgMC41cyBlYXNlO1xyXG4gIH1cclxuXHJcbiAgLnRvYy1saW5rOmhvdmVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcclxuICB9XHJcblxyXG4gIC50b2MtbGluay5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RiZWFmZTtcclxuICAgIGNvbG9yOiAjMWQ0ZWQ4O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjMjU2M2ViO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgLyogRmxvYXRpbmcgQW5pbWF0aW9uIGZvciBMZWFkIE1hZ25ldCAqL1xyXG4gIEBrZXlmcmFtZXMgZmxvYXQge1xyXG4gICAgMCUsIDEwMCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIFNsaWRlLWluIEFuaW1hdGlvbiAqL1xyXG4gIEBrZXlmcmFtZXMgc2xpZGUtaW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hbmltYXRlLXNsaWRlLWluIHtcclxuICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gMC41cyBlYXNlLW91dDtcclxuICB9XHJcblxyXG4gIC8qIFJlc3BvbnNpdmUgQWRqdXN0bWVudHMgKi9cclxuICBAbWVkaWEgKG1heC13aWR0aDogMTI3OXB4KSB7XHJcbiAgICAuYmxvZy1sZWFkLW1hZ25ldCxcclxuICAgIC5ibG9nLXRvYyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiBNb2JpbGUgVE9DIC0gU2hvdyBhcyBjb2xsYXBzaWJsZSBzZWN0aW9uICovXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNzlweCkge1xyXG4gICAgLm1vYmlsZS10b2Mge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZmFmYyAwJSwgI2UyZThmMCAxMDAlKTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgbWFyZ2luOiAycmVtIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm1vYmlsZS10b2MtdG9nZ2xlIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGNvbG9yOiAjMzM0MTU1O1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5tb2JpbGUtdG9jLWNvbnRlbnQge1xyXG4gICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZTtcclxuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAubW9iaWxlLXRvYy1jb250ZW50LmV4cGFuZGVkIHtcclxuICAgICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1vYmlsZS10b2MgLnRvYy1saW5rIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xyXG4gICAgICBjb2xvcjogIzQ3NTU2OTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgIG1hcmdpbjogMC4yNXJlbSAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIC5tb2JpbGUtdG9jIC50b2MtbGluazpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmU4ZjA7XHJcbiAgICAgIGNvbG9yOiAjMWUyOTNiO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiBFbmhhbmNlZCBCbG9nIENvbnRlbnQgQXJlYSAqL1xyXG4gIC5ibG9nLW1haW4tY29udGVudCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICB9XHJcblxyXG4gIC8qIFN1YnRsZSBzaGFkb3cgZm9yIG1haW4gY29udGVudCAqL1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcclxuICAgIC5ibG9nLW1haW4tY29udGVudCB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBCbG9nIE1vZGFsIFN0eWxlc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gIC8qIE1vZGFsIEJhY2tkcm9wIHdpdGggQmx1ciBFZmZlY3QgKi9cclxuICAuYmxvZy1tb2RhbC1iYWNrZHJvcCB7XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcclxuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgYmFja2Ryb3AtZmlsdGVyIDAuM3MgZWFzZTtcclxuICB9XHJcblxyXG4gIC8qIE1vZGFsIENvbnRhaW5lciAqL1xyXG4gIC5ibG9nLW1vZGFsIHtcclxuICAgIGFuaW1hdGlvbjogbW9kYWwtZmFkZS1pbiAwLjNzIGVhc2Utb3V0O1xyXG4gIH1cclxuXHJcbiAgLmJsb2ctbW9kYWwuaGlkZGVuIHtcclxuICAgIGFuaW1hdGlvbjogbW9kYWwtZmFkZS1vdXQgMC4zcyBlYXNlLWluO1xyXG4gIH1cclxuXHJcbiAgLyogTW9kYWwgQ29udGVudCAqL1xyXG4gIC5ibG9nLW1vZGFsLWNvbnRlbnQge1xyXG4gICAgYW5pbWF0aW9uOiBtb2RhbC1zbGlkZS11cCAwLjRzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xyXG4gICAgYm94LXNoYWRvdzogMCAyNXB4IDUwcHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjI1KSwgXHJcbiAgICAgICAgICAgICAgICAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG4gIH1cclxuXHJcbiAgLyogTW9kYWwgQW5pbWF0aW9ucyAqL1xyXG4gIEBrZXlmcmFtZXMgbW9kYWwtZmFkZS1pbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBrZXlmcmFtZXMgbW9kYWwtZmFkZS1vdXQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAa2V5ZnJhbWVzIG1vZGFsLXNsaWRlLXVwIHtcclxuICAgIGZyb20ge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45Nik7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIE1vZGFsIFJlc3BvbnNpdmUgQWRqdXN0bWVudHMgKi9cclxuICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAgIC5ibG9nLW1vZGFsLWNvbnRlbnQge1xyXG4gICAgICBtYXJnaW46IDFyZW07XHJcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDJyZW0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogTW9iaWxlIE5hdmlnYXRpb24gU3R5bGVzICovXHJcbiAgLm1vYmlsZS1uYXYtb3ZlcmxheSB7XHJcbiAgICBAYXBwbHkgZml4ZWQgaW5zZXQtMCBiZy1ibGFjayBiZy1vcGFjaXR5LTUwIHotNDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5tb2JpbGUtbmF2LW1lbnUge1xyXG4gICAgQGFwcGx5IGZpeGVkIHRvcC0yMCBsZWZ0LTAgcmlnaHQtMCBiZy13aGl0ZS85NSBiYWNrZHJvcC1ibHVyLW1kIHNoYWRvdy14bCB6LTUwIFxyXG4gICAgICAgICAgIHRyYW5zZm9ybSB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDAgZWFzZS1pbi1vdXQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5tb2JpbGUtbmF2LW1lbnUub3BlbiB7XHJcbiAgICBAYXBwbHkgdHJhbnNsYXRlLXktMDtcclxuICB9XHJcbiAgXHJcbiAgLm1vYmlsZS1uYXYtbWVudS5jbG9zZWQge1xyXG4gICAgQGFwcGx5IC10cmFuc2xhdGUteS1mdWxsO1xyXG4gIH1cclxuICBcclxuICAubW9iaWxlLW5hdi1zZWN0aW9uIHtcclxuICAgIEBhcHBseSBvdmVyZmxvdy1oaWRkZW4gdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwO1xyXG4gIH1cclxuICBcclxuICAubW9iaWxlLW5hdi1zZWN0aW9uLm9wZW4ge1xyXG4gICAgQGFwcGx5IG9wYWNpdHktMTAwO1xyXG4gIH1cclxuICBcclxuICAubW9iaWxlLW5hdi1zZWN0aW9uLmNsb3NlZCB7XHJcbiAgICBAYXBwbHkgbWF4LWgtMCBvcGFjaXR5LTA7XHJcbiAgfVxyXG5cclxuICAvKiBTdGFuZGFyZCBJbnB1dCAqL1xyXG4gIC5mb3JtLWlucHV0IHtcclxuICAgIEBhcHBseSB3LWZ1bGwgcHgtMyBweS0yIGJnLXNsYXRlLTUwIGJvcmRlciBib3JkZXItc2xhdGUtMzAwIHJvdW5kZWQtbGcgdGV4dC1zbVxyXG4gICAgICAgICAgIHBsYWNlaG9sZGVyLXNsYXRlLTQwMCBcclxuICAgICAgICAgICBmb2N1czpiZy13aGl0ZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTUwMCBmb2N1czpib3JkZXItdHJhbnNwYXJlbnRcclxuICAgICAgICAgICBob3Zlcjpib3JkZXItc2xhdGUtNDAwIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMDtcclxuICB9XHJcbiAgXHJcbiAgLyogSW5wdXQgRXJyb3IgU3RhdGUgKi9cclxuICAuZm9ybS1pbnB1dC1lcnJvciB7XHJcbiAgICBAYXBwbHkgdy1mdWxsIHB4LTMgcHktMiBiZy1yZWQtNTAgYm9yZGVyIGJvcmRlci1yZWQtMzAwIHJvdW5kZWQtbGcgdGV4dC1zbVxyXG4gICAgICAgICAgIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXJlZC01MDAgZm9jdXM6Ym9yZGVyLXRyYW5zcGFyZW50O1xyXG4gIH1cclxuICBcclxuICAvKiBGb3JtIExhYmVsICovXHJcbiAgLmZvcm0tbGFiZWwge1xyXG4gICAgQGFwcGx5IGJsb2NrIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1zbGF0ZS03MDAgbWItMTtcclxuICB9XHJcbiAgXHJcbiAgLyogU2VsZWN0IERyb3Bkb3duICovXHJcbiAgLmZvcm0tc2VsZWN0IHtcclxuICAgIEBhcHBseSB3LWZ1bGwgcHgtMyBweS0yIGJnLXNsYXRlLTUwIGJvcmRlciBib3JkZXItc2xhdGUtMzAwIHJvdW5kZWQtbGcgdGV4dC1zbVxyXG4gICAgICAgICAgIGFwcGVhcmFuY2Utbm9uZSBjdXJzb3ItcG9pbnRlclxyXG4gICAgICAgICAgIGZvY3VzOmJnLXdoaXRlIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWJsdWUtNTAwIGZvY3VzOmJvcmRlci10cmFuc3BhcmVudFxyXG4gICAgICAgICAgIGJnLVt1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyUyMHhtbG5zJTNkJTIyaHR0cCUzYSUyZiUyZnd3dy53My5vcmclMmYyMDAwJTJmc3ZnJTIyJTIwd2lkdGglM2QlMjIxMiUyMiUyMGhlaWdodCUzZCUyMjEyJTIyJTIwdmlld0JveCUzZCUyMjAlMjAwJTIwMTIlMjAxMiUyMiUzZSUzY3BhdGglMjBmaWxsJTNkJTIyJTIzMzc0MTUxJTIyJTIwZCUzZCUyMk0xMC4yOTMlMmMzLjI5MyUyMDYlMmM3LjU4NiUyMDEuNzA3JTJjMy4yOTNBMSUyYzElMmMwJTJjMCUyYzAlMmMuMjkzJTJjNC43MDdsNSUyYzVhMSUyYzElMmMwJTJjMCUyYzAlMmMxLjQxNCUyYzBsNS01YTElMmMxJTJjMCUyYzElMmMwLTEuNDE0LTEuNDE0eiUyMiUyZiUzZSUzYyUyZnN2ZyUzZScpXVxyXG4gICAgICAgICAgIGJnLVtsZW5ndGg6MTJweF0gYmctW3JpZ2h0XzEycHhfY2VudGVyXSBiZy1uby1yZXBlYXQgcHItMTA7XHJcbiAgICBmb250LWZhbWlseTogJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgc2Fucy1zZXJpZjtcclxuICB9XHJcbiAgXHJcbiAgLyogU2VsZWN0IE9wdGlvbiBFbGVtZW50cyAtIEVuc3VyZSBjb25zaXN0ZW50IGZvbnQgKi9cclxuICAuZm9ybS1zZWxlY3Qgb3B0aW9uIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgLyogdGV4dC1zbSBlcXVpdmFsZW50ICovXHJcbiAgICBjb2xvcjogIzM3NDE1MTsgLyogc2xhdGUtNzAwICovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xyXG4gIH1cclxuICBcclxuICAvKiBHbG9iYWwgU2VsZWN0IEVsZW1lbnRzIC0gQXBwbHkgY29uc2lzdGVudCBmb250IHRvIEFMTCBzZWxlY3QgZWxlbWVudHMgKi9cclxuICBzZWxlY3Qge1xyXG4gICAgZm9udC1mYW1pbHk6ICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIEdsb2JhbCBTZWxlY3QgT3B0aW9uIEVsZW1lbnRzIC0gQXBwbHkgY29uc2lzdGVudCBmb250IHRvIEFMTCBvcHRpb24gZWxlbWVudHMgKi9cclxuICBzZWxlY3Qgb3B0aW9uIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgIGNvbG9yOiAjMzc0MTUxO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIENoZWNrYm94ICovXHJcbiAgLmZvcm0tY2hlY2tib3gge1xyXG4gICAgQGFwcGx5IHctNSBoLTUgdGV4dC1ibHVlLTYwMCBiZy1zbGF0ZS01MCBib3JkZXItc2xhdGUtMzAwIHJvdW5kZWQgXHJcbiAgICAgICAgICAgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctYmx1ZS01MDAgZm9jdXM6cmluZy1vZmZzZXQtMjtcclxuICB9XHJcbiAgXHJcbiAgLyogUmFkaW8gQnV0dG9uICovXHJcbiAgLmZvcm0tcmFkaW8ge1xyXG4gICAgQGFwcGx5IHctNCBoLTQgdGV4dC1ibHVlLTYwMCBiZy1zbGF0ZS01MCBib3JkZXItc2xhdGUtMzAwIFxyXG4gICAgICAgICAgIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWJsdWUtNTAwIGZvY3VzOnJpbmctb2Zmc2V0LTI7XHJcbiAgfVxyXG4gIFxyXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgQ2FyZCBDb21wb25lbnRzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKiBCYXNpYyBDYXJkICovXHJcbiAgLmNhcmQge1xyXG4gICAgQGFwcGx5IGJnLXdoaXRlIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIHJvdW5kZWQtbGcgcC02IFxyXG4gICAgICAgICAgIGhvdmVyOnNoYWRvdy1sZyB0cmFuc2l0aW9uLXNoYWRvdyBkdXJhdGlvbi0zMDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIE1vYmlsZSBPcHRpbWl6ZWQgQ2FyZCAqL1xyXG4gIC5jYXJkLW1vYmlsZSB7XHJcbiAgICBAYXBwbHkgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgcm91bmRlZC1sZyBwLTQgc206cC02O1xyXG4gIH1cclxuICBcclxuICAvKiBNZXRyaWMgQ2FyZCAqL1xyXG4gIC5jYXJkLW1ldHJpYyB7XHJcbiAgICBAYXBwbHkgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgcm91bmRlZC1sZyBwLTY7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIEludGVyYWN0aXZlIENhcmQgKi9cclxuICAuY2FyZC1pbnRlcmFjdGl2ZSB7XHJcbiAgICBAYXBwbHkgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgcm91bmRlZC1sZyBwLTYgXHJcbiAgICAgICAgICAgaG92ZXI6c2hhZG93LWxnIGhvdmVyOmJvcmRlci1zbGF0ZS0zMDAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGN1cnNvci1wb2ludGVyO1xyXG4gIH1cclxuICBcclxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIE5hdmlnYXRpb24gQ29tcG9uZW50c1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLyogRGVza3RvcCBTaWRlYmFyICovXHJcbiAgLm5hdi1zaWRlYmFyIHtcclxuICAgIEBhcHBseSB3LTY0IGgtZnVsbCBiZy13aGl0ZSBib3JkZXItciBib3JkZXItc2xhdGUtMjAwO1xyXG4gIH1cclxuICBcclxuICAvKiBTaWRlYmFyIE5hdmlnYXRpb24gSXRlbSAqL1xyXG4gIC5uYXYtaXRlbSB7XHJcbiAgICBAYXBwbHkgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgcHgtMyBweS0yIHRleHQtc20gZm9udC1tZWRpdW0gXHJcbiAgICAgICAgICAgcm91bmRlZC1sZyB0ZXh0LXNsYXRlLTcwMCBob3ZlcjpiZy1zbGF0ZS0xMDAgXHJcbiAgICAgICAgICAgaG92ZXI6dGV4dC1zbGF0ZS05MDAgdHJhbnNpdGlvbi1jb2xvcnM7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIEFjdGl2ZSBOYXZpZ2F0aW9uIEl0ZW0gKi9cclxuICAubmF2LWl0ZW0tYWN0aXZlIHtcclxuICAgIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyBweC0zIHB5LTIgdGV4dC1zbSBmb250LW1lZGl1bSBcclxuICAgICAgICAgICByb3VuZGVkLWxnIGJnLXNsYXRlLTEwMCB0ZXh0LWJsdWUtNjAwO1xyXG4gIH1cclxuICBcclxuICAvKiBBZG1pbiBDYXJkIENvbXBvbmVudCAqL1xyXG4gIC5hZG1pbi1jYXJkIHtcclxuICAgIEBhcHBseSBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCByb3VuZGVkLXhsIHNoYWRvdy1zbTtcclxuICB9XHJcbiAgXHJcbiAgLyogU2lkZWJhciBDb2xsYXBzZSBTdHlsZXMgKi9cclxuICAuc2lkZWJhciB7XHJcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XHJcbiAgICB6LWluZGV4OiA0MDtcclxuICAgIG1pbi13aWR0aDogNHJlbTsgLyogRW5zdXJlIG1pbmltdW0gd2lkdGggKi9cclxuICB9XHJcbiAgXHJcbiAgLnNpZGViYXIuY29sbGFwc2VkIHtcclxuICAgIHdpZHRoOiA0cmVtO1xyXG4gIH1cclxuICBcclxuICAuc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICBcclxuICAuc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItY29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5zaWRlYmFyLmNvbGxhcHNlZCAuc2lkZWJhci1jb250ZW50IGgzLFxyXG4gIC5zaWRlYmFyLmNvbGxhcHNlZCAuc2lkZWJhci1jb250ZW50IHAsXHJcbiAgLnNpZGViYXIuY29sbGFwc2VkIC5zaWRlYmFyLWNvbnRlbnQgc3Bhbjpub3QoLnNpZGViYXItaWNvbiBpKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICBcclxuICAvKiBIaWRlIHRoZSBTdXBlcnZpc29yIEFnZW50IGNhcmQgd2hlbiBzaWRlYmFyIGlzIGNvbGxhcHNlZCAqL1xyXG4gIC5zaWRlYmFyLmNvbGxhcHNlZCAuc2lkZWJhci1jb250ZW50LnN1cGVydmlzb3ItY2FyZCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICBcclxuICAuc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDA7XHJcbiAgICBtYXJnaW46IDAuMjVyZW0gMDtcclxuICB9XHJcbiAgXHJcbiAgLnNpZGViYXIuY29sbGFwc2VkIC5zaWRlYmFyLWljb24gaSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB3aWR0aDogMS4yNXJlbTtcclxuICAgIGhlaWdodDogMS4yNXJlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gIC5zaWRlYmFyLmNvbGxhcHNlZCBidXR0b24uc2lkZWJhci1pY29uLFxyXG4gIC5zaWRlYmFyLmNvbGxhcHNlZCBhLnNpZGViYXItaWNvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5zaWRlYmFyLmNvbGxhcHNlZCBuYXYuc2lkZWJhci1jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAuNXJlbTtcclxuICB9XHJcbiAgXHJcbiAgLnNpZGViYXIuY29sbGFwc2VkIG5hdi5zaWRlYmFyLWNvbnRlbnQgPiBhLFxyXG4gIC5zaWRlYmFyLmNvbGxhcHNlZCBuYXYuc2lkZWJhci1jb250ZW50ID4gZGl2IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwLjI1cmVtIDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5zaWRlYmFyLmNvbGxhcHNlZCAuYm90dG9tLW1lbnUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAxcmVtO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuICBcclxuICAvKiBJbXByb3ZlZCB0b29sdGlwIHN0eWxlcyAqL1xyXG4gIC5zaWRlYmFyLmNvbGxhcHNlZCBbZGF0YS10b29sdGlwXSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG4gIFxyXG4gIC5zaWRlYmFyLmNvbGxhcHNlZCBbZGF0YS10b29sdGlwXTpob3Zlcjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogYXR0cihkYXRhLXRvb2x0aXApO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMTAwJTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjkzYjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XHJcbiAgICBtYXJnaW4tbGVmdDogMC43NXJlbTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB6LWluZGV4OiA1MDtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIEFkZCBhIHRyaWFuZ2xlL2Fycm93IHRvIHRoZSB0b29sdGlwICovXHJcbiAgLnNpZGViYXIuY29sbGFwc2VkIFtkYXRhLXRvb2x0aXBdOmhvdmVyOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDEwMCU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIGJvcmRlci13aWR0aDogNnB4O1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzFlMjkzYiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwLjM3NXJlbTtcclxuICAgIHotaW5kZXg6IDUxO1xyXG4gIH1cclxuICBcclxuICBib2R5LnNpZGViYXItY29sbGFwc2VkIG1haW4ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDRyZW07XHJcbiAgfVxyXG4gIFxyXG4gIC8qIE1vYmlsZSBCb3R0b20gTmF2aWdhdGlvbiAqL1xyXG4gIC5uYXYtbW9iaWxlIHtcclxuICAgIEBhcHBseSBmaXhlZCBib3R0b20tMCBsZWZ0LTAgcmlnaHQtMCBiZy13aGl0ZSBib3JkZXItdCBib3JkZXItc2xhdGUtMjAwIFxyXG4gICAgICAgICAgIHNhZmUtYm90dG9tIHotNTA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIE1vYmlsZSBOYXZpZ2F0aW9uIEl0ZW0gKi9cclxuICAubmF2LW1vYmlsZS1pdGVtIHtcclxuICAgIEBhcHBseSBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtMSBweS0yIHB4LTMgXHJcbiAgICAgICAgICAgdGV4dC1zbGF0ZS01MDAgaG92ZXI6dGV4dC1ibHVlLTYwMCB0cmFuc2l0aW9uLWNvbG9ycztcclxuICB9XHJcbiAgXHJcbiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBEcm9wZG93biBDb21wb25lbnRzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKiBVc2VyIERyb3Bkb3duIE1lbnUgKi9cclxuICAudXNlci1kcm9wZG93biB7XHJcbiAgICBAYXBwbHkgYWJzb2x1dGUgcmlnaHQtMCB0b3AtZnVsbCBtdC0yIGJnLXdoaXRlIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIHJvdW5kZWQtbGcgc2hhZG93LWxnIHctNjQgei01MDtcclxuICB9XHJcbiAgXHJcbiAgLnVzZXItZHJvcGRvd24taGVhZGVyIHtcclxuICAgIEBhcHBseSBweC00IHB5LTIgdGV4dC14cyBmb250LXNlbWlib2xkIHRleHQtc2xhdGUtNTAwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlciBib3JkZXItYiBib3JkZXItc2xhdGUtMTAwO1xyXG4gIH1cclxuICBcclxuICAudXNlci1kcm9wZG93bi1saXN0IHtcclxuICAgIEBhcHBseSBweS0xO1xyXG4gIH1cclxuICBcclxuICAudXNlci1kcm9wZG93bi1pdGVtIHtcclxuICAgIEBhcHBseSBweC00IHB5LTIuNSB0ZXh0LXNtIHRleHQtc2xhdGUtNzAwIGhvdmVyOmJnLXNsYXRlLTUwIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMCBjdXJzb3ItcG9pbnRlciBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMztcclxuICB9XHJcbiAgXHJcbiAgLnVzZXItZHJvcGRvd24taXRlbSBpIHtcclxuICAgIEBhcHBseSB3LTUgdGV4dC1jZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gIC51c2VyLWRyb3Bkb3duLWl0ZW06Zmlyc3QtY2hpbGQge1xyXG4gICAgQGFwcGx5IHJvdW5kZWQtdC1sZztcclxuICB9XHJcbiAgXHJcbiAgLnVzZXItZHJvcGRvd24taXRlbTpsYXN0LWNoaWxkIHtcclxuICAgIEBhcHBseSByb3VuZGVkLWItbGc7XHJcbiAgfVxyXG4gIFxyXG4gIC51c2VyLWRyb3Bkb3duLXNlcGFyYXRvciB7XHJcbiAgICBAYXBwbHkgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTIwMCBteS0xO1xyXG4gIH1cclxuICBcclxuICAudXNlci1kcm9wZG93bi1yZWZlcnJhbCB7XHJcbiAgICBAYXBwbHkgcHgtNCBweS0zIGJnLWJsdWUtNTAgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTIwMCByb3VuZGVkLWItbGc7XHJcbiAgfVxyXG4gIFxyXG4gIC51c2VyLWRyb3Bkb3duLXJlZmVycmFsLWJ0biB7XHJcbiAgICBAYXBwbHkgdy1mdWxsIHB4LTMgcHktMiBiZy1ibHVlLTYwMCB0ZXh0LXdoaXRlIHRleHQtc20gZm9udC1tZWRpdW0gcm91bmRlZC1sZyBob3ZlcjpiZy1ibHVlLTcwMCB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0yMDAgdGV4dC1jZW50ZXIgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgVGFibGUgQ29tcG9uZW50c1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLyogVGFibGUgQ29udGFpbmVyICovXHJcbiAgLnRhYmxlLWNvbnRhaW5lciB7XHJcbiAgICBAYXBwbHkgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFRhYmxlICovXHJcbiAgLnRhYmxlIHtcclxuICAgIEBhcHBseSBtaW4tdy1mdWxsIGRpdmlkZS15IGRpdmlkZS1zbGF0ZS0yMDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFRhYmxlIEhlYWRlciAqL1xyXG4gIC50YWJsZS1oZWFkZXIge1xyXG4gICAgQGFwcGx5IGJnLXNsYXRlLTUwO1xyXG4gIH1cclxuICBcclxuICAvKiBUYWJsZSBIZWFkZXIgQ2VsbCAqL1xyXG4gIC50YWJsZS10aCB7XHJcbiAgICBAYXBwbHkgcHgtNiBweS0zIHRleHQtbGVmdCB0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtc2xhdGUtNTAwIFxyXG4gICAgICAgICAgIHVwcGVyY2FzZSB0cmFja2luZy13aWRlcjtcclxuICB9XHJcbiAgXHJcbiAgLyogVGFibGUgQm9keSAqL1xyXG4gIC50YWJsZS1ib2R5IHtcclxuICAgIEBhcHBseSBiZy13aGl0ZSBkaXZpZGUteSBkaXZpZGUtc2xhdGUtMjAwO1xyXG4gIH1cclxuICBcclxuICAvKiBUYWJsZSBSb3cgKi9cclxuICAudGFibGUtcm93IHtcclxuICAgIEBhcHBseSBob3ZlcjpiZy1zbGF0ZS01MCB0cmFuc2l0aW9uLWNvbG9ycztcclxuICB9XHJcbiAgXHJcbiAgLyogVGFibGUgQ2VsbCAqL1xyXG4gIC50YWJsZS10ZCB7XHJcbiAgICBAYXBwbHkgcHgtNiBweS00IHdoaXRlc3BhY2Utbm93cmFwIHRleHQtc20gdGV4dC1zbGF0ZS05MDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgTW9kYWwgQ29tcG9uZW50c1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLyogTW9kYWwgQmFja2Ryb3AgKi9cclxuICAubW9kYWwtYmFja2Ryb3Age1xyXG4gICAgQGFwcGx5IGZpeGVkIGluc2V0LTAgYmctc2xhdGUtOTAwIGJnLW9wYWNpdHktNTAgYmFja2Ryb3AtYmx1ci1zbSB6LTUwIFxyXG4gICAgICAgICAgIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHAtNDtcclxuICB9XHJcbiAgXHJcbiAgLyogTW9kYWwgQ29udGVudCAqL1xyXG4gIC5tb2RhbC1jb250ZW50IHtcclxuICAgIEBhcHBseSBiZy13aGl0ZSByb3VuZGVkLXhsIHNoYWRvdy14bCBtYXgtdy1tZCB3LWZ1bGwgbWF4LWgtWzkwdmhdIFxyXG4gICAgICAgICAgIG92ZXJmbG93LWhpZGRlbiBmbGV4IGZsZXgtY29sO1xyXG4gIH1cclxuICBcclxuICAvKiBNb2RhbCBIZWFkZXIgKi9cclxuICAubW9kYWwtaGVhZGVyIHtcclxuICAgIEBhcHBseSBweC02IHB5LTQgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTIwMDtcclxuICB9XHJcbiAgXHJcbiAgLyogTW9kYWwgQm9keSAqL1xyXG4gIC5tb2RhbC1ib2R5IHtcclxuICAgIEBhcHBseSBweC02IHB5LTQgZmxleC0xIG92ZXJmbG93LXktYXV0bztcclxuICB9XHJcbiAgXHJcbiAgLyogTW9kYWwgRm9vdGVyICovXHJcbiAgLm1vZGFsLWZvb3RlciB7XHJcbiAgICBAYXBwbHkgcHgtNiBweS00IGJvcmRlci10IGJvcmRlci1zbGF0ZS0yMDAgZmxleCBnYXAtMyBqdXN0aWZ5LWVuZDtcclxuICB9XHJcbiAgXHJcbiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBTdGF0dXMgJiBGZWVkYmFjayBDb21wb25lbnRzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKiBTdGF0dXMgQmFkZ2UgLSBTdWNjZXNzICovXHJcbiAgLmJhZGdlLXN1Y2Nlc3Mge1xyXG4gICAgQGFwcGx5IGlubGluZS1mbGV4IHB4LTIgcHktMSB0ZXh0LXhzIGZvbnQtbWVkaXVtIHJvdW5kZWQtZnVsbCBcclxuICAgICAgICAgICBiZy1ncmVlbi0xMDAgdGV4dC1ncmVlbi04MDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFN0YXR1cyBCYWRnZSAtIEVycm9yICovXHJcbiAgLmJhZGdlLWVycm9yIHtcclxuICAgIEBhcHBseSBpbmxpbmUtZmxleCBweC0yIHB5LTEgdGV4dC14cyBmb250LW1lZGl1bSByb3VuZGVkLWZ1bGwgXHJcbiAgICAgICAgICAgYmctcmVkLTEwMCB0ZXh0LXJlZC04MDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFN0YXR1cyBCYWRnZSAtIFdhcm5pbmcgKi9cclxuICAuYmFkZ2Utd2FybmluZyB7XHJcbiAgICBAYXBwbHkgaW5saW5lLWZsZXggcHgtMiBweS0xIHRleHQteHMgZm9udC1tZWRpdW0gcm91bmRlZC1mdWxsIFxyXG4gICAgICAgICAgIGJnLWFtYmVyLTEwMCB0ZXh0LWFtYmVyLTgwMDtcclxuICB9XHJcbiAgXHJcbiAgLyogU3RhdHVzIEJhZGdlIC0gTmV1dHJhbCAqL1xyXG4gIC5iYWRnZS1uZXV0cmFsIHtcclxuICAgIEBhcHBseSBpbmxpbmUtZmxleCBweC0yIHB5LTEgdGV4dC14cyBmb250LW1lZGl1bSByb3VuZGVkLWZ1bGwgXHJcbiAgICAgICAgICAgYmctc2xhdGUtMTAwIHRleHQtc2xhdGUtODAwO1xyXG4gIH1cclxuICBcclxuICAvKiBUb2FzdCBOb3RpZmljYXRpb24gKi9cclxuICAudG9hc3Qge1xyXG4gICAgQGFwcGx5IGJnLXdoaXRlIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIHJvdW5kZWQtbGcgc2hhZG93LWxnIHAtNCBcclxuICAgICAgICAgICBmbGV4IGl0ZW1zLXN0YXJ0IGdhcC0zIG1heC13LXNtO1xyXG4gIH1cclxuICBcclxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENoYXJ0ICYgRGF0YSBWaXN1YWxpemF0aW9uIENvbXBvbmVudHNcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qIENoYXJ0IENvbnRhaW5lciAqL1xyXG4gIC5jaGFydC1jb250YWluZXIge1xyXG4gICAgQGFwcGx5IGJnLXdoaXRlIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIHJvdW5kZWQtbGcgcC02O1xyXG4gIH1cclxuICBcclxuICAvKiBDaGFydCBMZWdlbmQgKi9cclxuICAuY2hhcnQtbGVnZW5kIHtcclxuICAgIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCBqdXN0aWZ5LWNlbnRlciBtdC00O1xyXG4gIH1cclxuICBcclxuICAuY2hhcnQtbGVnZW5kLWl0ZW0ge1xyXG4gICAgQGFwcGx5IGZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtc20gdGV4dC1zbGF0ZS03MDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIERhdGEgVmlzdWFsaXphdGlvbiBDb2xvciBQYWxldHRlIC0gUHJvZmVzc2lvbmFsICYgQWNjZXNzaWJsZSAqL1xyXG4gIC5jaGFydC1jb2xvci1wcmltYXJ5IHtcclxuICAgIGNvbG9yOiAjMjU2M2ViOyAvKiBCbHVlICovXHJcbiAgfVxyXG4gIFxyXG4gIC5jaGFydC1jb2xvci1zZWNvbmRhcnkge1xyXG4gICAgY29sb3I6ICMxMGI5ODE7IC8qIEdyZWVuICovXHJcbiAgfVxyXG4gIFxyXG4gIC5jaGFydC1jb2xvci10ZXJ0aWFyeSB7XHJcbiAgICBjb2xvcjogI2Y1OWUwYjsgLyogQW1iZXIgKi9cclxuICB9XHJcbiAgXHJcbiAgLmNoYXJ0LWNvbG9yLXF1YXRlcm5hcnkge1xyXG4gICAgY29sb3I6ICNlZjQ0NDQ7IC8qIFJlZCAqL1xyXG4gIH1cclxuICBcclxuICAuY2hhcnQtY29sb3ItcXVpbmFyeSB7XHJcbiAgICBjb2xvcjogIzhiNWNmNjsgLyogUHVycGxlICovXHJcbiAgfVxyXG4gIFxyXG4gIC5jaGFydC1jb2xvci1zZW5hcnkge1xyXG4gICAgY29sb3I6ICMwNmI2ZDQ7IC8qIEN5YW4gKi9cclxuICB9XHJcbiAgXHJcbiAgLyogQ2hhcnQgQmFja2dyb3VuZCBDb2xvcnMgKi9cclxuICAuY2hhcnQtYmctcHJpbWFyeSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM3LCA5OSwgMjM1LCAwLjEpO1xyXG4gIH1cclxuICBcclxuICAuY2hhcnQtYmctc2Vjb25kYXJ5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjEpO1xyXG4gIH1cclxuICBcclxuICAuY2hhcnQtYmctdGVydGlhcnkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDUsIDE1OCwgMTEsIDAuMSk7XHJcbiAgfVxyXG4gIFxyXG4gIC5jaGFydC1iZy1xdWF0ZXJuYXJ5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMSk7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIE1ldHJpYyBDYXJkcyB3aXRoIENoYXJ0IENvbG9ycyAqL1xyXG4gIC5tZXRyaWMtY2FyZC1wcmltYXJ5IHtcclxuICAgIEBhcHBseSBiZy1ibHVlLTUwIGJvcmRlciBib3JkZXItYmx1ZS0yMDAgdGV4dC1ibHVlLTkwMDtcclxuICB9XHJcbiAgXHJcbiAgLm1ldHJpYy1jYXJkLXNlY29uZGFyeSB7XHJcbiAgICBAYXBwbHkgYmctZ3JlZW4tNTAgYm9yZGVyIGJvcmRlci1ncmVlbi0yMDAgdGV4dC1ncmVlbi05MDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5tZXRyaWMtY2FyZC10ZXJ0aWFyeSB7XHJcbiAgICBAYXBwbHkgYmctYW1iZXItNTAgYm9yZGVyIGJvcmRlci1hbWJlci0yMDAgdGV4dC1hbWJlci05MDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5tZXRyaWMtY2FyZC1xdWF0ZXJuYXJ5IHtcclxuICAgIEBhcHBseSBiZy1yZWQtNTAgYm9yZGVyIGJvcmRlci1yZWQtMjAwIHRleHQtcmVkLTkwMDtcclxuICB9XHJcbiAgXHJcbiAgLyogVHJlbmQgSW5kaWNhdG9ycyAqL1xyXG4gIC50cmVuZC1wb3NpdGl2ZSB7XHJcbiAgICBAYXBwbHkgdGV4dC1ncmVlbi02MDA7XHJcbiAgfVxyXG4gIFxyXG4gIC50cmVuZC1uZWdhdGl2ZSB7XHJcbiAgICBAYXBwbHkgdGV4dC1yZWQtNTAwO1xyXG4gIH1cclxuICBcclxuICAudHJlbmQtbmV1dHJhbCB7XHJcbiAgICBAYXBwbHkgdGV4dC1zbGF0ZS02MDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgTG9hZGluZyAmIEVtcHR5IFN0YXRlc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLyogU2tlbGV0b24gTG9hZGVyICovXHJcbiAgLnNrZWxldG9uIHtcclxuICAgIEBhcHBseSBiZy1zbGF0ZS0yMDAgcm91bmRlZCBhbmltYXRlLXB1bHNlO1xyXG4gIH1cclxuICBcclxuICAvKiBTcGlubmVyICovXHJcbiAgLnNwaW5uZXIge1xyXG4gICAgQGFwcGx5IHctOCBoLTggYm9yZGVyLTIgYm9yZGVyLXNsYXRlLTMwMCBib3JkZXItdC1ibHVlLTYwMCBcclxuICAgICAgICAgICByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1zcGluO1xyXG4gIH1cclxuICBcclxuICAvKiBFbXB0eSBTdGF0ZSAqL1xyXG4gIC5lbXB0eS1zdGF0ZSB7XHJcbiAgICBAYXBwbHkgdGV4dC1jZW50ZXIgcHktMTI7XHJcbiAgfVxyXG4gIFxyXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgRGFzaGJvYXJkIENvbXBvbmVudHMgLSBMYXRlc3QgRXhlY3V0aW9uc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLyogRXhlY3V0aW9uIFN0YXR1cyBJbmRpY2F0b3JzICovXHJcbiAgLmV4ZWN1dGlvbi1zdGF0dXMtcnVubmluZyB7XHJcbiAgICBAYXBwbHkgYmctYmx1ZS01MCB0ZXh0LWJsdWUtNzAwIGJvcmRlciBib3JkZXItYmx1ZS0yMDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5leGVjdXRpb24tc3RhdHVzLWNvbXBsZXRlZCB7XHJcbiAgICBAYXBwbHkgYmctZW1lcmFsZC01MCB0ZXh0LWVtZXJhbGQtNzAwIGJvcmRlciBib3JkZXItZW1lcmFsZC0yMDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5leGVjdXRpb24tc3RhdHVzLXNjaGVkdWxlZCB7XHJcbiAgICBAYXBwbHkgYmctYW1iZXItNTAgdGV4dC1hbWJlci03MDAgYm9yZGVyIGJvcmRlci1hbWJlci0yMDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5leGVjdXRpb24tc3RhdHVzLWZhaWxlZCB7XHJcbiAgICBAYXBwbHkgYmctcmVkLTUwIHRleHQtcmVkLTcwMCBib3JkZXIgYm9yZGVyLXJlZC0yMDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIEV4ZWN1dGlvbiBQcm9ncmVzcyBCYXIgKi9cclxuICAuZXhlY3V0aW9uLXByb2dyZXNzLWJhciB7XHJcbiAgICBAYXBwbHkgdy1mdWxsIGJnLXNsYXRlLTIwMCByb3VuZGVkLWZ1bGwgaC0xLjU7XHJcbiAgfVxyXG4gIFxyXG4gIC5leGVjdXRpb24tcHJvZ3Jlc3MtZmlsbCB7XHJcbiAgICBAYXBwbHkgYmctYmx1ZS02MDAgaC0xLjUgcm91bmRlZC1mdWxsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMDtcclxuICB9XHJcbiAgXHJcbiAgLyogRXhlY3V0aW9uIENhcmQgSG92ZXIgRWZmZWN0cyAqL1xyXG4gIC5leGVjdXRpb24tY2FyZCB7XHJcbiAgICBAYXBwbHkgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgcm91bmRlZC1sZyBwLTQgXHJcbiAgICAgICAgICAgaG92ZXI6Ym9yZGVyLXNsYXRlLTMwMCBob3ZlcjpzaGFkb3ctc20gXHJcbiAgICAgICAgICAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwO1xyXG4gIH1cclxuICBcclxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIEVuaGFuY2VkIEFjdGlvbiBDYXJkc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLyogQWN0aW9uIENhcmQgd2l0aCBCZXR0ZXIgRm9jdXMgU3RhdGVzICovXHJcbiAgLmFjdGlvbi1jYXJkIHtcclxuICAgIEBhcHBseSB3LWZ1bGwgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgcm91bmRlZC1sZyBwLTYgXHJcbiAgICAgICAgICAgaG92ZXI6Ymctc2xhdGUtNTAgaG92ZXI6Ym9yZGVyLXNsYXRlLTMwMCBcclxuICAgICAgICAgICB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgY3Vyc29yLXBvaW50ZXIgdGV4dC1sZWZ0IFxyXG4gICAgICAgICAgIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWJsdWUtNTAwIGZvY3VzOnJpbmctb2Zmc2V0LTIgZm9jdXM6b3V0bGluZS1ub25lIFxyXG4gICAgICAgICAgIGFjdGl2ZTpzY2FsZS1bMC45OF0gZmxleCBmbGV4LWNvbDtcclxuICB9XHJcbiAgXHJcbiAgLmFjdGlvbi1jYXJkOmZvY3VzIHtcclxuICAgIEBhcHBseSBib3JkZXItYmx1ZS0zMDAgc2hhZG93LXNtO1xyXG4gIH1cclxuICBcclxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIERhc2hib2FyZCBMYXlvdXQgSW1wcm92ZW1lbnRzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKiBEYXNoYm9hcmQgQ29udGFpbmVyICovXHJcbiAgLmRhc2hib2FyZC1jb250YWluZXIge1xyXG4gICAgQGFwcGx5IG1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IHB5LTYgc3BhY2UteS02O1xyXG4gIH1cclxuICBcclxuICAvKiBJbXByb3ZlZCBDYXJkIFNwYWNpbmcgKi9cclxuICAuZGFzaGJvYXJkLWNhcmQge1xyXG4gICAgQGFwcGx5IGJnLXdoaXRlIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIHJvdW5kZWQtbGcgc2hhZG93LXNtO1xyXG4gIH1cclxuICBcclxuICAuZGFzaGJvYXJkLWNhcmQtaGVhZGVyIHtcclxuICAgIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcC00IGJvcmRlci1iIGJvcmRlci1zbGF0ZS0xMDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5kYXNoYm9hcmQtY2FyZC1jb250ZW50IHtcclxuICAgIEBhcHBseSBwLTQ7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIENvbXBhY3QgQWdlbnQgQ2FyZHMgKi9cclxuICAuYWdlbnQtY2FyZC1jb21wYWN0IHtcclxuICAgIEBhcHBseSBiZy1zbGF0ZS01MCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCByb3VuZGVkLWxnIHAtMyBcclxuICAgICAgICAgICBob3Zlcjpib3JkZXItc2xhdGUtMzAwIGhvdmVyOmJnLXNsYXRlLTc1IFxyXG4gICAgICAgICAgIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMDtcclxuICB9XHJcbiAgXHJcbiAgLyogRXhlY3V0aW9uIExpc3QgSXRlbXMgKi9cclxuICAuZXhlY3V0aW9uLWl0ZW0ge1xyXG4gICAgQGFwcGx5IHAtNCBob3ZlcjpiZy1zbGF0ZS0yNSB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0yMDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFN0YXR1cyBEb3RzICovXHJcbiAgLnN0YXR1cy1kb3Qtc20ge1xyXG4gICAgQGFwcGx5IHctMS41IGgtMS41IHJvdW5kZWQtZnVsbDtcclxuICB9XHJcbiAgXHJcbiAgLnN0YXR1cy1kb3QtbWQge1xyXG4gICAgQGFwcGx5IHctMiBoLTIgcm91bmRlZC1mdWxsO1xyXG4gIH1cclxuICBcclxuICAvKiBDb21wYWN0IFByb2dyZXNzIEJhciAqL1xyXG4gIC5wcm9ncmVzcy1iYXItY29tcGFjdCB7XHJcbiAgICBAYXBwbHkgdy1mdWxsIGJnLXNsYXRlLTIwMCByb3VuZGVkLWZ1bGwgaC0xO1xyXG4gIH1cclxuICBcclxuICAucHJvZ3Jlc3MtZmlsbC1jb21wYWN0IHtcclxuICAgIEBhcHBseSBiZy1ibHVlLTYwMCBoLTEgcm91bmRlZC1mdWxsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMDtcclxuICB9XHJcbiAgXHJcbiAgLyogQmV0dGVyIEhvdmVyIFN0YXRlcyAqL1xyXG4gIC5ob3Zlci1saWZ0IHtcclxuICAgIEBhcHBseSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgaG92ZXI6c2hhZG93LXNtIGhvdmVyOi10cmFuc2xhdGUteS0wLjU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFN1YnRsZSBCYWNrZ3JvdW5kIFZhcmlhdGlvbnMgKi9cclxuICAuYmctc2xhdGUtMjUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmJmYztcclxuICB9XHJcbiAgXHJcbiAgLmJnLXNsYXRlLTc1IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY4ZmE7XHJcbiAgfVxyXG4gIFxyXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgVXRpbGl0eSBDbGFzc2VzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKiBDb250YWluZXIgd2l0aCByZXNwb25zaXZlIHBhZGRpbmcgKi9cclxuICAuY29udGFpbmVyLXJlc3BvbnNpdmUge1xyXG4gICAgQGFwcGx5IG1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04O1xyXG4gIH1cclxuICBcclxuICAvKiBTYWZlIGFyZWEgZm9yIG1vYmlsZSAqL1xyXG4gIC5zYWZlLWJvdHRvbSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xyXG4gIH1cclxuICBcclxuICAvKiBUZXh0IGJhbGFuY2UgZm9yIGhlYWRpbmdzICovXHJcbiAgLnRleHQtYmFsYW5jZSB7XHJcbiAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFNjcm9sbGJhciBzdHlsaW5nICovXHJcbiAgLnNjcm9sbGJhci10aGluIHtcclxuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuICB9XHJcbiAgXHJcbiAgLnNjcm9sbGJhci10aGluOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICB3aWR0aDogNnB4O1xyXG4gICAgaGVpZ2h0OiA2cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5zY3JvbGxiYXItdGhpbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgQGFwcGx5IGJnLXNsYXRlLTEwMDtcclxuICB9XHJcbiAgXHJcbiAgLnNjcm9sbGJhci10aGluOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBAYXBwbHkgYmctc2xhdGUtNDAwIHJvdW5kZWQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5zY3JvbGxiYXItdGhpbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gICAgQGFwcGx5IGJnLXNsYXRlLTYwMDtcclxuICB9XHJcbiAgXHJcbiAgLyogTWFnaWNhbCBGaW5hbCBSZXNwb25zZSBTdHlsaW5nICovXHJcbiAgXHJcbiAgLm1hZ2ljYWwtZmluYWwtcmVzcG9uc2UgcCB7XHJcbiAgICBAYXBwbHkgbWItNCBsZWFkaW5nLXJlbGF4ZWQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5tYWdpY2FsLWZpbmFsLXJlc3BvbnNlIHA6bGFzdC1jaGlsZCB7XHJcbiAgICBAYXBwbHkgbWItMDtcclxuICB9XHJcbiAgXHJcbiAgLm1hZ2ljYWwtZmluYWwtcmVzcG9uc2UgYSB7XHJcbiAgICBAYXBwbHkgdW5kZXJsaW5lIHRleHQtZW1lcmFsZC02MDAgaG92ZXI6dGV4dC1lbWVyYWxkLTgwMCB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0yMDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5tYWdpY2FsLWZpbmFsLXJlc3BvbnNlIHVsIHtcclxuICAgIEBhcHBseSBtYi00O1xyXG4gIH1cclxuICBcclxuICAubWFnaWNhbC1maW5hbC1yZXNwb25zZSBsaSB7XHJcbiAgICBAYXBwbHkgbWItMjtcclxuICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEJpbGxpbmcgJiBTZXR0aW5ncyBQYWdlIENvbXBvbmVudHNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIFNldHRpbmdzIENvbnRlbnQgTGF5b3V0ICovXHJcbi5zZXR0aW5ncy1jb250ZW50IHtcclxuICBAYXBwbHkgbWF4LXctNnhsIG14LWF1dG8gcC02IHNwYWNlLXktODtcclxufVxyXG5cclxuLnNldHRpbmdzLWhlYWRlciB7XHJcbiAgQGFwcGx5IG1iLTg7XHJcbn1cclxuXHJcbi5zZXR0aW5ncy1oZWFkZXIgaDIge1xyXG4gIEBhcHBseSB0ZXh0LTJ4bCBmb250LXNlbWlib2xkIHRleHQtc2xhdGUtOTAwIG1iLTI7XHJcbn1cclxuXHJcbi5zZXR0aW5ncy1oZWFkZXIgcCB7XHJcbiAgQGFwcGx5IHRleHQtc2xhdGUtNjAwO1xyXG59XHJcblxyXG4vKiBMb2FkaW5nIGFuZCBFcnJvciBTdGF0ZXMgKi9cclxuLmxvYWRpbmctc3Bpbm5lciB7XHJcbiAgQGFwcGx5IGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB5LTEyO1xyXG59XHJcblxyXG4uc3Bpbm5lciB7XHJcbiAgQGFwcGx5IHctOCBoLTggYm9yZGVyLTQgYm9yZGVyLXNsYXRlLTIwMCBib3JkZXItdC1ibHVlLTYwMCByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1zcGluIG1iLTQ7XHJcbn1cclxuXHJcbi5lcnJvci1tZXNzYWdlIHtcclxuICBAYXBwbHkgdGV4dC1jZW50ZXIgcHktMTI7XHJcbn1cclxuXHJcbi5lcnJvci1tZXNzYWdlIGgzIHtcclxuICBAYXBwbHkgdGV4dC1sZyBmb250LXNlbWlib2xkIHRleHQtcmVkLTYwMCBtYi0yO1xyXG59XHJcblxyXG4uZXJyb3ItbWVzc2FnZSBwIHtcclxuICBAYXBwbHkgdGV4dC1zbGF0ZS02MDAgbWItNDtcclxufVxyXG5cclxuLyogU2VjdGlvbiBIZWFkZXJzICovXHJcbi5zZWN0aW9uLWhlYWRlciB7XHJcbiAgQGFwcGx5IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBtYi02O1xyXG59XHJcblxyXG4uc2VjdGlvbi1oZWFkZXIgaDMge1xyXG4gIEBhcHBseSB0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdGV4dC1zbGF0ZS05MDA7XHJcbn1cclxuXHJcbi5zdGF0dXMtYmFkZ2Uge1xyXG4gIEBhcHBseSBweC0zIHB5LTEgdGV4dC1zbSBmb250LW1lZGl1bSByb3VuZGVkLWZ1bGw7XHJcbn1cclxuXHJcbi5zdGF0dXMtYmFkZ2UuYWN0aXZlIHtcclxuICBAYXBwbHkgYmctZ3JlZW4tMTAwIHRleHQtZ3JlZW4tNzAwO1xyXG59XHJcblxyXG4uc3RhdHVzLWJhZGdlLnRyaWFsIHtcclxuICBAYXBwbHkgYmctYmx1ZS0xMDAgdGV4dC1ibHVlLTcwMDtcclxufVxyXG5cclxuLnN0YXR1cy1iYWRnZS5jYW5jZWxsZWQge1xyXG4gIEBhcHBseSBiZy1yZWQtMTAwIHRleHQtcmVkLTcwMDtcclxufVxyXG5cclxuLnVzYWdlLXBlcmlvZCB7XHJcbiAgQGFwcGx5IHRleHQtc20gdGV4dC1zbGF0ZS01MDA7XHJcbn1cclxuXHJcbi5wZXJpb2QtaW5mbyB7XHJcbiAgQGFwcGx5IHRleHQtc20gdGV4dC1zbGF0ZS01MDA7XHJcbn1cclxuXHJcbi8qIEN1cnJlbnQgUGxhbiBTZWN0aW9uICovXHJcbi5jdXJyZW50LXBsYW4tc2VjdGlvbiB7XHJcbiAgQGFwcGx5IG1iLTg7XHJcbn1cclxuXHJcbi5jdXJyZW50LXBsYW4tY2FyZCB7XHJcbiAgQGFwcGx5IGJnLXdoaXRlIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIHJvdW5kZWQteGwgcC02O1xyXG59XHJcblxyXG4ucGxhbi1oZWFkZXIge1xyXG4gIEBhcHBseSBmbGV4IGl0ZW1zLXN0YXJ0IGp1c3RpZnktYmV0d2VlbiBtYi02O1xyXG59XHJcblxyXG4ucGxhbi1pbmZvIGg0IHtcclxuICBAYXBwbHkgdGV4dC14bCBmb250LXNlbWlib2xkIHRleHQtc2xhdGUtOTAwIG1iLTI7XHJcbn1cclxuXHJcbi5wbGFuLXByaWNlIHtcclxuICBAYXBwbHkgZmxleCBpdGVtcy1iYXNlbGluZSBnYXAtMTtcclxufVxyXG5cclxuLnBsYW4tcHJpY2UgLnByaWNlIHtcclxuICBAYXBwbHkgdGV4dC0yeGwgZm9udC1ib2xkIHRleHQtc2xhdGUtOTAwO1xyXG59XHJcblxyXG4ucGxhbi1wcmljZSAuY3ljbGUge1xyXG4gIEBhcHBseSB0ZXh0LXNsYXRlLTYwMDtcclxufVxyXG5cclxuLnBvcHVsYXItYmFkZ2Uge1xyXG4gIEBhcHBseSBweC0zIHB5LTEgYmctYmx1ZS0xMDAgdGV4dC1ibHVlLTcwMCB0ZXh0LXNtIGZvbnQtbWVkaXVtIHJvdW5kZWQtZnVsbDtcclxufVxyXG5cclxuLnBsYW4tZGV0YWlscyB7XHJcbiAgQGFwcGx5IHNwYWNlLXktMyBtYi02O1xyXG59XHJcblxyXG4uZGV0YWlsLXJvdyB7XHJcbiAgQGFwcGx5IGZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBweS0yO1xyXG59XHJcblxyXG4uZGV0YWlsLXJvdyAubGFiZWwge1xyXG4gIEBhcHBseSB0ZXh0LXNsYXRlLTYwMDtcclxufVxyXG5cclxuLmRldGFpbC1yb3cgLnZhbHVlIHtcclxuICBAYXBwbHkgZm9udC1tZWRpdW0gdGV4dC1zbGF0ZS05MDA7XHJcbn1cclxuXHJcbi5wbGFuLWFjdGlvbnMge1xyXG4gIEBhcHBseSBmbGV4IGdhcC0zO1xyXG59XHJcblxyXG4vKiBDcmVkaXQgVXNhZ2UgU2VjdGlvbiAqL1xyXG4uY3JlZGl0LXVzYWdlLXNlY3Rpb24ge1xyXG4gIEBhcHBseSBtYi04O1xyXG59XHJcblxyXG4uY3JlZGl0LXVzYWdlLWNhcmQge1xyXG4gIEBhcHBseSBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCByb3VuZGVkLXhsIHAtNjtcclxufVxyXG5cclxuLnVzYWdlLW92ZXJ2aWV3IHtcclxuICBAYXBwbHkgbWItNjtcclxufVxyXG5cclxuLnVzYWdlLXN0YXRzIHtcclxuICBAYXBwbHkgZ3JpZCBncmlkLWNvbHMtMyBnYXAtNiBtYi02O1xyXG59XHJcblxyXG4uc3RhdCB7XHJcbiAgQGFwcGx5IHRleHQtY2VudGVyO1xyXG59XHJcblxyXG4uc3RhdC1sYWJlbCB7XHJcbiAgQGFwcGx5IGJsb2NrIHRleHQtc20gdGV4dC1zbGF0ZS02MDAgbWItMTtcclxufVxyXG5cclxuLnN0YXQtdmFsdWUge1xyXG4gIEBhcHBseSBibG9jayB0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1zbGF0ZS05MDA7XHJcbn1cclxuXHJcbi51c2FnZS1wcm9ncmVzcyB7XHJcbiAgQGFwcGx5IG1iLTQ7XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1iYXIge1xyXG4gIEBhcHBseSB3LWZ1bGwgYmctc2xhdGUtMjAwIHJvdW5kZWQtZnVsbCBoLTMgbWItMjtcclxufVxyXG5cclxuLnByb2dyZXNzLWZpbGwge1xyXG4gIEBhcHBseSBoLWZ1bGwgcm91bmRlZC1mdWxsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I4MmY2O1xyXG59XHJcblxyXG4ucHJvZ3Jlc3MtZmlsbC53YXJuaW5nIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU5ZTBiO1xyXG59XHJcblxyXG4ucHJvZ3Jlc3MtZmlsbC5kYW5nZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZjQ0NDQ7XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1sYWJlbHMge1xyXG4gIEBhcHBseSBmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIHRleHQtc2xhdGUtNjAwO1xyXG59XHJcblxyXG4ub3ZlcmFnZS1ub3RpY2UsXHJcbi53YXJuaW5nLW5vdGljZSB7XHJcbiAgQGFwcGx5IGZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHAtMyByb3VuZGVkLWxnO1xyXG59XHJcblxyXG4ub3ZlcmFnZS1ub3RpY2Uge1xyXG4gIEBhcHBseSBiZy1yZWQtNTAgYm9yZGVyIGJvcmRlci1yZWQtMjAwIHRleHQtcmVkLTcwMDtcclxufVxyXG5cclxuLndhcm5pbmctbm90aWNlIHtcclxuICBAYXBwbHkgYmctb3JhbmdlLTUwIGJvcmRlciBib3JkZXItb3JhbmdlLTIwMCB0ZXh0LW9yYW5nZS03MDA7XHJcbn1cclxuXHJcbi5jcmVkaXQtYnJlYWtkb3duIHtcclxuICBAYXBwbHkgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTIwMCBwdC00O1xyXG59XHJcblxyXG4uY3JlZGl0LWJyZWFrZG93biBoNCB7XHJcbiAgQGFwcGx5IHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1zbGF0ZS05MDAgbWItMztcclxufVxyXG5cclxuLmJyZWFrZG93bi1pdGVtIHtcclxuICBAYXBwbHkgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHB5LTI7XHJcbn1cclxuXHJcbi5icmVha2Rvd24taXRlbSAubGFiZWwge1xyXG4gIEBhcHBseSB0ZXh0LXNsYXRlLTYwMDtcclxufVxyXG5cclxuLmJyZWFrZG93bi1pdGVtIC52YWx1ZSB7XHJcbiAgQGFwcGx5IGZvbnQtbWVkaXVtIHRleHQtc2xhdGUtOTAwO1xyXG59XHJcblxyXG4vKiBQbGFucyBHcmlkICovXHJcbi5wbGFucy1ncmlkIHtcclxuICBAYXBwbHkgZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBsZzpncmlkLWNvbHMtMyBnYXAtNjtcclxufVxyXG5cclxuLnBsYW4tY2FyZCB7XHJcbiAgQGFwcGx5IHJlbGF0aXZlIGJnLXdoaXRlIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIHJvdW5kZWQteGwgcC02IHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBob3ZlcjpzaGFkb3ctbGc7XHJcbn1cclxuXHJcbi5wbGFuLWNhcmQuY3VycmVudCB7XHJcbiAgQGFwcGx5IGJvcmRlci1ibHVlLTMwMCByaW5nLTIgcmluZy1ibHVlLTEwMDtcclxufVxyXG5cclxuLnBsYW4tY2FyZC5wb3B1bGFyIHtcclxuICBAYXBwbHkgYm9yZGVyLWJsdWUtMzAwIHJpbmctMiByaW5nLWJsdWUtMTAwIHRyYW5zZm9ybSBzY2FsZS0xMDU7XHJcbn1cclxuXHJcbi5wbGFuLWJhZGdlIHtcclxuICBAYXBwbHkgYWJzb2x1dGUgLXRvcC0zIGxlZnQtMS8yIHRyYW5zZm9ybSAtdHJhbnNsYXRlLXgtMS8yIHB4LTQgcHktMSBiZy1ibHVlLTYwMCB0ZXh0LXdoaXRlIHRleHQtc20gZm9udC1tZWRpdW0gcm91bmRlZC1mdWxsO1xyXG59XHJcblxyXG4ucGxhbi1jYXJkIC5wbGFuLWhlYWRlciB7XHJcbiAgQGFwcGx5IHRleHQtY2VudGVyIG1iLTY7XHJcbn1cclxuXHJcbi5wbGFuLWNhcmQgLnBsYW4taGVhZGVyIGgzIHtcclxuICBAYXBwbHkgdGV4dC14bCBmb250LXNlbWlib2xkIHRleHQtc2xhdGUtOTAwIG1iLTM7XHJcbn1cclxuXHJcbi5wbGFuLWNhcmQgLnBsYW4tcHJpY2Uge1xyXG4gIEBhcHBseSBmbGV4IGl0ZW1zLWJhc2VsaW5lIGp1c3RpZnktY2VudGVyIGdhcC0xIG1iLTI7XHJcbn1cclxuXHJcbi5wbGFuLWNhcmQgLnBsYW4tcHJpY2UgLnByaWNlIHtcclxuICBAYXBwbHkgdGV4dC0zeGwgZm9udC1ib2xkIHRleHQtc2xhdGUtOTAwO1xyXG59XHJcblxyXG4ucGxhbi1jYXJkIC5wbGFuLXByaWNlIC5jeWNsZSB7XHJcbiAgQGFwcGx5IHRleHQtc2xhdGUtNjAwO1xyXG59XHJcblxyXG4ueWVhcmx5LXByaWNlIHtcclxuICBAYXBwbHkgdGV4dC1jZW50ZXI7XHJcbn1cclxuXHJcbi55ZWFybHktbGFiZWwge1xyXG4gIEBhcHBseSB0ZXh0LXNtIHRleHQtc2xhdGUtNjAwO1xyXG59XHJcblxyXG4uc2F2aW5ncyB7XHJcbiAgQGFwcGx5IG1sLTIgcHgtMiBweS0xIGJnLWdyZWVuLTEwMCB0ZXh0LWdyZWVuLTcwMCB0ZXh0LXhzIGZvbnQtbWVkaXVtIHJvdW5kZWQtZnVsbDtcclxufVxyXG5cclxuLnBsYW4tZmVhdHVyZXMge1xyXG4gIEBhcHBseSBtYi02O1xyXG59XHJcblxyXG4ucGxhbi1mZWF0dXJlcyB1bCB7XHJcbiAgQGFwcGx5IHNwYWNlLXktMjtcclxufVxyXG5cclxuLnBsYW4tZmVhdHVyZXMgbGkge1xyXG4gIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXNtIHRleHQtc2xhdGUtNjAwO1xyXG59XHJcblxyXG4uaWNvbi1jaGVjayB7XHJcbiAgQGFwcGx5IHRleHQtZ3JlZW4tNTAwO1xyXG59XHJcblxyXG4uaWNvbi1jaGVjazo6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcXFwyNzEzXCI7XHJcbn1cclxuXHJcbi5wbGFuLWFjdGlvbnMge1xyXG4gIEBhcHBseSB0ZXh0LWNlbnRlcjtcclxufVxyXG5cclxuLyogVGFibGVzICovXHJcbi51c2FnZS1oaXN0b3J5LXNlY3Rpb24sXHJcbi5iaWxsaW5nLWhpc3Rvcnktc2VjdGlvbiB7XHJcbiAgQGFwcGx5IG1iLTg7XHJcbn1cclxuXHJcbi51c2FnZS1oaXN0b3J5LXRhYmxlLFxyXG4uYmlsbGluZy1oaXN0b3J5LXRhYmxlIHtcclxuICBAYXBwbHkgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW47XHJcbn1cclxuXHJcbi51c2FnZS1oaXN0b3J5LXRhYmxlIHRhYmxlLFxyXG4uYmlsbGluZy1oaXN0b3J5LXRhYmxlIHRhYmxlIHtcclxuICBAYXBwbHkgdy1mdWxsO1xyXG59XHJcblxyXG4udXNhZ2UtaGlzdG9yeS10YWJsZSB0aCxcclxuLmJpbGxpbmctaGlzdG9yeS10YWJsZSB0aCB7XHJcbiAgQGFwcGx5IHB4LTYgcHktMyBiZy1zbGF0ZS01MCB0ZXh0LWxlZnQgdGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXNsYXRlLTUwMCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXI7XHJcbn1cclxuXHJcbi51c2FnZS1oaXN0b3J5LXRhYmxlIHRkLFxyXG4uYmlsbGluZy1oaXN0b3J5LXRhYmxlIHRkIHtcclxuICBAYXBwbHkgcHgtNiBweS00IHdoaXRlc3BhY2Utbm93cmFwIHRleHQtc20gdGV4dC1zbGF0ZS05MDAgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTIwMDtcclxufVxyXG5cclxuLnRyYW5zYWN0aW9uLXR5cGUge1xyXG4gIEBhcHBseSBweC0yIHB5LTEgdGV4dC14cyBmb250LW1lZGl1bSByb3VuZGVkLWZ1bGw7XHJcbn1cclxuXHJcbi50cmFuc2FjdGlvbi10eXBlLnN1YnNjcmlwdGlvbl9jcmVkaXRzIHtcclxuICBAYXBwbHkgYmctYmx1ZS0xMDAgdGV4dC1ibHVlLTcwMDtcclxufVxyXG5cclxuLnRyYW5zYWN0aW9uLXR5cGUubW9udGhseV9yZW5ld2FsIHtcclxuICBAYXBwbHkgYmctZ3JlZW4tMTAwIHRleHQtZ3JlZW4tNzAwO1xyXG59XHJcblxyXG4udHJhbnNhY3Rpb24tdHlwZS50b3B1cCB7XHJcbiAgQGFwcGx5IGJnLXB1cnBsZS0xMDAgdGV4dC1wdXJwbGUtNzAwO1xyXG59XHJcblxyXG4vKiBQYXltZW50IE1ldGhvZCBTZWN0aW9uICovXHJcbi5wYXltZW50LW1ldGhvZC1zZWN0aW9uIHtcclxuICBAYXBwbHkgbWItODtcclxufVxyXG5cclxuLnBheW1lbnQtbWV0aG9kLWNhcmQge1xyXG4gIEBhcHBseSBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCByb3VuZGVkLXhsIHAtNiBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW47XHJcbn1cclxuXHJcbi5wYXltZW50LWluZm8ge1xyXG4gIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNDtcclxufVxyXG5cclxuLmljb24tY3JlZGl0LWNhcmQge1xyXG4gIEBhcHBseSB3LTEwIGgtMTAgYmctc2xhdGUtMTAwIHJvdW5kZWQtbGcgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1zbGF0ZS02MDA7XHJcbn1cclxuXHJcbi5pY29uLWNyZWRpdC1jYXJkOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiQ0NcIjtcclxuICBAYXBwbHkgdGV4dC14cyBmb250LWJvbGQ7XHJcbn1cclxuXHJcbi5jYXJkLWRldGFpbHMge1xyXG4gIEBhcHBseSBmbGV4IGZsZXgtY29sO1xyXG59XHJcblxyXG4uY2FyZC10eXBlIHtcclxuICBAYXBwbHkgZm9udC1tZWRpdW0gdGV4dC1zbGF0ZS05MDA7XHJcbn1cclxuXHJcbi5jYXJkLW51bWJlciB7XHJcbiAgQGFwcGx5IHRleHQtc2xhdGUtNjAwO1xyXG59XHJcblxyXG4uY2FyZC1leHBpcnkge1xyXG4gIEBhcHBseSB0ZXh0LXNtIHRleHQtc2xhdGUtNTAwO1xyXG59XHJcblxyXG4vKiBJY29uIHN0eWxlcyB0ZW1wb3JhcmlseSByZW1vdmVkIHRvIGZpeCB3ZWJwYWNrIGNvbXBpbGF0aW9uICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBMYXlvdXQgJiBOYXZpZ2F0aW9uIENvbXBvbmVudHMgLSBSZXNwb25zaXZlIERlc2lnblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogTW9iaWxlIFNpZGViYXIgT3ZlcmxheSAqL1xyXG4ubW9iaWxlLXNpZGViYXItb3ZlcmxheSB7XHJcbiAgQGFwcGx5IGZpeGVkIGluc2V0LTAgYmctYmxhY2sgYmctb3BhY2l0eS01MCB6LTQwIGxnOmhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5tb2JpbGUtc2lkZWJhci1vdmVybGF5LmhpZGRlbiB7XHJcbiAgQGFwcGx5IG9wYWNpdHktMCBwb2ludGVyLWV2ZW50cy1ub25lO1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIFNpZGViYXIgKi9cclxuLnNpZGViYXIge1xyXG4gIEBhcHBseSBmaXhlZCBsZWZ0LTAgdG9wLTE2IGJvdHRvbS0wIHctNjQgYmctd2hpdGUgYm9yZGVyLXIgYm9yZGVyLXNsYXRlLTIwMFxyXG4gICAgICAgICBvdmVyZmxvdy15LWF1dG8gdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIHotNTA7XHJcbn1cclxuXHJcbi8qIE1vYmlsZTogSGlkZSBzaWRlYmFyIGJ5IGRlZmF1bHQsIHNob3cgYXMgb3ZlcmxheSB3aGVuIG9wZW4gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xyXG4gIC5zaWRlYmFyIHtcclxuICAgIEBhcHBseSAtdHJhbnNsYXRlLXgtZnVsbDtcclxuICB9XHJcblxyXG4gIC5zaWRlYmFyLm1vYmlsZS1vcGVuIHtcclxuICAgIEBhcHBseSB0cmFuc2xhdGUteC0wO1xyXG4gIH1cclxufVxyXG5cclxuLyogRGVza3RvcDogQ29sbGFwc2VkIHNpZGViYXIgKi9cclxuLnNpZGViYXIuY29sbGFwc2VkIHtcclxuICBAYXBwbHkgdy0xNjtcclxufVxyXG5cclxuLyogU2V0dGluZ3MgU2lkZWJhciBTcGVjaWZpYyBTdHlsZXMgKi9cclxuLnNldHRpbmdzLXNpZGViYXIge1xyXG4gIEBhcHBseSBmaXhlZCBsZWZ0LTAgdG9wLTE2IGJvdHRvbS0wIHctNjQgYmctd2hpdGUgYm9yZGVyLXIgYm9yZGVyLXNsYXRlLTIwMFxyXG4gICAgICAgICBvdmVyZmxvdy15LWF1dG8gdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIHotNTA7XHJcbn1cclxuXHJcbi8qIE1vYmlsZTogSGlkZSBzZXR0aW5ncyBzaWRlYmFyIGJ5IGRlZmF1bHQsIHNob3cgYXMgb3ZlcmxheSB3aGVuIG9wZW4gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xyXG4gIC5zZXR0aW5ncy1zaWRlYmFyIHtcclxuICAgIEBhcHBseSAtdHJhbnNsYXRlLXgtZnVsbDtcclxuICB9XHJcblxyXG4gIC5zZXR0aW5ncy1zaWRlYmFyLm1vYmlsZS1vcGVuIHtcclxuICAgIEBhcHBseSB0cmFuc2xhdGUteC0wO1xyXG4gIH1cclxufVxyXG5cclxuLyogU2V0dGluZ3MgTWFpbiBDb250ZW50ICovXHJcbi5zZXR0aW5ncy1tYWluLWNvbnRlbnQge1xyXG4gIEBhcHBseSBwdC0xNiBtaW4taC1zY3JlZW4gYmctc2xhdGUtNTAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwO1xyXG59XHJcblxyXG4vKiBEZXNrdG9wOiBBZGQgbGVmdCBtYXJnaW4gZm9yIHNldHRpbmdzIHNpZGViYXIgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4gIC5zZXR0aW5ncy1tYWluLWNvbnRlbnQge1xyXG4gICAgQGFwcGx5IG1sLTY0O1xyXG4gIH1cclxufVxyXG5cclxuLyogTW9iaWxlOiBGdWxsIHdpZHRoIGZvciBzZXR0aW5ncyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAgLnNldHRpbmdzLW1haW4tY29udGVudCB7XHJcbiAgICBAYXBwbHkgbWwtMDtcclxuICB9XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgTWFpbiBDb250ZW50ICovXHJcbi5tYWluLWNvbnRlbnQge1xyXG4gIEBhcHBseSBwdC0xNiBtaW4taC1zY3JlZW4gYmctZ3JheS01MCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDA7XHJcbn1cclxuXHJcbi8qIE1vYmlsZTogRnVsbCB3aWR0aCAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAgLm1haW4tY29udGVudCB7XHJcbiAgICBAYXBwbHkgbWwtMDtcclxuICB9XHJcbn1cclxuXHJcbi8qIERlc2t0b3A6IEFkanVzdCBmb3Igc2lkZWJhciAqL1xyXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgLm1haW4tY29udGVudCB7XHJcbiAgICBAYXBwbHkgbWwtNjQ7XHJcbiAgfVxyXG5cclxuICAubWFpbi1jb250ZW50LnNpZGViYXItY29sbGFwc2VkIHtcclxuICAgIEBhcHBseSBtbC0xNjtcclxuICB9XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgVG9wIE5hdmlnYXRpb24gKi9cclxuLnRvcC1uYXYge1xyXG4gIEBhcHBseSBmaXhlZCB0b3AtMCBsZWZ0LTAgcmlnaHQtMCBoLTE2IGJnLXdoaXRlIGJvcmRlci1iIGJvcmRlci1zbGF0ZS0yMDAgei01MCBzaGFkb3ctc207XHJcbn1cclxuXHJcbi50b3AtbmF2LWNvbnRlbnQge1xyXG4gIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gaC1mdWxsIHB4LTQgc206cHgtNjtcclxufVxyXG5cclxuLyogTW9iaWxlOiBIaWRlIHNvbWUgZWxlbWVudHMsIGFkanVzdCBzcGFjaW5nICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gIC50b3AtbmF2LWxlZnQge1xyXG4gICAgQGFwcGx5IGZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMjtcclxuICB9XHJcblxyXG4gIC50b3AtbmF2LXNlYXJjaCB7XHJcbiAgICBAYXBwbHkgaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLnRvcC1uYXYtcmlnaHQge1xyXG4gICAgQGFwcGx5IGZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMjtcclxuICB9XHJcblxyXG4gIC50b3AtbmF2LWNyZWRpdHMge1xyXG4gICAgQGFwcGx5IGhpZGRlbjtcclxuICB9XHJcblxyXG4gIC50b3AtbmF2LXVzZXItdGV4dCB7XHJcbiAgICBAYXBwbHkgaGlkZGVuO1xyXG4gIH1cclxufVxyXG5cclxuLyogVGFibGV0OiBTaG93IG1vcmUgZWxlbWVudHMgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAgLnRvcC1uYXYtbGVmdCB7XHJcbiAgICBAYXBwbHkgZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC00O1xyXG4gIH1cclxuXHJcbiAgLnRvcC1uYXYtc2VhcmNoIHtcclxuICAgIEBhcHBseSB3LTQ4O1xyXG4gIH1cclxuXHJcbiAgLnRvcC1uYXYtcmlnaHQge1xyXG4gICAgQGFwcGx5IGZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMztcclxuICB9XHJcblxyXG4gIC50b3AtbmF2LWNyZWRpdHMge1xyXG4gICAgQGFwcGx5IGZsZXg7XHJcbiAgfVxyXG5cclxuICAudG9wLW5hdi11c2VyLXRleHQge1xyXG4gICAgQGFwcGx5IGhpZGRlbjtcclxuICB9XHJcbn1cclxuXHJcbi8qIERlc2t0b3A6IFNob3cgYWxsIGVsZW1lbnRzICovXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAudG9wLW5hdi1sZWZ0IHtcclxuICAgIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTY7XHJcbiAgfVxyXG5cclxuICAudG9wLW5hdi1zZWFyY2gge1xyXG4gICAgQGFwcGx5IHctYXV0bztcclxuICB9XHJcblxyXG4gIC50b3AtbmF2LXJpZ2h0IHtcclxuICAgIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTQ7XHJcbiAgfVxyXG5cclxuICAudG9wLW5hdi1jcmVkaXRzIHtcclxuICAgIEBhcHBseSBmbGV4O1xyXG4gIH1cclxuXHJcbiAgLnRvcC1uYXYtdXNlci10ZXh0IHtcclxuICAgIEBhcHBseSBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi8qIFNpZGViYXIgUmVzcG9uc2l2ZSBFbGVtZW50cyAqL1xyXG4uc2lkZWJhci10ZXh0IHtcclxuICBAYXBwbHkgdHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTMwMDtcclxufVxyXG5cclxuLnNpZGViYXItY29udGVudCB7XHJcbiAgQGFwcGx5IHRyYW5zaXRpb24tb3BhY2l0eSBkdXJhdGlvbi0zMDA7XHJcbn1cclxuXHJcbi5zaWRlYmFyLWljb24ge1xyXG4gIEBhcHBseSByZWxhdGl2ZTtcclxufVxyXG5cclxuLyogRGVza3RvcCBjb2xsYXBzZWQgc2lkZWJhcjogSGlkZSB0ZXh0IGFuZCBjb250ZW50ICovXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAuc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItdGV4dCB7XHJcbiAgICBAYXBwbHkgb3BhY2l0eS0wIHBvaW50ZXItZXZlbnRzLW5vbmU7XHJcbiAgfVxyXG5cclxuICAuc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItY29udGVudCB7XHJcbiAgICBAYXBwbHkgb3BhY2l0eS0wIHBvaW50ZXItZXZlbnRzLW5vbmU7XHJcbiAgfVxyXG5cclxuICAuc2lkZWJhci5jb2xsYXBzZWQgLnN1cGVydmlzb3ItY2FyZCB7XHJcbiAgICBAYXBwbHkgaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLnNpZGViYXIuY29sbGFwc2VkIC5ib3R0b20tbWVudSB7XHJcbiAgICBAYXBwbHkgaGlkZGVuO1xyXG4gIH1cclxufVxyXG5cclxuLyogTW9iaWxlIEhhbWJ1cmdlciBNZW51ICovXHJcbi5tb2JpbGUtbWVudS1idXR0b24ge1xyXG4gIEBhcHBseSBwLTIgdGV4dC1zbGF0ZS02MDAgaG92ZXI6dGV4dC1zbGF0ZS04MDAgaG92ZXI6Ymctc2xhdGUtMTAwXHJcbiAgICAgICAgIHJvdW5kZWQtbGcgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMjAwIGZvY3VzOnJpbmctMlxyXG4gICAgICAgICBmb2N1czpyaW5nLXNsYXRlLTUwMCBmb2N1czpyaW5nLW9mZnNldC0yIGZvY3VzOm91dGxpbmUtbm9uZSBsZzpoaWRkZW47XHJcbn1cclxuXHJcbi8qIERhc2hib2FyZCBHcmlkIFJlc3BvbnNpdmUgKi9cclxuLmRhc2hib2FyZC1ncmlkIHtcclxuICBAYXBwbHkgZ3JpZCBnYXAtNCBncmlkLWNvbHMtMTtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgLmRhc2hib2FyZC1ncmlkIHtcclxuICAgIEBhcHBseSBncmlkLWNvbHMtMjtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAuZGFzaGJvYXJkLWdyaWQge1xyXG4gICAgQGFwcGx5IGdyaWQtY29scy0zO1xyXG4gIH1cclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBQYWRkaW5nIGZvciBNYWluIENvbnRlbnQgKi9cclxuLm1haW4tY29udGVudC1wYWRkaW5nIHtcclxuICBAYXBwbHkgcC00IHNtOnAtNjtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQWNjZXNzaWJpbGl0eSAmIE1vdGlvbiBQcmVmZXJlbmNlc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogUmVzcGVjdCByZWR1Y2VkIG1vdGlvbiBwcmVmZXJlbmNlcyAqL1xyXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xyXG4gICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIge1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcclxuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLyogSGlnaCBjb250cmFzdCBtb2RlIHN1cHBvcnQgKi9cclxuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XHJcbiAgLmJ0bi1wcmltYXJ5IHtcclxuICAgIEBhcHBseSBib3JkZXItMiBib3JkZXItYmx1ZS04MDA7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1pbnB1dCB7XHJcbiAgICBAYXBwbHkgYm9yZGVyLTIgYm9yZGVyLXNsYXRlLTQwMDtcclxuICB9XHJcblxyXG4gIC5jYXJkIHtcclxuICAgIEBhcHBseSBib3JkZXItMiBib3JkZXItc2xhdGUtMzAwO1xyXG4gIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUHJpbnQgU3R5bGVzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4gICoge1xyXG4gICAgQGFwcGx5IHRleHQtYmxhY2sgYmctd2hpdGU7XHJcbiAgfVxyXG5cclxuICAuYnRuLXByaW1hcnksXHJcbiAgLmJ0bi1zZWNvbmRhcnksXHJcbiAgLmJ0bi10ZXJ0aWFyeSB7XHJcbiAgICBAYXBwbHkgYm9yZGVyIGJvcmRlci1ibGFjaztcclxuICB9XHJcblxyXG4gIC5uYXYtc2lkZWJhcixcclxuICAubmF2LW1vYmlsZSxcclxuICAubW9kYWwtYmFja2Ryb3Age1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLyogRGFzaGJvYXJkIFNsaWRlciBBbmltYXRpb25zICovXHJcbkBrZXlmcmFtZXMgZmFkZUluVXAge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hbmltYXRlLWZhZGVJblVwIHtcclxuICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMC40cyBlYXNlLW91dCBmb3J3YXJkcztcclxufVxyXG5cclxuLyogU2NhbGUgdXRpbGl0aWVzIGZvciBzbW9vdGggdHJhbnNpdGlvbnMgKi9cclxuLnNjYWxlLTk4IHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XHJcbn1cclxuXHJcbi5zY2FsZS0xMDAge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxufVxyXG5cclxuLnNjYWxlLTExMCB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbn1cclxuXHJcbi5zY2FsZS0xMjUge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcclxufVxyXG5cclxuLyogTGluZSBjbGFtcCB1dGlsaXR5IGZvciB0ZXh0IHRydW5jYXRpb24gKi9cclxuLmxpbmUtY2xhbXAtMSB7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMTtcclxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBQdWxzZSBhbmltYXRpb24gZm9yIHN0YXR1cyBkb3RzICovXHJcbkBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gICAgMCUsIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxufVxyXG5cclxuLmFuaW1hdGUtcHVsc2Uge1xyXG4gICAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xyXG59XHJcblxyXG4vKiBTbW9vdGggaG92ZXIgdHJhbnNpdGlvbnMgZm9yIGNhcmRzICovXHJcbi5ob3ZlclxcOnNoYWRvdy1tZDpob3ZlciB7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XHJcbn1cclxuXHJcbi5ob3ZlclxcOi10cmFuc2xhdGUteS0xOmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7XHJcbn1cclxuXHJcbi8qIEJ1dHRvbiBhY3RpdmUgc3RhdGVzICovXHJcbi5hY3RpdmVcXDpzY2FsZS05NTphY3RpdmUge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcclxufVxyXG5cclxuLyogRGlzYWJsZWQgc3RhdGUgb3BhY2l0eSAqL1xyXG4uZGlzYWJsZWRcXDpvcGFjaXR5LTUwOmRpc2FibGVkIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuLyogVXRpbGl0aWVzIExheWVyIC0gQ3VzdG9tIFV0aWxpdGllcyAqL1xyXG5AbGF5ZXIgdXRpbGl0aWVzIHtcclxuXHJcbiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBBbmltYXRpb24gVXRpbGl0aWVzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgLyogU2xpZGUgVXAgQW5pbWF0aW9uICovXHJcbiAgQGtleWZyYW1lcyBzbGlkZS11cCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hbmltYXRlLXNsaWRlLXVwIHtcclxuICAgIGFuaW1hdGlvbjogc2xpZGUtdXAgMjUwbXMgZWFzZS1vdXQ7XHJcbiAgfVxyXG5cclxuICAvKiBGYWRlIEluIEFuaW1hdGlvbiAqL1xyXG4gIEBrZXlmcmFtZXMgZmFkZS1pbiB7XHJcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgdG8geyBvcGFjaXR5OiAxOyB9XHJcbiAgfVxyXG5cclxuICAuYW5pbWF0ZS1mYWRlLWluIHtcclxuICAgIGFuaW1hdGlvbjogZmFkZS1pbiAzMDBtcyBlYXNlLW91dDtcclxuICB9XHJcbiAgXHJcbiAgLyogRmFkZUluIEFuaW1hdGlvbiBmb3IgUmVnaXN0ZXJGb3JtICovXHJcbiAgQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpOyB9XHJcbiAgICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gIH1cclxuXHJcbiAgLyogT25ib2FyZGluZy1zcGVjaWZpYyBhbmltYXRpb25zICovXHJcbiAgQGtleWZyYW1lcyBib3VuY2UtZ2VudGxlIHtcclxuICAgIDAlLCAxMDAlIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFuaW1hdGUtYm91bmNlLWdlbnRsZSB7XHJcbiAgICBhbmltYXRpb246IGJvdW5jZS1nZW50bGUgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbiAgfVxyXG5cclxuICBAa2V5ZnJhbWVzIHB1bHNlLWdlbnRsZSB7XHJcbiAgICAwJSwgMTAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuOTtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hbmltYXRlLXB1bHNlLWdlbnRsZSB7XHJcbiAgICBhbmltYXRpb246IHB1bHNlLWdlbnRsZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuICB9XHJcblxyXG4gIEBrZXlmcmFtZXMgc2NhbGUtaW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hbmltYXRlLXNjYWxlLWluIHtcclxuICAgIGFuaW1hdGlvbjogc2NhbGUtaW4gNDAwbXMgZWFzZS1vdXQ7XHJcbiAgfVxyXG5cclxuICAvKiBBbmltYXRpb24gdXRpbGl0eSBjbGFzc2VzICovXHJcbiAgLmFuaW1hdGUtbWFnaWNhbC1mbG9hdCB7XHJcbiAgICBhbmltYXRpb246IG1hZ2ljYWwtZmxvYXQgMnMgZWFzZS1vdXQgZm9yd2FyZHM7XHJcbiAgfVxyXG5cclxuICAuYW5pbWF0ZS1tYWdpY2FsLWdsb3cge1xyXG4gICAgYW5pbWF0aW9uOiBtYWdpY2FsLWdsb3cgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbiAgfVxyXG5cclxuICAuYW5pbWF0ZS1tYWdpY2FsLXB1bHNlIHtcclxuICAgIGFuaW1hdGlvbjogbWFnaWNhbC1wdWxzZSAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xyXG4gIH1cclxuXHJcbiAgLmFuaW1hdGUtbWFnaWNhbC1ib3VuY2Uge1xyXG4gICAgYW5pbWF0aW9uOiBtYWdpY2FsLWJvdW5jZSAwLjhzIGVhc2Utb3V0IGZvcndhcmRzO1xyXG4gIH1cclxuXHJcbiAgLmFuaW1hdGUtbWFnaWNhbC1yaW5nIHtcclxuICAgIGFuaW1hdGlvbjogbWFnaWNhbC1yaW5nIDFzIGVhc2Utb3V0IGZvcndhcmRzO1xyXG4gIH1cclxuXHJcbiAgLmFuaW1hdGUtbWFnaWNhbC1jb21wbGV0aW9uIHtcclxuICAgIGFuaW1hdGlvbjogbWFnaWNhbC1jb21wbGV0aW9uIDEuMnMgZWFzZS1vdXQgZm9yd2FyZHM7XHJcbiAgfVxyXG5cclxuICAuYW5pbWF0ZS1tYWdpY2FsLXRleHQtZ2xvdyB7XHJcbiAgICBhbmltYXRpb246IG1hZ2ljYWwtdGV4dC1nbG93IDJzIGVhc2UtaW4tb3V0IDM7XHJcbiAgfVxyXG5cclxuICAuYW5pbWF0ZS1tYWdpY2FsLXNwYXJrbGUge1xyXG4gICAgYW5pbWF0aW9uOiBtYWdpY2FsLXNwYXJrbGUgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbiAgfVxyXG5cclxuICAuYW5pbWF0ZS1tYWdpY2FsLWJ1dHRvbi1nbG93IHtcclxuICAgIGFuaW1hdGlvbjogbWFnaWNhbC1idXR0b24tZ2xvdyAxLjVzIGVhc2UtaW4tb3V0IDI7XHJcbiAgfVxyXG5cclxuICAuYW5pbWF0ZS1tYWdpY2FsLWNvbnRlbnQtcmV2ZWFsIHtcclxuICAgIGFuaW1hdGlvbjogbWFnaWNhbC1jb250ZW50LXJldmVhbCAwLjhzIGVhc2Utb3V0IGZvcndhcmRzO1xyXG4gIH1cclxuXHJcbiAgLmFuaW1hdGUtbWFnaWNhbC1yZXN1bHQtYXBwZWFyIHtcclxuICAgIGFuaW1hdGlvbjogbWFnaWNhbC1yZXN1bHQtYXBwZWFyIDFzIGVhc2Utb3V0IDAuNXMgZm9yd2FyZHM7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgLyogTWlzc2luZyBhbmltYXRpb25zIGZvciBjb21wYXJpc29uIGNvbXBvbmVudCAqL1xyXG4gIEBrZXlmcmFtZXMgc3RyZXNzLWJvdW5jZSB7XHJcbiAgICAwJSwgMTAwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKHZhcigtLXJvdGF0aW9uLCAwZGVnKSk7XHJcbiAgICB9XHJcbiAgICAyNSUge1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSh2YXIoLS1yb3RhdGlvbiwgMGRlZykpO1xyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUodmFyKC0tcm90YXRpb24sIDBkZWcpKTtcclxuICAgIH1cclxuICAgIDc1JSB7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKHZhcigtLXJvdGF0aW9uLCAwZGVnKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYW5pbWF0ZS1zdHJlc3MtYm91bmNlIHtcclxuICAgIGFuaW1hdGlvbjogc3RyZXNzLWJvdW5jZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuICB9XHJcblxyXG4gIEBrZXlmcmFtZXMgZ2VudGxlLXB1bHNlIHtcclxuICAgIDAlLCAxMDAlIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hbmltYXRlLWdlbnRsZS1wdWxzZSB7XHJcbiAgICBhbmltYXRpb246IGdlbnRsZS1wdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuICB9XHJcblxyXG4gIEBrZXlmcmFtZXMgc2xvdy1zcGluIHtcclxuICAgIGZyb20ge1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hbmltYXRlLXNsb3ctc3BpbiB7XHJcbiAgICBhbmltYXRpb246IHNsb3ctc3BpbiAyMHMgbGluZWFyIGluZmluaXRlO1xyXG4gIH1cclxuXHJcbiAgLyogSG9yaXpvbnRhbCBib3VuY2UgZm9yIGFycm93ICovXHJcbiAgQGtleWZyYW1lcyBib3VuY2UteCB7XHJcbiAgICAwJSwgMTAwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFuaW1hdGUtYm91bmNlLXgge1xyXG4gICAgYW5pbWF0aW9uOiBib3VuY2UteCAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuICB9XHJcblxyXG4gIC8qIFJlc3BvbnNpdmUgVXRpbGl0aWVzICovXHJcbiAgLnNjcm9sbGJhci1oaWRlIHtcclxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcclxuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcclxuICB9XHJcblxyXG4gIC5zY3JvbGxiYXItaGlkZTo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8qIExpbmUgY2xhbXAgdXRpbGl0aWVzICovXHJcbiAgLmxpbmUtY2xhbXAtMiB7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLmxpbmUtY2xhbXAtMyB7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcclxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLyogU2FmZSBBcmVhIFBhZGRpbmcgZm9yIE1vYmlsZSBOYXYgKi9cclxuICAuc2FmZS10b3Age1xyXG4gICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcclxuICB9XHJcblxyXG4gIC5zYWZlLWJvdHRvbSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xyXG4gIH1cclxuXHJcbiAgLmFnZW50LWNvbW1hbmQtY2VudGVyLWdyYWRpZW50IHtcclxuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDgwJSA1MCUgYXQgNTAlIC0yMCUscmdiYSgxMjAsMTE5LDE5OCwuMyksaHNsYSgwLDAlLDEwMCUsMCkpO1xyXG4gIH1cclxuXHJcbiAgLmZhZGUtaW4tdXAge1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAwLjVzIGVhc2Utb3V0IGZvcndhcmRzO1xyXG4gIH1cclxuXHJcbiAgQGtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiBNYWdpY2FsIGZsb2F0aW5nIHBhcnRpY2xlcyBhbmltYXRpb24gKi9cclxuICBAa2V5ZnJhbWVzIG1hZ2ljYWwtZmxvYXQge1xyXG4gICAgMCUge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC41KTtcclxuICAgIH1cclxuICAgIDIwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcclxuICAgIH1cclxuICAgIDgwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCkgc2NhbGUoMS4yKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpIHNjYWxlKDAuMyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiBNYWdpY2FsIGdsb3cgZWZmZWN0ICovXHJcbiAgQGtleWZyYW1lcyBtYWdpY2FsLWdsb3cge1xyXG4gICAgMCUsIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiBNYWdpY2FsIHB1bHNlIGVmZmVjdCAqL1xyXG4gIEBrZXlmcmFtZXMgbWFnaWNhbC1wdWxzZSB7XHJcbiAgICAwJSwgMTAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuMjtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIE1hZ2ljYWwgY29tcGxldGlvbiBib3VuY2UgKi9cclxuICBAa2V5ZnJhbWVzIG1hZ2ljYWwtYm91bmNlIHtcclxuICAgIDAlIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuICAgIDMwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSByb3RhdGUoNWRlZyk7XHJcbiAgICB9XHJcbiAgICA2MCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpIHJvdGF0ZSgwZGVnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIE1hZ2ljYWwgcmluZyBleHBhbnNpb24gKi9cclxuICBAa2V5ZnJhbWVzIG1hZ2ljYWwtcmluZyB7XHJcbiAgICAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiBNYWdpY2FsIGNvbXBsZXRpb24gYW5pbWF0aW9uIGZvciB0aGUgZW50aXJlIHN0ZXAgKi9cclxuICBAa2V5ZnJhbWVzIG1hZ2ljYWwtY29tcGxldGlvbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xyXG4gICAgICBib3gtc2hhZG93OiAwIDEwcHggMjVweCAtNXB4IHJnYigxNiAxODUgMTI5IC8gMC4yNSksIDAgOHB4IDEwcHggLTZweCByZ2IoMTYgMTg1IDEyOSAvIDAuMSk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiKDE2IDE4NSAxMjkgLyAwLjEpLCAwIDJweCA0cHggLTJweCByZ2IoMTYgMTg1IDEyOSAvIDAuMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiBNYWdpY2FsIHRleHQgZ2xvdyAqL1xyXG4gIEBrZXlmcmFtZXMgbWFnaWNhbC10ZXh0LWdsb3cge1xyXG4gICAgMCUsIDEwMCUge1xyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgOHB4IHJnYigxNiAxODUgMTI5IC8gMC41KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIE1hZ2ljYWwgc3BhcmtsZSBhbmltYXRpb24gKi9cclxuICBAa2V5ZnJhbWVzIG1hZ2ljYWwtc3BhcmtsZSB7XHJcbiAgICAwJSwgMTAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMGRlZyk7XHJcbiAgICB9XHJcbiAgICAyNSUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgcm90YXRlKDkwZGVnKTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgfVxyXG4gICAgNzUlIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHJvdGF0ZSgyNzBkZWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogTWFnaWNhbCBidXR0b24gZ2xvdyAqL1xyXG4gIEBrZXlmcmFtZXMgbWFnaWNhbC1idXR0b24tZ2xvdyB7XHJcbiAgICAwJSwgMTAwJSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpO1xyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYigxNiAxODUgMTI5IC8gMC4yKSwgMCA0cHggNnB4IC0xcHggcmdiKDE2IDE4NSAxMjkgLyAwLjEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogTWFnaWNhbCBjb250ZW50IHJldmVhbCAqL1xyXG4gIEBrZXlmcmFtZXMgbWFnaWNhbC1jb250ZW50LXJldmVhbCB7XHJcbiAgICAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiBNYWdpY2FsIHJlc3VsdCBhcHBlYXJhbmNlICovXHJcbiAgQGtleWZyYW1lcyBtYWdpY2FsLXJlc3VsdC1hcHBlYXIge1xyXG4gICAgMCUge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45NSk7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KSBzY2FsZSgxLjAyKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKiBMb2FkaW5nIGFuZCBFcnJvciBTdGF0ZXMgKi9cclxuLmxvYWRpbmctc3Bpbm5lciB7XHJcbiAgQGFwcGx5IGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB5LTEyO1xyXG59XHJcblxyXG4uc3Bpbm5lciB7XHJcbiAgQGFwcGx5IHctOCBoLTggYm9yZGVyLTQgYm9yZGVyLXNsYXRlLTIwMCBib3JkZXItdC1ibHVlLTYwMCByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1zcGluIG1iLTQ7XHJcbn1cclxuXHJcbi8qIFNrZWxldG9uIExvYWRpbmcgU3R5bGVzICovXHJcbi5za2VsZXRvbi10ZXh0IHtcclxuICBAYXBwbHkgYmctc2xhdGUtMjAwIHJvdW5kZWQgYW5pbWF0ZS1wdWxzZTtcclxufVxyXG5cclxuLnNrZWxldG9uLWJ1dHRvbiB7XHJcbiAgQGFwcGx5IGJnLXNsYXRlLTIwMCByb3VuZGVkLWxnIGFuaW1hdGUtcHVsc2U7XHJcbn1cclxuXHJcbi5za2VsZXRvbi1pY29uIHtcclxuICBAYXBwbHkgYmctc2xhdGUtMjAwIHJvdW5kZWQtbGcgYW5pbWF0ZS1wdWxzZTtcclxufVxyXG5cclxuLnNrZWxldG9uLXByb2dyZXNzLWJhciB7XHJcbiAgQGFwcGx5IGJnLXNsYXRlLTIwMCByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1wdWxzZTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRW5oYW5jZWQgQ29tcGFyaXNvbiBTZWN0aW9uIEFuaW1hdGlvbnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIENoYW90aWMgZmxvYXRpbmcgYW5pbWF0aW9uIGZvciB0cmFkaXRpb25hbCBtYXJrZXRpbmcgc2lkZSAqL1xyXG5Aa2V5ZnJhbWVzIGNoYW9zLWZsb2F0IHtcclxuICAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSByb3RhdGUoMGRlZykgc2NhbGUoMSk7XHJcbiAgfVxyXG4gIDI1JSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpIHJvdGF0ZSg1ZGVnKSBzY2FsZSgxLjEpO1xyXG4gIH1cclxuICA1MCUge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpIHJvdGF0ZSgtM2RlZykgc2NhbGUoMC45NSk7XHJcbiAgfVxyXG4gIDc1JSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIHJvdGF0ZSg4ZGVnKSBzY2FsZSgxLjA1KTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSByb3RhdGUoMGRlZykgc2NhbGUoMSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBTbW9vdGggZmxvd2luZyBhbmltYXRpb24gZm9yIENvbnZlcnRNYXRlIHNpZGUgKi9cclxuQGtleWZyYW1lcyBzbW9vdGgtZmxvdyB7XHJcbiAgMCUge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgcm90YXRlKDBkZWcpIHNjYWxlKDEpO1xyXG4gIH1cclxuICA1MCUge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSByb3RhdGUoMmRlZykgc2NhbGUoMS4wMik7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgcm90YXRlKDBkZWcpIHNjYWxlKDEpO1xyXG4gIH1cclxufVxyXG5cclxuLyogU3RyZXNzIGJvdW5jZSBmb3IgdHJhZGl0aW9uYWwgYXBwcm9hY2ggdGFzayBib3hlcyAqL1xyXG5Aa2V5ZnJhbWVzIHN0cmVzcy1ib3VuY2Uge1xyXG4gIDAlLCAxMDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgxKTtcclxuICB9XHJcbiAgMjUlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHRyYW5zbGF0ZVkoLTVweCkgc2NhbGUoMS4wNSk7XHJcbiAgfVxyXG4gIDc1JSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSB0cmFuc2xhdGVZKC0ycHgpIHNjYWxlKDAuOTgpO1xyXG4gIH1cclxufVxyXG5cclxuLyogR2VudGxlIHB1bHNlIGZvciBBSSBodWIgKi9cclxuQGtleWZyYW1lcyBnZW50bGUtcHVsc2Uge1xyXG4gIDAlLCAxMDAlIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDE1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgNHB4IDZweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBTbG93IHNwaW4gZm9yIGFnZW50IGNvbnN0ZWxsYXRpb24gKi9cclxuQGtleWZyYW1lcyBzbG93LXNwaW4ge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgfVxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBIb3Jpem9udGFsIGJvdW5jZSBmb3IgYXJyb3cgKi9cclxuQGtleWZyYW1lcyBib3VuY2UteCB7XHJcbiAgMCUsIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gIH1cclxuICA1MCUge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBBcHBseSBhbmltYXRpb25zICovXHJcbi5hbmltYXRlLWNoYW9zLWZsb2F0IHtcclxuICBhbmltYXRpb246IGNoYW9zLWZsb2F0IDRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xyXG59XHJcblxyXG4uYW5pbWF0ZS1zbW9vdGgtZmxvdyB7XHJcbiAgYW5pbWF0aW9uOiBzbW9vdGgtZmxvdyA2cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxufVxyXG5cclxuLmFuaW1hdGUtc3RyZXNzLWJvdW5jZSB7XHJcbiAgYW5pbWF0aW9uOiBzdHJlc3MtYm91bmNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xyXG59XHJcblxyXG4uYW5pbWF0ZS1nZW50bGUtcHVsc2Uge1xyXG4gIGFuaW1hdGlvbjogZ2VudGxlLXB1bHNlIDNzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xyXG59XHJcblxyXG4uYW5pbWF0ZS1zbG93LXNwaW4ge1xyXG4gIGFuaW1hdGlvbjogc2xvdy1zcGluIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG5cclxuLmFuaW1hdGUtYm91bmNlLXgge1xyXG4gIGFuaW1hdGlvbjogYm91bmNlLXggMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbn1cclxuXHJcbi8qIEFkZGl0aW9uYWwgYW5pbWF0aW9ucyBmb3IgZW5oYW5jZWQgcHVibGljIHBhZ2VzICovXHJcbkBrZXlmcmFtZXMgZmFkZS1pbi11cCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xyXG4gIH1cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gIH1cclxufVxyXG5cclxuLmFuaW1hdGUtZmFkZS1pbi11cCB7XHJcbiAgYW5pbWF0aW9uOiBmYWRlLWluLXVwIDAuOHMgZWFzZS1vdXQgZm9yd2FyZHM7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGUtdXAge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICB9XHJcbn1cclxuXHJcbi5hbmltYXRlLXNsaWRlLXVwIHtcclxuICBhbmltYXRpb246IHNsaWRlLXVwIDAuNnMgZWFzZS1vdXQgZm9yd2FyZHM7XHJcbn1cclxuXHJcbi8qIEhpZ2hsaWdodCBBbmltYXRpb24gZm9yIEFjdGl2ZSBTdGVwcyAqL1xyXG5Aa2V5ZnJhbWVzIGhpZ2hsaWdodCB7XHJcbiAgMCUgeyBcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg1OSwgMTMwLCAyNDYsIDAuNCk7IFxyXG4gIH1cclxuICA3MCUgeyBcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDZweCByZ2JhKDU5LCAxMzAsIDI0NiwgMCk7IFxyXG4gIH1cclxuICAxMDAlIHsgXHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNTksIDEzMCwgMjQ2LCAwKTsgXHJcbiAgfVxyXG59XHJcblxyXG4vKiBTaGFrZSBBbmltYXRpb24gZm9yIEVycm9ycyAqL1xyXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcclxuICAwJSwgMTAwJSB7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcclxuICB9XHJcbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUgeyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTsgXHJcbiAgfVxyXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IFxyXG4gIH1cclxufVxyXG5cclxuLyogQm91bmNlIEluIEFuaW1hdGlvbiBmb3IgU3VjY2VzcyAqL1xyXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcclxuICAwJSB7IFxyXG4gICAgb3BhY2l0eTogMDsgXHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7IFxyXG4gIH1cclxuICA1MCUgeyBcclxuICAgIG9wYWNpdHk6IDE7IFxyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyBcclxuICB9XHJcbiAgMTAwJSB7IFxyXG4gICAgb3BhY2l0eTogMTsgXHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyBcclxuICB9XHJcbn1cclxuXHJcbi8qIENoZWNrbWFyayBEcmF3IEFuaW1hdGlvbiAqL1xyXG5Aa2V5ZnJhbWVzIGNoZWNrbWFyayB7XHJcbiAgMCUgeyBcclxuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDAgNTA7IFxyXG4gICAgb3BhY2l0eTogMDsgXHJcbiAgfVxyXG4gIDUwJSB7IFxyXG4gICAgb3BhY2l0eTogMTsgXHJcbiAgfVxyXG4gIDEwMCUgeyBcclxuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDUwIDA7IFxyXG4gICAgb3BhY2l0eTogMTsgXHJcbiAgfVxyXG59XHJcblxyXG4vKiBDZWxlYnJhdGlvbiBCYWNrZ3JvdW5kIEVmZmVjdCAqL1xyXG5Aa2V5ZnJhbWVzIGNlbGVicmF0aW9uIHtcclxuICAwJSB7IFxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgNTAlOyBcclxuICAgIG9wYWNpdHk6IDAuMzsgXHJcbiAgfVxyXG4gIDUwJSB7IFxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7IFxyXG4gICAgb3BhY2l0eTogMC42OyBcclxuICB9XHJcbiAgMTAwJSB7IFxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgNTAlOyBcclxuICAgIG9wYWNpdHk6IDAuMzsgXHJcbiAgfVxyXG59XHJcblxyXG4vKiBDb25mZXR0aSBBbmltYXRpb25zICovXHJcbkBrZXlmcmFtZXMgY29uZmV0dGkxIHtcclxuICAwJSB7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgwZGVnKTsgXHJcbiAgICBvcGFjaXR5OiAxOyBcclxuICB9XHJcbiAgMTAwJSB7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KSByb3RhdGUoMTgwZGVnKTsgXHJcbiAgICBvcGFjaXR5OiAwOyBcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgY29uZmV0dGkyIHtcclxuICAwJSB7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgwZGVnKTsgXHJcbiAgICBvcGFjaXR5OiAxOyBcclxuICB9XHJcbiAgMTAwJSB7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KSByb3RhdGUoLTEyMGRlZyk7IFxyXG4gICAgb3BhY2l0eTogMDsgXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGNvbmZldHRpMyB7XHJcbiAgMCUgeyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoMGRlZyk7IFxyXG4gICAgb3BhY2l0eTogMTsgXHJcbiAgfVxyXG4gIDEwMCUgeyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDVweCkgcm90YXRlKDkwZGVnKTsgXHJcbiAgICBvcGFjaXR5OiAwOyBcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgY29uZmV0dGk0IHtcclxuICAwJSB7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgwZGVnKTsgXHJcbiAgICBvcGFjaXR5OiAxOyBcclxuICB9XHJcbiAgMTAwJSB7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zNXB4KSByb3RhdGUoLTkwZGVnKTsgXHJcbiAgICBvcGFjaXR5OiAwOyBcclxuICB9XHJcbn1cclxuXHJcbi8qIEZhZGUgSW4gU2ltcGxlICovXHJcbkBrZXlmcmFtZXMgZmFkZUluIHtcclxuICBmcm9tIHsgXHJcbiAgICBvcGFjaXR5OiAwOyBcclxuICB9XHJcbiAgdG8geyBcclxuICAgIG9wYWNpdHk6IDE7IFxyXG4gIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUHVibGljIE5hdmlnYXRpb24gQ29tcG9uZW50IC0gTW9iaWxlIERpc3BsYXkgRml4XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBFbnN1cmUgcHVibGljIG5hdmlnYXRpb24gZGlzcGxheXMgcHJvcGVybHkgb24gYWxsIHNjcmVlbiBzaXplcyAqL1xyXG4ucHVibGljLW5hdi1jb250YWluZXIge1xyXG4gIEBhcHBseSB3LWZ1bGw7XHJcbn1cclxuXHJcbi5wdWJsaWMtbmF2LWNvbnRlbnQge1xyXG4gIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsO1xyXG59XHJcblxyXG4ucHVibGljLW5hdi1sb2dvIHtcclxuICBAYXBwbHkgZmxleC1zaHJpbmstMCBtaW4tdy0wO1xyXG59XHJcblxyXG4ucHVibGljLW5hdi1tb2JpbGUtYWN0aW9ucyB7XHJcbiAgQGFwcGx5IGZsZXgtc2hyaW5rLTAgbWluLXctMDtcclxufVxyXG5cclxuLyogQ2xlYW4gTW9iaWxlIE5hdmlnYXRpb24gU3R5bGVzICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcclxuICAvKiBFbnN1cmUgbW9iaWxlIG5hdmlnYXRpb24gaXMgcHJvcGVybHkgZGlzcGxheWVkICovXHJcbiAgLm1vYmlsZS1uYXYtaGVhZGVyIHtcclxuICAgIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsIGgtMTYgcHgtNDtcclxuICB9XHJcbiAgXHJcbiAgLm1vYmlsZS1uYXYtbG9nbyBpbWcge1xyXG4gICAgQGFwcGx5IGgtOCB3LWF1dG87XHJcbiAgfVxyXG4gIFxyXG4gIC5tb2JpbGUtbmF2LWFjdGlvbnMge1xyXG4gICAgQGFwcGx5IGZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMztcclxuICB9XHJcbiAgXHJcbiAgLm1vYmlsZS1tZW51LXBhbmVsIHtcclxuICAgIEBhcHBseSBmaXhlZCB0b3AtMCByaWdodC0wIGgtZnVsbCBiZy13aGl0ZSBzaGFkb3cteGwgei01MCBvdmVyZmxvdy15LWF1dG87XHJcbiAgICB3aWR0aDogMzIwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDkwdnc7XHJcbiAgfVxyXG4gIFxyXG4gIC5tb2JpbGUtbWVudS1vdmVybGF5IHtcclxuICAgIEBhcHBseSBmaXhlZCBpbnNldC0wIGJnLWJsYWNrIGJnLW9wYWNpdHktNTAgei00MDtcclxuICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIERhc2hib2FyZCBDb21wb25lbnRzIC0gRW5oYW5jZWQgU3R5bGluZ1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4vKiBSZWNvbW1lbmRlZCBBY3Rpb25zIFBhbmVsIC0gRnVsbCBIZWlnaHQgKi9cclxuLnJlY29tbWVuZGVkLWFjdGlvbnMtcGFuZWwge1xyXG4gIEBhcHBseSBoLWZ1bGwgZmxleCBmbGV4LWNvbCBiZy1ncmFkaWVudC10by1iciBmcm9tLXdoaXRlIHRvLXNsYXRlLTUwIFxyXG4gICAgICAgICBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCByb3VuZGVkLXhsIG92ZXJmbG93LWhpZGRlbjtcclxufVxyXG5cclxuLnJlY29tbWVuZGVkLWFjdGlvbnMtaGVhZGVyIHtcclxuICBAYXBwbHkgcC02IGJvcmRlci1iIGJvcmRlci1zbGF0ZS0yMDAgYmctd2hpdGUvODAgYmFja2Ryb3AtYmx1ci1zbTtcclxufVxyXG5cclxuLnJlY29tbWVuZGVkLWFjdGlvbnMtY29udGVudCB7XHJcbiAgQGFwcGx5IGZsZXgtMSBvdmVyZmxvdy15LWF1dG8gcC02O1xyXG59XHJcblxyXG4ucmVjb21tZW5kZWQtYWN0aW9ucy1mb290ZXIge1xyXG4gIEBhcHBseSBwLTYgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTIwMCBiZy1zbGF0ZS01MC81MDtcclxufVxyXG5cclxuLyogQWN0aW9uIENhcmQgRW5oYW5jZWQgU3R5bGluZyAqL1xyXG4uYWN0aW9uLWNhcmQge1xyXG4gIEBhcHBseSBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCByb3VuZGVkLXhsIHAtNCBcclxuICAgICAgICAgaG92ZXI6Ym9yZGVyLXNsYXRlLTMwMCBob3ZlcjpzaGFkb3ctbWQgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIFxyXG4gICAgICAgICBib3JkZXItbC00IGN1cnNvci1wb2ludGVyO1xyXG59XHJcblxyXG4uYWN0aW9uLWNhcmQtdXJnZW50IHtcclxuICBAYXBwbHkgYm9yZGVyLWwtcmVkLTQwMDtcclxufVxyXG5cclxuLmFjdGlvbi1jYXJkLWltcG9ydGFudCB7XHJcbiAgQGFwcGx5IGJvcmRlci1sLWFtYmVyLTQwMDtcclxufVxyXG5cclxuLmFjdGlvbi1jYXJkLXN1Z2dlc3RlZCB7XHJcbiAgQGFwcGx5IGJvcmRlci1sLWJsdWUtNDAwO1xyXG59XHJcblxyXG4vKiBQcmlvcml0eSBCYWRnZXMgKi9cclxuLnByaW9yaXR5LWJhZGdlIHtcclxuICBAYXBwbHkgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHB4LTIuNSBweS0xIHJvdW5kZWQtZnVsbCB0ZXh0LXhzIGZvbnQtbWVkaXVtIGJvcmRlcjtcclxufVxyXG5cclxuLnByaW9yaXR5LWJhZGdlLXVyZ2VudCB7XHJcbiAgQGFwcGx5IGJnLXJlZC01MCB0ZXh0LXJlZC03MDAgYm9yZGVyLXJlZC0yMDA7XHJcbn1cclxuXHJcbi5wcmlvcml0eS1iYWRnZS1pbXBvcnRhbnQge1xyXG4gIEBhcHBseSBiZy1hbWJlci01MCB0ZXh0LWFtYmVyLTcwMCBib3JkZXItYW1iZXItMjAwO1xyXG59XHJcblxyXG4ucHJpb3JpdHktYmFkZ2Utc3VnZ2VzdGVkIHtcclxuICBAYXBwbHkgYmctYmx1ZS01MCB0ZXh0LWJsdWUtNzAwIGJvcmRlci1ibHVlLTIwMDtcclxufVxyXG5cclxuLyogQmVuZWZpdCBIaWdobGlnaHQgKi9cclxuLmJlbmVmaXQtaGlnaGxpZ2h0IHtcclxuICBAYXBwbHkgZmxleCBpdGVtcy1jZW50ZXIgdGV4dC1zbSB0ZXh0LWVtZXJhbGQtNjAwIGJnLWVtZXJhbGQtNTAgXHJcbiAgICAgICAgIHB4LTMgcHktMiByb3VuZGVkLWxnIGZvbnQtbWVkaXVtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBEYXNoYm9hcmQgTGF5b3V0IFV0aWxpdGllc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gICBcclxuLyogUmVtb3ZlIGN1c3RvbSBjbGFzc2VzIC0gdXNpbmcgVGFpbHdpbmQgZGlyZWN0bHkgaW4gdGVtcGxhdGVzICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBPbmJvYXJkaW5nIENvbXBvbmVudHNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIFBsYXRmb3JtIFNlbGVjdGlvbiBDYXJkcyAtIFByZXZlbnQgYm9yZGVyIG92ZXJmbG93ICovXHJcbi5wbGF0Zm9ybS1jYXJkLWNvbnRhaW5lciB7XHJcbiAgQGFwcGx5IHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLXhsO1xyXG59XHJcblxyXG4ucGxhdGZvcm0tY2FyZCB7XHJcbiAgQGFwcGx5IHJlbGF0aXZlIGJvcmRlci0yIHJvdW5kZWQteGwgcC00IHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBcclxuICAgICAgICAgaG92ZXI6c2hhZG93LW1kO1xyXG59XHJcblxyXG4ucGxhdGZvcm0tY2FyZC1zZWxlY3RlZCB7XHJcbiAgQGFwcGx5IGJvcmRlci1ibHVlLTUwMCBiZy1ibHVlLTUwIHNoYWRvdy1sZyBzaGFkb3ctYmx1ZS0xMDA7XHJcbn1cclxuXHJcbi5wbGF0Zm9ybS1jYXJkLWRlZmF1bHQge1xyXG4gIEBhcHBseSBib3JkZXItc2xhdGUtMjAwIGJnLXdoaXRlIGhvdmVyOmJvcmRlci1zbGF0ZS0zMDA7XHJcbn1cclxuXHJcbi8qIEdlbnRsZSBwdWxzZSBhbmltYXRpb24gZm9yIHNlbGVjdGVkIHBsYXRmb3JtcyAqL1xyXG5Aa2V5ZnJhbWVzIHB1bHNlLWdlbnRsZSB7XHJcbiAgMCUsIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIG9wYWNpdHk6IDAuODtcclxuICB9XHJcbn1cclxuXHJcbi5hbmltYXRlLXB1bHNlLWdlbnRsZSB7XHJcbiAgYW5pbWF0aW9uOiBwdWxzZS1nZW50bGUgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbn1cclxuXHJcbi8qIEZhZGUgaW4gYW5pbWF0aW9uIGZvciBzZWxlY3Rpb24gc3VtbWFyeSAqL1xyXG5Aa2V5ZnJhbWVzIGZhZGUtaW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICB9XHJcbn1cclxuXHJcbi5hbmltYXRlLWZhZGUtaW4ge1xyXG4gIGFuaW1hdGlvbjogZmFkZS1pbiAwLjNzIGVhc2Utb3V0O1xyXG59XHJcblxyXG4vKiBDYWxlbmRseSBXaWRnZXQgUmVzcG9uc2l2ZSBTdHlsZXMgKi9cclxuLmNhbGVuZGx5LWNvbnRhaW5lciB7XHJcbiAgQGFwcGx5IHctZnVsbDtcclxufVxyXG5cclxuLmNhbGVuZGx5LWlubGluZS13aWRnZXQge1xyXG4gIEBhcHBseSB3LWZ1bGwgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW47XHJcbiAgbWluLXdpZHRoOiAzMjBweCAhaW1wb3J0YW50O1xyXG4gIGhlaWdodDogNzAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcbiAgLmNhbGVuZGx5LWlubGluZS13aWRnZXQge1xyXG4gICAgaGVpZ2h0OiA2MDBweCAhaW1wb3J0YW50O1xyXG4gICAgbWluLXdpZHRoOiAyODBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgLmNhbGVuZGx5LWlubGluZS13aWRnZXQge1xyXG4gICAgaGVpZ2h0OiA1MDBweCAhaW1wb3J0YW50O1xyXG4gICAgbWluLXdpZHRoOiAyNjBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUmVnaXN0ZXJGb3JtIEFuaW1hdGlvbiBTdHlsZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIEJvdW5jZS1pbiBhbmltYXRpb24gZm9yIG1vZGFsIGFuZCBlbGVtZW50cyAqL1xyXG5Aa2V5ZnJhbWVzIGJvdW5jZS1pbiB7XHJcbiAgMCUgeyBcclxuICAgIG9wYWNpdHk6IDA7IFxyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpIHRyYW5zbGF0ZVkoLTUwcHgpOyBcclxuICB9XHJcbiAgNTAlIHsgXHJcbiAgICBvcGFjaXR5OiAxOyBcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IFxyXG4gIH1cclxuICA3MCUgeyBcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTsgXHJcbiAgfVxyXG4gIDEwMCUgeyBcclxuICAgIG9wYWNpdHk6IDE7IFxyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgXHJcbiAgfVxyXG59XHJcblxyXG4uYW5pbWF0ZS1ib3VuY2UtaW4geyBcclxuICBhbmltYXRpb246IGJvdW5jZS1pbiAwLjZzIGVhc2Utb3V0OyBcclxufVxyXG5cclxuLyogU2xpZGUtaW4gYW5pbWF0aW9uIGZvciBmb3JtIHN0ZXBzICovXHJcbkBrZXlmcmFtZXMgc2xpZGUtaW4ge1xyXG4gIGZyb20geyBcclxuICAgIG9wYWNpdHk6IDA7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOyBcclxuICB9XHJcbiAgdG8geyBcclxuICAgIG9wYWNpdHk6IDE7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcclxuICB9XHJcbn1cclxuXHJcbi5hbmltYXRlLXNsaWRlLWluIHsgXHJcbiAgYW5pbWF0aW9uOiBzbGlkZS1pbiAwLjVzIGVhc2Utb3V0OyBcclxufVxyXG5cclxuLyogU2NhbGUtaW4gYW5pbWF0aW9uIGZvciBjaGVja21hcmtzICovXHJcbkBrZXlmcmFtZXMgc2NhbGUtaW4ge1xyXG4gIGZyb20geyBcclxuICAgIG9wYWNpdHk6IDA7IFxyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgXHJcbiAgfVxyXG4gIHRvIHsgXHJcbiAgICBvcGFjaXR5OiAxOyBcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IFxyXG4gIH1cclxufVxyXG5cclxuLmFuaW1hdGUtc2NhbGUtaW4geyBcclxuICBhbmltYXRpb246IHNjYWxlLWluIDAuM3MgZWFzZS1vdXQ7IFxyXG59XHJcblxyXG4vKiBTaGFrZSBhbmltYXRpb24gZm9yIGVycm9ycyAqL1xyXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcclxuICAwJSwgMTAwJSB7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcclxuICB9XHJcbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUgeyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTsgXHJcbiAgfVxyXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IFxyXG4gIH1cclxufVxyXG5cclxuLmFuaW1hdGUtc2hha2UgeyBcclxuICBhbmltYXRpb246IHNoYWtlIDAuNXMgZWFzZS1pbi1vdXQ7IFxyXG59XHJcblxyXG4vKiBDb3VudC11cCBhbmltYXRpb24gZm9yIG51bWJlcnMgKi9cclxuQGtleWZyYW1lcyBjb3VudC11cCB7XHJcbiAgZnJvbSB7IFxyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyBcclxuICAgIG9wYWNpdHk6IDA7IFxyXG4gIH1cclxuICB0byB7IFxyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgXHJcbiAgICBvcGFjaXR5OiAxOyBcclxuICB9XHJcbn1cclxuXHJcbi5hbmltYXRlLWNvdW50LXVwIHsgXHJcbiAgYW5pbWF0aW9uOiBjb3VudC11cCAwLjhzIGVhc2Utb3V0OyBcclxufVxyXG5cclxuLyogRmFkZS1pbiBhbmltYXRpb24gZm9yIGVsZW1lbnRzICovXHJcbkBrZXlmcmFtZXMgZmFkZS1pbiB7XHJcbiAgZnJvbSB7IFxyXG4gICAgb3BhY2l0eTogMDsgXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IFxyXG4gIH1cclxuICB0byB7IFxyXG4gICAgb3BhY2l0eTogMTsgXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IFxyXG4gIH1cclxufVxyXG5cclxuLmFuaW1hdGUtZmFkZS1pbiB7IFxyXG4gIGFuaW1hdGlvbjogZmFkZS1pbiAwLjVzIGVhc2Utb3V0OyBcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQXNrIEFueXRoaW5nIC0gRHluYW1pYyBBbmltYXRpb25zXHJcbiAgIEZvbGxvd2luZyBDb252ZXJ0TWF0ZSBEZXNpZ24gR3VpZGVsaW5lcyAtIE1vZGVybiAmIFN0eWxpc2hcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIFNsaWRlIFVwIEFuaW1hdGlvbiAqL1xyXG5Aa2V5ZnJhbWVzIHNsaWRlVXAge1xyXG4gIGZyb20geyBcclxuICAgIG9wYWNpdHk6IDA7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyBcclxuICB9XHJcbiAgdG8geyBcclxuICAgIG9wYWNpdHk6IDE7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyBcclxuICB9XHJcbn1cclxuXHJcbi8qIEZhZGUgSW4gVXAgQW5pbWF0aW9uIHdpdGggU3RhZ2dlciBTdXBwb3J0ICovXHJcbkBrZXlmcmFtZXMgZmFkZUluVXAge1xyXG4gIGZyb20geyBcclxuICAgIG9wYWNpdHk6IDA7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpOyBcclxuICB9XHJcbiAgdG8geyBcclxuICAgIG9wYWNpdHk6IDE7IFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyBcclxuICB9XHJcbn1cclxuXHJcbi8qIEZhZGUgSW4gTGVmdCBBbmltYXRpb24gKi9cclxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcclxuICBmcm9tIHsgXHJcbiAgICBvcGFjaXR5OiAwOyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTVweCk7IFxyXG4gIH1cclxuICB0byB7IFxyXG4gICAgb3BhY2l0eTogMTsgXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IFxyXG4gIH1cclxufVxyXG5cclxuLyogRmFkZSBJbiBSaWdodCBBbmltYXRpb24gKi9cclxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XHJcbiAgZnJvbSB7IFxyXG4gICAgb3BhY2l0eTogMDsgXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTVweCk7IFxyXG4gIH1cclxuICB0byB7IFxyXG4gICAgb3BhY2l0eTogMTsgXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IFxyXG4gIH1cclxufVxyXG5cclxuLyogU2hpbW1lciBCYWNrZ3JvdW5kIEVmZmVjdCAqL1xyXG5Aa2V5ZnJhbWVzIHNoaW1tZXIge1xyXG4gIDAlIHsgXHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwcHggMDsgXHJcbiAgfVxyXG4gIDEwMCUgeyBcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMjAwcHggKyAxMDAlKSAwOyBcclxuICB9XHJcbn1cclxuXHJcbi8qIFNoaW5lIEVmZmVjdCBmb3IgUHJvZ3Jlc3MgQmFyICovXHJcbkBrZXlmcmFtZXMgc2hpbmUge1xyXG4gIDAlIHsgXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKC0xMmRlZyk7IFxyXG4gIH1cclxuICAxMDAlIHsgXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwJSkgc2tld1goLTEyZGVnKTsgXHJcbiAgfVxyXG59XHJcblxyXG4vKiBTbGlkZSBJbiBMZWZ0IEFuaW1hdGlvbiAqL1xyXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcclxuICBmcm9tIHsgXHJcbiAgICBvcGFjaXR5OiAwOyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IFxyXG4gIH1cclxuICB0byB7IFxyXG4gICAgb3BhY2l0eTogMTsgXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IFxyXG4gIH1cclxufVxyXG5cclxuLyogU2xpZGUgSW4gVXAgQW5pbWF0aW9uICovXHJcbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcclxuICBmcm9tIHsgXHJcbiAgICBvcGFjaXR5OiAwOyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgXHJcbiAgfVxyXG4gIHRvIHsgXHJcbiAgICBvcGFjaXR5OiAxOyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgXHJcbiAgfVxyXG59XHJcblxyXG4vKiBIaWdobGlnaHQgQW5pbWF0aW9uIGZvciBBY3RpdmUgU3RlcHMgKi9cclxuQGtleWZyYW1lcyBoaWdobGlnaHQge1xyXG4gIDAlIHsgXHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjQpOyBcclxuICB9XHJcbiAgNzAlIHsgXHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCA2cHggcmdiYSg1OSwgMTMwLCAyNDYsIDApOyBcclxuICB9XHJcbiAgMTAwJSB7IFxyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDU5LCAxMzAsIDI0NiwgMCk7IFxyXG4gIH1cclxufVxyXG5cclxuLyogU2hha2UgQW5pbWF0aW9uIGZvciBFcnJvcnMgKi9cclxuQGtleWZyYW1lcyBzaGFrZSB7XHJcbiAgMCUsIDEwMCUgeyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgXHJcbiAgfVxyXG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHsgXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7IFxyXG4gIH1cclxuICAyMCUsIDQwJSwgNjAlLCA4MCUgeyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyBcclxuICB9XHJcbn1cclxuXHJcbi8qIEJvdW5jZSBJbiBBbmltYXRpb24gZm9yIFN1Y2Nlc3MgKi9cclxuQGtleWZyYW1lcyBib3VuY2VJbiB7XHJcbiAgMCUgeyBcclxuICAgIG9wYWNpdHk6IDA7IFxyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyBcclxuICB9XHJcbiAgNTAlIHsgXHJcbiAgICBvcGFjaXR5OiAxOyBcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgXHJcbiAgfVxyXG4gIDEwMCUgeyBcclxuICAgIG9wYWNpdHk6IDE7IFxyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgXHJcbiAgfVxyXG59XHJcblxyXG4vKiBDaGVja21hcmsgRHJhdyBBbmltYXRpb24gKi9cclxuQGtleWZyYW1lcyBjaGVja21hcmsge1xyXG4gIDAlIHsgXHJcbiAgICBzdHJva2UtZGFzaGFycmF5OiAwIDUwOyBcclxuICAgIG9wYWNpdHk6IDA7IFxyXG4gIH1cclxuICA1MCUgeyBcclxuICAgIG9wYWNpdHk6IDE7IFxyXG4gIH1cclxuICAxMDAlIHsgXHJcbiAgICBzdHJva2UtZGFzaGFycmF5OiA1MCAwOyBcclxuICAgIG9wYWNpdHk6IDE7IFxyXG4gIH1cclxufVxyXG5cclxuLyogQ2VsZWJyYXRpb24gQmFja2dyb3VuZCBFZmZlY3QgKi9cclxuQGtleWZyYW1lcyBjZWxlYnJhdGlvbiB7XHJcbiAgMCUgeyBcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTsgXHJcbiAgICBvcGFjaXR5OiAwLjM7IFxyXG4gIH1cclxuICA1MCUgeyBcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlOyBcclxuICAgIG9wYWNpdHk6IDAuNjsgXHJcbiAgfVxyXG4gIDEwMCUgeyBcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTsgXHJcbiAgICBvcGFjaXR5OiAwLjM7IFxyXG4gIH1cclxufVxyXG5cclxuLyogQ29uZmV0dGkgQW5pbWF0aW9ucyAqL1xyXG5Aa2V5ZnJhbWVzIGNvbmZldHRpMSB7XHJcbiAgMCUgeyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoMGRlZyk7IFxyXG4gICAgb3BhY2l0eTogMTsgXHJcbiAgfVxyXG4gIDEwMCUgeyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCkgcm90YXRlKDE4MGRlZyk7IFxyXG4gICAgb3BhY2l0eTogMDsgXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGNvbmZldHRpMiB7XHJcbiAgMCUgeyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoMGRlZyk7IFxyXG4gICAgb3BhY2l0eTogMTsgXHJcbiAgfVxyXG4gIDEwMCUgeyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCkgcm90YXRlKC0xMjBkZWcpOyBcclxuICAgIG9wYWNpdHk6IDA7IFxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBjb25mZXR0aTMge1xyXG4gIDAlIHsgXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDBkZWcpOyBcclxuICAgIG9wYWNpdHk6IDE7IFxyXG4gIH1cclxuICAxMDAlIHsgXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQ1cHgpIHJvdGF0ZSg5MGRlZyk7IFxyXG4gICAgb3BhY2l0eTogMDsgXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGNvbmZldHRpNCB7XHJcbiAgMCUgeyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoMGRlZyk7IFxyXG4gICAgb3BhY2l0eTogMTsgXHJcbiAgfVxyXG4gIDEwMCUgeyBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzVweCkgcm90YXRlKC05MGRlZyk7IFxyXG4gICAgb3BhY2l0eTogMDsgXHJcbiAgfVxyXG59XHJcblxyXG4vKiBGYWRlIEluIFNpbXBsZSAqL1xyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgZnJvbSB7IFxyXG4gICAgb3BhY2l0eTogMDsgXHJcbiAgfVxyXG4gIHRvIHsgXHJcbiAgICBvcGFjaXR5OiAxOyBcclxuICB9XHJcbn1cclxuXHJcbi8qIEFzayBBbnl0aGluZyBDb21wb25lbnQgQW5pbWF0aW9ucyAqL1xyXG5Aa2V5ZnJhbWVzIHNsaWRlRG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2hpbW1lciB7XHJcbiAgMCUge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGNoZWNrbWFyayB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSByb3RhdGUoLTQ1ZGVnKTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC00NWRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzaGFrZSB7XHJcbiAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cclxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTsgfVxyXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgY2VsZWJyYXRpb24ge1xyXG4gIDAlIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2hpbmUge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goLTEyZGVnKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwJSkgc2tld1goLTEyZGVnKTtcclxuICB9XHJcbn1cclxuIixudWxsLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb252ZXJ0TWF0ZSBBUEkgUGxhdGZvcm0gLSBDdXN0b20gU3dhZ2dlciBVSSBTdHlsZXNcclxuICAgQmFzZWQgb24gVUkvVVggR3VpZGVsaW5lcyAtIE1vZGVybiBNaW5pbWFsaXNtXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBBZGRpdGlvbmFsIGN1c3RvbSBzdHlsZXMgdGhhdCBjYW4gYmUgbG9hZGVkIHZpYSBXZWJwYWNrICovXHJcbi5zd2FnZ2VyLXVpIC50b3BiYXIge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzFlMjkzYiAwJSwgIzMzNDE1NSAxMDAlKTtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNDc1NTY5O1xyXG59XHJcblxyXG4uc3dhZ2dlci11aSAudG9wYmFyIC5kb3dubG9hZC11cmwtd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMXJlbTtcclxufVxyXG5cclxuLnN3YWdnZXItdWkgLnRvcGJhciAuZG93bmxvYWQtdXJsLXdyYXBwZXIgLnNlbGVjdC1sYWJlbCB7XHJcbiAgICBjb2xvcjogI2UyZThmMDtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4uc3dhZ2dlci11aSAudG9wYmFyIC5kb3dubG9hZC11cmwtd3JhcHBlciAuZG93bmxvYWQtdXJsLWlucHV0IHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xyXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxufVxyXG5cclxuLnN3YWdnZXItdWkgLnRvcGJhciAuZG93bmxvYWQtdXJsLXdyYXBwZXIgLmRvd25sb2FkLXVybC1pbnB1dDpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjNjBhNWZhO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoOTYsIDE2NSwgMjUwLCAwLjIpO1xyXG59XHJcblxyXG4uc3dhZ2dlci11aSAudG9wYmFyIC5kb3dubG9hZC11cmwtd3JhcHBlciAuZG93bmxvYWQtdXJsLWJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMjU2M2ViO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XHJcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5zd2FnZ2VyLXVpIC50b3BiYXIgLmRvd25sb2FkLXVybC13cmFwcGVyIC5kb3dubG9hZC11cmwtYnV0dG9uOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICMxZDRlZDg7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBzdGF0dXMgY29kZSBjb2xvcnMgKi9cclxuLnN3YWdnZXItdWkgLnJlc3BvbnNlLWNvbF9zdGF0dXMgLnJlc3BvbnNlLXVuZG9jdW1lbnRlZCB7XHJcbiAgICBjb2xvcjogIzY0NzQ4YjtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5zd2FnZ2VyLXVpIC5yZXNwb25zZS1jb2xfc3RhdHVzIC5yZXNwb25zZS11bmRvY3VtZW50ZWQgY29kZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjFmNWY5O1xyXG4gICAgY29sb3I6ICM0NzU1Njk7XHJcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XHJcbn1cclxuXHJcbi8qIFN1Y2Nlc3Mgc3RhdHVzIGNvZGVzICgyeHgpICovXHJcbi5zd2FnZ2VyLXVpIC5yZXNwb25zZS1jb2xfc3RhdHVzIGNvZGVbY2xhc3MqPVwiMjAwXCJdLFxyXG4uc3dhZ2dlci11aSAucmVzcG9uc2UtY29sX3N0YXR1cyBjb2RlW2NsYXNzKj1cIjIwMVwiXSxcclxuLnN3YWdnZXItdWkgLnJlc3BvbnNlLWNvbF9zdGF0dXMgY29kZVtjbGFzcyo9XCIyMDJcIl0sXHJcbi5zd2FnZ2VyLXVpIC5yZXNwb25zZS1jb2xfc3RhdHVzIGNvZGVbY2xhc3MqPVwiMjA0XCJdIHtcclxuICAgIGJhY2tncm91bmQ6ICNkY2ZjZTc7XHJcbiAgICBjb2xvcjogIzE2NjUzNDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmY3ZDA7XHJcbn1cclxuXHJcbi8qIENsaWVudCBlcnJvciBzdGF0dXMgY29kZXMgKDR4eCkgKi9cclxuLnN3YWdnZXItdWkgLnJlc3BvbnNlLWNvbF9zdGF0dXMgY29kZVtjbGFzcyo9XCI0MDBcIl0sXHJcbi5zd2FnZ2VyLXVpIC5yZXNwb25zZS1jb2xfc3RhdHVzIGNvZGVbY2xhc3MqPVwiNDAxXCJdLFxyXG4uc3dhZ2dlci11aSAucmVzcG9uc2UtY29sX3N0YXR1cyBjb2RlW2NsYXNzKj1cIjQwM1wiXSxcclxuLnN3YWdnZXItdWkgLnJlc3BvbnNlLWNvbF9zdGF0dXMgY29kZVtjbGFzcyo9XCI0MDRcIl0sXHJcbi5zd2FnZ2VyLXVpIC5yZXNwb25zZS1jb2xfc3RhdHVzIGNvZGVbY2xhc3MqPVwiNDIyXCJdIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZWYyZjI7XHJcbiAgICBjb2xvcjogIzk5MWIxYjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZWNhY2E7XHJcbn1cclxuXHJcbi8qIFNlcnZlciBlcnJvciBzdGF0dXMgY29kZXMgKDV4eCkgKi9cclxuLnN3YWdnZXItdWkgLnJlc3BvbnNlLWNvbF9zdGF0dXMgY29kZVtjbGFzcyo9XCI1MDBcIl0sXHJcbi5zd2FnZ2VyLXVpIC5yZXNwb25zZS1jb2xfc3RhdHVzIGNvZGVbY2xhc3MqPVwiNTAyXCJdLFxyXG4uc3dhZ2dlci11aSAucmVzcG9uc2UtY29sX3N0YXR1cyBjb2RlW2NsYXNzKj1cIjUwM1wiXSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmVmM2M3O1xyXG4gICAgY29sb3I6ICM5MjQwMGU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmRlNjhhO1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBsb2FkaW5nIHN0YXRlcyAqL1xyXG4uc3dhZ2dlci11aSAubG9hZGluZy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDNyZW07XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjhmYWZjIDAlLCAjZjFmNWY5IDEwMCUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcclxufVxyXG5cclxuLnN3YWdnZXItdWkgLmxvYWRpbmctY29udGFpbmVyIC5sb2FkaW5nIHtcclxuICAgIGNvbG9yOiAjNjQ3NDhiO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnN3YWdnZXItdWkgLmxvYWRpbmctY29udGFpbmVyIC5sb2FkaW5nOjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IC0yNHB4O1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlMmU4ZjA7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjU2M2ViO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzcGluIHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgwZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMzYwZGVnKTsgfVxyXG59XHJcblxyXG4vKiBFcnJvciBzdGF0ZXMgKi9cclxuLnN3YWdnZXItdWkgLmVycm9ycy13cmFwcGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZWYyZjI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmVjYWNhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgcGFkZGluZzogMXJlbTtcclxuICAgIG1hcmdpbjogMXJlbSAwO1xyXG59XHJcblxyXG4uc3dhZ2dlci11aSAuZXJyb3JzLXdyYXBwZXIgaDQge1xyXG4gICAgY29sb3I6ICM5OTFiMWI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG59XHJcblxyXG4uc3dhZ2dlci11aSAuZXJyb3JzLXdyYXBwZXIgLmVycm9yLXdyYXBwZXIge1xyXG4gICAgY29sb3I6ICM3ZjFkMWQ7XHJcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuLyogRW5oYW5jZWQgc2Nyb2xsYmFycyBmb3Igd2Via2l0IGJyb3dzZXJzICovXHJcbi5zd2FnZ2VyLXVpIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDZweDtcclxuICAgIGhlaWdodDogNnB4O1xyXG59XHJcblxyXG4uc3dhZ2dlci11aSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgIGJhY2tncm91bmQ6ICNmMWY1Zjk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbn1cclxuXHJcbi5zd2FnZ2VyLXVpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgYmFja2dyb3VuZDogI2NiZDVlMTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxufVxyXG5cclxuLnN3YWdnZXItdWkgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjOTRhM2I4O1xyXG59XHJcblxyXG4vKiBEYXJrIG1vZGUgc3VwcG9ydCBmb3Igc3lzdGVtIHByZWZlcmVuY2UgKi9cclxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xyXG4gICAgLnN3YWdnZXItdWkge1xyXG4gICAgICAgIC8qIE9ubHkgYXBwbHkgaWYgbm8gZXhwbGljaXQgdGhlbWUgaXMgc2V0ICovXHJcbiAgICAgICAgY29sb3Itc2NoZW1lOiBkYXJrO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBmb2N1cyBpbmRpY2F0b3JzIGZvciBiZXR0ZXIgYWNjZXNzaWJpbGl0eSAqL1xyXG4uc3dhZ2dlci11aSAuYnRuOmZvY3VzLXZpc2libGUsXHJcbi5zd2FnZ2VyLXVpIGlucHV0OmZvY3VzLXZpc2libGUsXHJcbi5zd2FnZ2VyLXVpIHRleHRhcmVhOmZvY3VzLXZpc2libGUsXHJcbi5zd2FnZ2VyLXVpIHNlbGVjdDpmb2N1cy12aXNpYmxlIHtcclxuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMjU2M2ViO1xyXG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcclxufVxyXG5cclxuLyogSW1wcm92ZWQgdGFibGUgc3R5bGluZyBmb3IgcmVzcG9uc2VzICovXHJcbi5zd2FnZ2VyLXVpIHRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMXJlbSAwO1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcclxufVxyXG5cclxuLnN3YWdnZXItdWkgdGFibGUgdGgge1xyXG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcclxuICAgIGNvbG9yOiAjMzc0MTUxO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZThmMDtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbn1cclxuXHJcbi5zd2FnZ2VyLXVpIHRhYmxlIHRkIHtcclxuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmNWY5O1xyXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbi5zd2FnZ2VyLXVpIHRhYmxlIHRyOmxhc3QtY2hpbGQgdGQge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxufVxyXG5cclxuLnN3YWdnZXItdWkgdGFibGUgdHI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcclxufVxyXG5cclxuLyogUHJpbnQgc3R5bGVzICovXHJcbkBtZWRpYSBwcmludCB7XHJcbiAgICAuc3dhZ2dlci11aSAudG9wYmFyLFxyXG4gICAgLnN3YWdnZXItdWkgLnRyeS1vdXQsXHJcbiAgICAuc3dhZ2dlci11aSAuYnRuLFxyXG4gICAgLnN3YWdnZXItdWkgLmN1cmwsXHJcbiAgICAuc3dhZ2dlci11aSAuZG93bmxvYWQtdXJsLXdyYXBwZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnN3YWdnZXItdWkge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zd2FnZ2VyLXVpIC5vcGJsb2NrIHtcclxuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYyAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/