/* APP */

/* ! tailwindcss v3.3.2 | 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.
*/

html {
  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: Raleway, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
}

/*
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. 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-size: 1em; /* 2 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
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-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: 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,
[type='button'],
[type='reset'],
[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;
}

/*
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] {
  display: none;
}

[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --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);
  border-color: #2563eb;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}

input::placeholder,textarea::placeholder {
  color: #6b7280;
  opacity: 1;
}

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-date-and-time-value {
  min-height: 1.5em;
}

::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}

select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
          color-adjust: exact;
}

[multiple] {
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
          color-adjust: unset;
}

[type='checkbox'],[type='radio'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  -webkit-print-color-adjust: exact;
          color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #2563eb;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}

[type='checkbox'] {
  border-radius: 0px;
}

[type='radio'] {
  border-radius: 100%;
}

[type='checkbox']:focus,[type='radio']:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --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);
}

[type='checkbox']:checked,[type='radio']:checked {
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

[type='checkbox']:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}

[type='radio']:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}

[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus {
  border-color: transparent;
  background-color: currentColor;
}

[type='checkbox']:indeterminate {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus {
  border-color: transparent;
  background-color: currentColor;
}

[type='file'] {
  background: unset;
  border-color: inherit;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-size: unset;
  line-height: inherit;
}

[type='file']:focus {
  outline: 1px auto -webkit-focus-ring-color;
}

:root {

        /*Color Scheme 1a*/

        /*Aufgebaut aus Paletten bei farbe-app.com.*/

        /*c1: bay-of-many*/
        --c1:       #342A90;
        --c1-m1:    #2e257f;
        --c1-m2:    #292170;
        --c1-m3:    #241d65;
        --c1-m4:    #1d1851;
        --c1-p1:    #5048a0;
        --c1-p2:    #6159a8;
        --c1-p3:    #7972b6;
        --c1-p4:    #a6a1ce;

        /*c2: mauve*/
        --c2:       #4471C4;
        --c2-m1:    #c1a3df;
        --c2-m2:    #ab90c5;
        --c2-m3:    #9982b1;
        --c2-m4:    #c1a3df;
        --c2-p1:    #e0c3fd;
        --c2-p2:    #e3c8fd;
        --c2-p3:    #e7d1fe;
        --c2-p4:    #efe0fe;

        /*c3: citron*/
        /*"Komplementär" 2 zu c1, von: https://color.adobe.com/de/create/color-wheel*/
        --c3:       #8DA820;
        --c3-m1:    #7c941c;
        --c3-m2:    #6e8319;
        --c3-m3:    #637616;
        --c3-m4:    #4f5e12;
        --c3-p1:    #9db43f;
        --c3-p2:    #a6bb51;
        --c3-p3:    #b4c66c;
        --c3-p4:    #cdd99d;

        /*c4: indigo*/
        /*Colorpick aus Kunden-PDF*/
        --c4:       #4148ba;
        --c4-m1:    #393fa4;
        --c4-m2:    #333891;
        --c4-m3:    #2e3282;
        --c4-m4:    #242868;
        --c4-p1:    #5c62c4;
        --c4-p2:    #6b70c9;
        --c4-p3:    #8286d1;
        --c4-p4:    #c4c6ea;

        /*c5: jaffa*/
        /*Colorpick aus Kunden-PDF*/
        --c5:       #ec7c30;
        --c5-m1:    #d06d2a;
        --c5-m2:    #b86125;
        --c5-m3:    #a55722;
        --c5-m4:    #84451b;
        --c5-p1:    #ef8e4d;
        --c5-p2:    #f0995e;
        --c5-p3:    #f2a976;
        --c5-p4:    #f7c5a4;

        /*c6: mid-gray*/
        --c6:       #5b5a6a;
        --c6-m1:    #504f5d;
        --c6-m2:    #474653;
        --c6-m3:    #403f4a;
        --c6-m4:    #33323b;
        --c6-p1:    #72717f;
        --c6-p2:    #7f7e8b;
        --c6-p3:    #93929d;
        --c6-p4:    #b7b6bd;

        /*c7: olive-green*/
        --c7:       #a1ad4d;
        --c7-m1:    #8e9844;
        --c7-m2:    #7e873c;
        --c7-m3:    #717936;
        --c7-m4:    #5a612b;
        --c7-p1:    #aeb866;
        --c7-p2:    #b6bf74;
        --c7-p3:    #c1c98a;
        --c7-p4:    #d6dbb1;

        /*tb = Invextra tb (textbase) = Tailwind gray*/
        --tb-50:     #f9fafb; /*gray-50*/
        --tb-100:    #f3f4f6; /*gray-100*/
        --tb-200:    #e5e7eb; /*gray-200*/
        --tb-300:    #d1d5db; /*gray-300*/
        --tb-400:    #9ca3af; /*gray-400*/
        --tb-500:    #6b7280; /*gray-500*/
        --tb-600:    #4b5563; /*gray-600*/
        --tb-700:    #374151; /*gray-700*/
        --tb-800:    #1f2937; /*gray-800*/
        --tb-900:    #111827; /*gray-900*/

        /* Anpassung an eigentliche Verwendung, so dass in tailwind.config.js Farbzuordnung über diese Variablen erfolgen  */
        /* und damit die in den HTML-Tags benötigten Farbklassen erzeugt werden können. */

        /* CI-FARBEN */

        --invextra-blau:                        #4471C4;
        --invextra-grau:                        var(--tb-300);
        --invextra-orange:                      var(--c5);

        /* BODY, HEADER, FOOTER */

        --body-background:                      var(--tb-200);

        --header-background:                    var(--c1);
        --header-text:                          var(--c3-p4);
        --header-text-dot:                      var(--invextra-orange);
        --header-text-hover:                    var(--c7-m4);

        --breadcrumbs-text:                     var(--tb-500);
        --breadcrumbs-text-without-target:      var(--tb-400);
        --breadcrumbs-text-hover:               var(--tb-800);

        --menu-background-hover:                var(--tb-300);
        --submenu-background-hover:             var(--c3);

        --footer-background:                    var(--c1-m4);
        --footer-text:                          var(--c2-p4);
        --footer-text-hover:                    var(--tb-500);
        --footer-button:                        var(--c1-p1);
        --footer-button-hover:                  var(--c1-p3);

        /* MODULE DIVERS */

        --simple-center-branded-background:     var(--c4-p2);
        --bild-text-text:                       var(--c1);

        /* TABELLEN UND SNAPSHOT */

        /*Snapshot*/
        --table-background-outer:               white;
        --table-background-header:              var(--c3-p4);
        --table-background-highlight:           var(--invextra-orange);
        --table-row-background-odd:             white;
        --table-row-background-even:            white;

        /*Snapshot*/
        --snapshot-fonds-title-background:      white;
        --snapshot-fonds-title-text:            var(--tb-900);
        --snapshot-hervorhebungs-background:    var(--tb-200);

        /*DataTables*/
        --dt-header-footer-background:          var(--tb-200);

        /*DataTables und Fondsvergleich*/
        --table-tab-background:                 #E2E8F0; /* slate-200 */

        --table-primary:                        #FEF3C7; /*amber-100*/
        --table-primary-dark:                   #FDE68A; /*amber-200*/

        --table-secondary:                      #d6dbb1; /*c7-p4*/
        --table-secondary-dark:                 var(--c3);

        /*Fondsvergleich*/
        --table-inner-odd:                      white;
        --table-inner-even:                     #E2E8F0; /* slate-200 */

        /*Suche*/
        --suche-tab-background:                 #E2E8F0; /* slate-200 */

        /*INPUTS UND BUTTONS*/

        /*Standard-Buttons*/
        --button:                               #8DA82060; /* --c3/60 */
        --button-hover:                         var(--c3); /* in Button-Klasse reduzierte Opazität */
        --button-ring:                          black;
        --button-text:                          black;
        --button-hover-text:                    white;

        /* Hervorgehobene Buttons, auch im Header*/
        --featured-button:                      var(--c3);
        --featured-button-text:                 white;
        --featured-button-hover-text:           var(--tb-900);

        /*VERSCHIEDENES*/

        --link:                                 var(--c1);
        --link-visited:                         var(--c4-p2);

        --link-zeitraum-leiste-aktiv:           var(--invextra-orange);

        --warning:                              #B91C1C; /*TW red-700 */

        /*MODUL-SPEZIFISCH*/

        /*Link-Module*/
        --link-module-1-background:             var(--tb-400);
        --link-module-2-background:             #FDE68A; /*amber-200*/
        --link-module-3-background:             #6366F1; /*wie Newsletter-Button*/
        --link-module-4-background:             #d6dbb1; /*c7-p4*/ /* wie table-secondary */ /*rgb(214,219,177)*/
    }

/* Farbbereiche analog zu der älteren Definition in _tables_fondsvergleich-outer.css */

/* Farbgebung für durchgefärbte Bereiche z.B. in Bankenvergleich */

.farbbereich-1 {
  background-color: var(--table-secondary) !important;
}

.farbbereich-2 {
  background-color: rgb(132 204 22 / 0.8) !important;
}

.farbbereich-3 {
  background-color: rgb(199 210 254 / 0.8) !important;
}

.farbbereich-4 {
  background-color: rgb(234 179 8 / 0.8) !important;
}

.farbbereich-5 {
  background-color: var(--table-inner-even) !important;
}

.farbbereich-6 {
  background-color: rgb(253 230 138 / 0.8) !important;
}

/*
    .farbbereich-6-b {
        @apply
        !bg-amber-300
        ;
    }
    */

/* SCROLLBAR VERGLEICHSTABELLEN MIT INNERER SCROLLBAR */

/* For Firefox Browser */

.scrollbar-highlighted {
        /*scrollbar-width: thin;*/
        /* thumb / track */
        /*scrollbar-color: #8e9844 #d6dbb1;*/ /* c7-m1 / table-secondary = c7-p4 */ /*grün*/
        /*scrollbar-color: #ec7c30 #f7c5a4;*/ /* c5 / table-secondary = c5-p4 */ /*invOrange*/
        scrollbar-color: #342A90 #a6a1ce; /* c1 / table-secondary = c1-p4 */
    }

/* For Chrome, EDGE, Opera, Others */

/*
    .scrollbar::-webkit-scrollbar {
        width: 20px;
    }
    */

.scrollbar-highlighted::-webkit-scrollbar-track {
        /*background: #d6dbb1;*/ /*grün*/
        /*background: #ec7c30;*/ /*invOrange*/
        background: #342A90;
    }

.scrollbar-highlighted::-webkit-scrollbar-thumb {
        /*background: #8e9844;*/ /*grün*/
        /*background: #f7c5a4;*/ /*invOrange*/
        background: #a6a1ce;
    }

:root {

        /*Variablen für Hamburger-Menu*/
        --toggle-width:  1em;
        --toggle-height: 1em;
        --toggle-stroke: 0.2em;
        --toggle-time:   0.2s;
        --toggle-delay:  0.3s;
        --hover-time:    0.3s;

        /* Wenn gesetzt, werden innere Modulinfos angezeigt, sonst nicht */
        /*--module-info-inner-display: block;*/

    }

/*
    Basisabstand ist responsiv und abhängig vom Viewport.
    Definiert ab minimaler Viewport-Breite und dann folgend angepasst.

    --module-margin-x ist ein Abstand, der nur ganz selten eingesetzt wird,
      z.B. in call-to-action und fondsvergleich.
    --module-inner-margin-x/y sind Margins, die v.a. innerhalb der Module
      eingesetzt werden, um Margins zu Browserborder und anderen Modulen herzustellen.
    --scrollbar-width für Breitenberechnung Datatables
    */

:root {
        --scrollbar-width: 0px;
        --module-margin-x: 0;
        --module-inner-margin-x: 1rem;
        --module-inner-margin-y: 1rem;
    }

@media (min-width: 1024px) {
        :root {
            --scrollbar-width: 0px;
            --module-margin-x: 2rem;
            --module-inner-margin-x: 2rem;
            --module-inner-margin-y: 2rem;
        }
    }

@media print {
        :root {
            --scrollbar-width: 0px;
            --module-margin-x: 0;
            --module-inner-margin-x: 0;
            --module-inner-margin-y: 2rem;
        }
    }

/*REMOTE*/

/*Download bei Google (per Tag in <head>)*/

/*@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap');*/

/*LOKAL*/

/*Font files downloaded here: https://www.axllent.org/code/google-font-downloader/*/

@font-face {
        font-family:  'Raleway';
        font-style:   normal;
        font-weight:  400;
        font-display: swap;
        src:          url('../fonts/Raleway-Regular.eot'); /* IE9 */
        src:          url('../fonts/Raleway-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/Raleway-Regular.woff2') format('woff2'), /* Modern Browsers */ url('../fonts/Raleway-Regular.woff') format('woff'), /* Modern Browsers */ url('../fonts/Raleway-Regular.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/Raleway-Regular.svg#Raleway') format('svg'); /* Legacy iOS */
    }

@font-face {
        font-family:  'Raleway';
        font-style:   normal;
        font-weight:  500;
        font-display: swap;
        src:          url('../fonts/Raleway-500.eot'); /* IE9 */
        src:          url('../fonts/Raleway-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/Raleway-500.woff2') format('woff2'), /* Modern Browsers */ url('../fonts/Raleway-500.woff') format('woff'), /* Modern Browsers */ url('../fonts/Raleway-500.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/Raleway-500.svg#Raleway') format('svg'); /* Legacy iOS */
    }

@font-face {
        font-family:  'Raleway';
        font-style:   normal;
        font-weight:  600;
        font-display: swap;
        src:          url('../fonts/Raleway-600.eot'); /* IE9 */
        src:          url('../fonts/Raleway-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/Raleway-600.woff2') format('woff2'), /* Modern Browsers */ url('../fonts/Raleway-600.woff') format('woff'), /* Modern Browsers */ url('../fonts/Raleway-600.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/Raleway-600.svg#Raleway') format('svg'); /* Legacy iOS */
    }

@font-face {
        font-family:  'Raleway';
        font-style:   normal;
        font-weight:  700;
        font-display: swap;
        src:          url('../fonts/Raleway-700.eot'); /* IE9 */
        src:          url('../fonts/Raleway-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/Raleway-700.woff2') format('woff2'), /* Modern Browsers */ url('../fonts/Raleway-700.woff') format('woff'), /* Modern Browsers */ url('../fonts/Raleway-700.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/Raleway-700.svg#Raleway') format('svg'); /* Legacy iOS */
    }

@font-face {
        font-family:  'Raleway';
        font-style:   italic;
        font-weight:  400;
        font-display: swap;
        src:          url('../fonts/Raleway-Italic.eot'); /* IE9 */
        src:          url('../fonts/Raleway-Italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/Raleway-Italic.woff2') format('woff2'), /* Modern Browsers */ url('../fonts/Raleway-Italic.woff') format('woff'), /* Modern Browsers */ url('../fonts/Raleway-Italic.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/Raleway-Italic.svg#Raleway') format('svg'); /* Legacy iOS */
    }

@font-face {
        font-family:  'Raleway';
        font-style:   italic;
        font-weight:  500;
        font-display: swap;
        src:          url('../fonts/Raleway-500italic.eot'); /* IE9 */
        src:          url('../fonts/Raleway-500italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/Raleway-500italic.woff2') format('woff2'), /* Modern Browsers */ url('../fonts/Raleway-500italic.woff') format('woff'), /* Modern Browsers */ url('../fonts/Raleway-500italic.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/Raleway-500italic.svg#Raleway') format('svg'); /* Legacy iOS */
    }

@font-face {
        font-family:  'Raleway';
        font-style:   italic;
        font-weight:  600;
        font-display: swap;
        src:          url('../fonts/Raleway-600italic.eot'); /* IE9 */
        src:          url('../fonts/Raleway-600italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/Raleway-600italic.woff2') format('woff2'), /* Modern Browsers */ url('../fonts/Raleway-600italic.woff') format('woff'), /* Modern Browsers */ url('../fonts/Raleway-600italic.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/Raleway-600italic.svg#Raleway') format('svg'); /* Legacy iOS */
    }

@font-face {
        font-family:  'Raleway';
        font-style:   italic;
        font-weight:  700;
        font-display: swap;
        src:          url('../fonts/Raleway-700italic.eot'); /* IE9 */
        src:          url('../fonts/Raleway-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/Raleway-700italic.woff2') format('woff2'), /* Modern Browsers */ url('../fonts/Raleway-700italic.woff') format('woff'), /* Modern Browsers */ url('../fonts/Raleway-700italic.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/Raleway-700italic.svg#Raleway') format('svg'); /* Legacy iOS */
    }

/*
    @font-face {
        font-family:    'Material Icons';
        font-style:     normal;
        font-weight:    400;
        src:            url('../fonts/MaterialIcons-Regular.eot'); /- For IE6-8 -/
        src:            local('Material Icons'),
                        local('MaterialIcons-Regular'),
                        url('../fonts/MaterialIcons-Regular.woff2') format('woff2'),
                        url('../fonts/MaterialIcons-Regular.woff') format('woff'),
                        url('../fonts/MaterialIcons-Regular.ttf') format('truetype');
    }
    */

/*
    @font-face {
        font-family:    'Material Icons Outlined';
        font-style:     normal;
        font-weight:    400;
        src:            url('../fonts/MaterialIconsOutlined-Regular.eot'); /- For IE6-8 -/
        src:            local('Material Icons'),
                        local('MaterialIconsOutlined-Regular'),
                        url('../fonts/MaterialIconsOutlined-Regular.woff2') format('woff2'),
                        url('../fonts/MaterialIconsOutlined-Regular.woff') format('woff'),
                        url('../fonts/MaterialIconsOutlined-Regular.ttf') format('truetype');
    }
    */

@font-face {
        font-family: 'Material Icons';
        font-style: normal;
        font-weight: 400;
        src: url('../fonts/MaterialIcons-Regular.woff2') format('woff2');
    }

@font-face {
        font-family: 'Material Icons Outlined';
        font-style: normal;
        font-weight: 400;
        src: url('../fonts/MaterialIconsOutlined-Regular.woff2') format('woff2');
    }

.material-icons {
        font-family: 'Material Icons';
        font-weight: normal;
        font-style: normal;
        font-size: 24px;
        line-height: 1;
        letter-spacing: normal;
        text-transform: none;
        display: inline-block;
        white-space: nowrap;
        word-wrap: normal;
        direction: ltr;
        -moz-font-feature-settings: 'liga';
        -moz-osx-font-smoothing: grayscale;
    }

.material-icons-outlined {
        font-family: 'Material Icons Outlined';
        font-weight: normal;
        font-style: normal;
        font-size: 24px;
        line-height: 1;
        letter-spacing: normal;
        text-transform: none;
        display: inline-block;
        white-space: nowrap;
        word-wrap: normal;
        direction: ltr;
        -moz-font-feature-settings: 'liga';
        -moz-osx-font-smoothing: grayscale;
    }

.cc-toggle {
        position: relative;
        width:    var(--toggle-width);
        height:   var(--toggle-height);
    }

.cc-toggle:hover .cc-toggle--line,
    .cc-toggle:hover .cc-toggle--inner::after,
    .cc-toggle:hover .cc-toggle--inner::before,
    .cc-toggle:active .cc-toggle--line,
    .cc-toggle:active .cc-toggle--inner::after,
    .cc-toggle:active .cc-toggle--inner::before {
        background-color: var(--header-text-hover);
        outline:          none;
    }

.cc-toggle--line {
        display:          block;
        position:         absolute;
        height:           var(--toggle-stroke);
        width:            100%;
        background-color: var(--header-text);
        top:              calc(50% - var(--toggle-stroke) / 2);
        transition:       background-color var(--hover-time);
    }

.cc-toggle--inner {
        width:      100%; /* = width of the strokes */
        height:     80%;
        padding:    10px 0;
        margin:     0 auto;
        position:   relative;
        transform:  rotate(0deg);
        transition: transform var(--toggle-time) 0s ease-in-out, background-color var(--hover-time);
    }

.cc-toggle--inner:before,
    .cc-toggle--inner:after {
        content:          '';
        display:          block;
        position:         absolute;
        width:            100%;
        height:           var(--toggle-stroke);
        background-color: var(--header-text);
    }

/* top */

.cc-toggle--inner:before {
        top:        0;
        opacity:    1;
        transition: top var(--toggle-time) var(--toggle-delay) ease-in-out, opacity 0s 0s ease-in-out, background-color var(--hover-time);
    }

/* bottom */

.cc-toggle--inner:after {
        bottom:     0;
        transition: bottom var(--toggle-time) var(--toggle-delay) ease-in-out, transform var(--toggle-time) 0s ease-in-out, background-color var(--hover-time);
    }

.mobile-nav-is-open .cc-toggle--line {
        /*background-color: #000;*/
        background-color: var(--header-text);
    }

.mobile-nav-is-open .cc-toggle--inner {
        transform:  rotate(45deg);
        transition: transform var(--toggle-time) var(--toggle-delay) ease-in-out;
    }

/* top */

.mobile-nav-is-open .cc-toggle--inner:before {
        /*background-color: #000;*/
        background-color: var(--header-text);
        top:              calc(50% - var(--toggle-stroke) / 2);
        opacity:          0;
        transition:       top var(--toggle-time) 0s ease-in-out, opacity 0s var(--toggle-delay) ease-in-out, background-color var(--hover-time);
    }

/* bottom */

.mobile-nav-is-open .cc-toggle--inner:after {
        /*background-color: #000;*/
        background-color: var(--header-text);
        bottom:           calc(50% - var(--toggle-stroke) / 2);
        transform:        rotate(-90deg);
        transition:       bottom var(--toggle-time) 0s ease-in-out, transform var(--toggle-time) var(--toggle-delay) ease-in-out, background-color var(--hover-time);
    }

/*SILBENTRENNUNG/HYPHENS*/

/* Für Browser, die hyphens unterstützen. */

/* Safari: -webkit-hyphens: auto; */

@supports ((-webkit-hyphens: auto) or (hyphens: auto)) {
        .hyphens {
            hyphens: auto;
            -webkit-hyphens: auto;
        }
    }

/* Für Browser, die hyphens nicht unterstützen. Klasse muss definiert sein, auch */

/* wenn sie leer ist, weil sonst die Zuordnung an anderer Stelle über @apply scheitert. */

/* Aktuell deaktiviert, da sonst Umbruch im Logotext INVEST-MENTFONDS.DE auf iPad. */

/* break-all, weil break-words nicht reicht. */

@supports not ((-webkit-hyphens: auto) or (hyphens: auto)) {
    .hyphens {
        --dummy: 0; /* beliebige Variable */
    }
    }

.no-hyphens {
        hyphens: none;
        -webkit-hyphens: none;
    }

/*HEADINGS UND PARAGRAPH*/

h1 {
        /*text-transform: uppercase;*/
        margin-bottom: 0.5rem;
        font-size: 2.25rem;
        line-height: 2.5rem;
        font-weight: 700;
    }

h2 {
        /*text-transform: uppercase;*/
        margin-bottom: 0.5rem;
        font-size: 1.875rem;
        line-height: 2.25rem;
        font-weight: 500;
    }

h3 {
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 500;
}

h4 {
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 500;
}

h5 {
  margin-bottom: 0.25rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 500;
}

h6 {
  margin-bottom: 0.25rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 500;
}

p {
  margin-bottom: 0.5rem;
  font-size: 16px;
  line-height: 1.35;
}

/*BESCHRÄNKT AUF CONTENT, UM NAVS AUSZUKLAMMERN*/

/*Selektiert id="main" in layout.*/

#main {

        /*LIST-ITEMS*/

    }

/*LINKS ALLGEMEIN*/

#main a {
  font-weight: 700;
}

#main a {
  color: var(--link);
}

#main a:visited {
  color: var(--link-visited);
}

/*LINKS IN ANDEREN TAGS*/

#main p a,
        #main ul a,
        #main ol a {
  font-weight: 700;
}

#main p a,
        #main ul a,
        #main ol a {
  color: var(--link);
}

#main p a,
        #main ul a,
        #main ol a {
  text-decoration-line: underline;
}

#main p a:visited,
        #main ul a:visited,
        #main ol a:visited {
  color: var(--link-visited);
}

/* UNORDERED LISTS */

#main ul {
  margin-bottom: 0.5rem;
}

#main ul {
  list-style-position: inside;
}

#main ul {
  list-style-type: disc;
}

#main ul li {
            text-indent: 1rem;
        }

/* ORDERED LISTS */

#main ol {
  margin-bottom: 0.5rem;
}

#main ol {
  list-style-position: inside;
}

#main ol {
  list-style-type: decimal;
}

#main ol li {
            text-indent: 1rem;
        }

/*Vererbt sich zu li*/

#main .list-checkmark ul {
  list-style-type: none;
}

/*MIT CHECKMARK*/

#main .list-checkmark ul li {
            text-indent: -2.6rem; /* key property */
            margin-left: 2.3rem; /* key property */
        }

/*List-Items mit Checkmark.*/

#main .list-checkmark ul li::before {
            content: "";
            background-image: url('../images/svg/checkmark.svg');
            background-size: contain;
            display: inline-block;
            width: 2rem;
            height: 2rem;
            position: relative;
            top: 0.6rem;
            margin-right: 0.3rem;
        }

/*leer*/

*, ::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:  ;
}

::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:  ;
}

.aspect-h-1 {
  --tw-aspect-h: 1;
}

.aspect-h-16 {
  --tw-aspect-h: 16;
}

.aspect-h-9 {
  --tw-aspect-h: 9;
}

.aspect-w-1 {
  position: relative;
  padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%);
  --tw-aspect-w: 1;
}

.aspect-w-1 > * {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.aspect-w-16 {
  position: relative;
  padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%);
  --tw-aspect-w: 16;
}

.aspect-w-16 > * {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.aspect-w-9 {
  position: relative;
  padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%);
  --tw-aspect-w: 9;
}

.aspect-w-9 > * {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

/*PLATZIERUNG DER SNAPSHOT-CARDS INNERHALB DES GRIDS.*/

@media print {

        /*PAGE-BREAKS*/

        /*
        Page-Breaks funktionieren beim Drucken in mehreren Zusammenhängen nicht wie gewünscht:
        - Beim Umschalten von Hoch- auf Querformat.
        - In Chrome/Edge, wenn irgendein umgebendes DIV eine Eigenschaft display:grid oder display:flex hat,
          was aber für den Aufbau des Website-Layouts selbst absolut wesentlich ist und auf alle Seiten zutrifft,
          weil schon die äußersten Wrapper-DIVs diese Eigenschaft haben. Es ist bekannt, dass Chrome hier
          ziemlich buggy ist bzw. diese Funktionalität noch nicht bietet.
        - Dadurch werden notgedrungen Elemente manchmal ungünstig umgebrochen und es entstehen
          Dopplungen in Überschriften etc.
        */

        .snapshot-card {

            -moz-column-break-inside:       avoid;

                 break-inside:       avoid;
            page-break-inside:  avoid;

        }

        /*
        table {
            page-break-after:auto;
        }
        tr {
            page-break-inside:avoid;
            page-break-after:auto;
            break-inside:avoid;
            break-after:auto;
        }
        td {
            page-break-inside:avoid;
            page-break-after:auto;
            break-inside:avoid;
            break-after:auto;
        }
        */

        /*
        thead {
            display:table-header-group;
        }
        tfoot {
            display:table-footer-group;
        }
        */

    }

.snapshot-card {
  grid-column: span 12 / span 12;
  grid-column-start: 1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

@media print {

        /*PAGE-BREAKS*/

        /*
        Page-Breaks funktionieren beim Drucken in mehreren Zusammenhängen nicht wie gewünscht:
        - Beim Umschalten von Hoch- auf Querformat.
        - In Chrome/Edge, wenn irgendein umgebendes DIV eine Eigenschaft display:grid oder display:flex hat,
          was aber für den Aufbau des Website-Layouts selbst absolut wesentlich ist und auf alle Seiten zutrifft,
          weil schon die äußersten Wrapper-DIVs diese Eigenschaft haben. Es ist bekannt, dass Chrome hier
          ziemlich buggy ist bzw. diese Funktionalität noch nicht bietet.
        - Dadurch werden notgedrungen Elemente manchmal ungünstig umgebrochen und es entstehen
          Dopplungen in Überschriften etc.
        */

        .snapshot-card-links {

            -moz-column-break-inside:       avoid;

                 break-inside:       avoid;
            page-break-inside:  avoid;

        }

        /*
        table {
            page-break-after:auto;
        }
        tr {
            page-break-inside:avoid;
            page-break-after:auto;
            break-inside:avoid;
            break-after:auto;
        }
        td {
            page-break-inside:avoid;
            page-break-after:auto;
            break-inside:avoid;
            break-after:auto;
        }
        */

        /*
        thead {
            display:table-header-group;
        }
        tfoot {
            display:table-footer-group;
        }
        */

    }

.snapshot-card-links {
  grid-column: span 6 / span 6;
  grid-column-start: 1;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media print {

        /*PAGE-BREAKS*/

        /*
        Page-Breaks funktionieren beim Drucken in mehreren Zusammenhängen nicht wie gewünscht:
        - Beim Umschalten von Hoch- auf Querformat.
        - In Chrome/Edge, wenn irgendein umgebendes DIV eine Eigenschaft display:grid oder display:flex hat,
          was aber für den Aufbau des Website-Layouts selbst absolut wesentlich ist und auf alle Seiten zutrifft,
          weil schon die äußersten Wrapper-DIVs diese Eigenschaft haben. Es ist bekannt, dass Chrome hier
          ziemlich buggy ist bzw. diese Funktionalität noch nicht bietet.
        - Dadurch werden notgedrungen Elemente manchmal ungünstig umgebrochen und es entstehen
          Dopplungen in Überschriften etc.
        */

        .snapshot-card-rechts {

            -moz-column-break-inside:       avoid;

                 break-inside:       avoid;
            page-break-inside:  avoid;

        }

        /*
        table {
            page-break-after:auto;
        }
        tr {
            page-break-inside:avoid;
            page-break-after:auto;
            break-inside:avoid;
            break-after:auto;
        }
        td {
            page-break-inside:avoid;
            page-break-after:auto;
            break-inside:avoid;
            break-after:auto;
        }
        */

        /*
        thead {
            display:table-header-group;
        }
        tfoot {
            display:table-footer-group;
        }
        */

    }

.snapshot-card-rechts {
  grid-column: span 6 / span 6;
  grid-column-start: 7;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

/*Label einer Kategorie von Snapshot-Daten wie "ISIN" oder "Topholdings"*/

.snapshot-card-label {
  grid-column: span 12 / span 12;
  grid-column-start: 1;
  display: grid;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-weight: 700;
}

@media (min-width: 1024px) {

  .snapshot-card-label {
    grid-column: span 2 / span 2;
    grid-column-start: 1;
  }
}

@media print {

  .snapshot-card-label {
    padding-left: 0px;
    padding-right: 0px;
  }
}

@media (min-width: 1024px) {

  .snapshot-card-label-links {
    grid-column: span 2 / span 2;
    grid-column-start: 1;
  }

  .snapshot-card-label-rechts {
    grid-column: span 2 / span 2;
    grid-column-start: 7;
  }
}

.snapshot-card-label-filter {
  grid-column: span 12 / span 12;
  grid-column-start: 1;
  display: grid;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-weight: 700;
}

@media (min-width: 768px) {

  .snapshot-card-label-filter {
    grid-column: span 2 / span 2;
    grid-column-start: 1;
  }
}

@media print {

  .snapshot-card-label-filter {
    padding-left: 0px;
    padding-right: 0px;
  }
}

/*Zugehöriger Content*/

.snapshot-card-content {
  grid-column: span 12 / span 12;
  grid-column-start: 1;
  display: grid;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

@media (min-width: 1024px) {

  .snapshot-card-content {
    grid-column: span 10 / span 10;
    grid-column-start: 3;
  }
}

@media print {

  .snapshot-card-content {
    padding-left: 0px;
    padding-right: 0px;
  }
}

@media (min-width: 1024px) {

  .snapshot-card-content-links {
    grid-column: span 4 / span 4;
    grid-column-start: 3;
  }
}

.snapshot-card-content-rechts {
  width: 100%;
}

@media (min-width: 1024px) {

  .snapshot-card-content-rechts {
    grid-column: span 4 / span 4;
    grid-column-start: 9;
  }
}

.snapshot-card-content-filter {
  grid-column: span 12 / span 12;
  grid-column-start: 1;
  display: grid;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

@media (min-width: 768px) {

  .snapshot-card-content-filter {
    grid-column: span 10 / span 10;
    grid-column-start: 3;
  }
}

@media print {

  .snapshot-card-content-filter {
    padding-left: 0px;
    padding-right: 0px;
  }
}

/*Links im Content-Bereich einer Snapshot-Card*/

.snapshot-card-content a {
  color: var(--footer-button);
  text-decoration-line: underline;
}

.snapshot-card-content a:hover {
  color: var(--footer-text-hover);
}

/*STRUKTURTABELLEN WIE "TOPHOLDINGS", "STUKTURDATEN"*/

/*
    .snapshot-strukturtabelle {
        @apply
        ;
    }
    */

/*TR: Höhe und Farbe*/

.snapshot-strukturtabelle tr {
  height: 1.5rem;
}

.snapshot-strukturtabelle tr:nth-child(odd) {
  background-color: var(--table-inner-odd);
}

.snapshot-strukturtabelle tr:nth-child(even) {
  background-color: var(--table-inner-even);
}

/*TR: Höhe und Farbe*/

.snapshot-strukturtabelle th {
  background-color: var(--table-inner-even);
}

/*TD mit Farbzuordnung*/

.snapshot-strukturtabelle .td-farbkubus {
  width: 24px;
  min-width: 24px;
  padding-left: 6px;
  padding-right: 6px;
}

/*Image mit Farbkubus*/

.snapshot-strukturtabelle .td-farbkubus img {
  height: 12px;
  width: 12px;
}

/*TD mit Text des Anteils*/

.snapshot-strukturtabelle .td-beschreibung {
  max-width: calc(100vw - 16px - 2px - 24px - 40px - 26px - 2px - 16px);
  white-space: nowrap;
  vertical-align: middle;
  font-weight: 500;
}

.snapshot-strukturtabelle .td-beschreibung p {
  margin-bottom: 0px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
}

@media (min-width: 1280px) {

  .snapshot-strukturtabelle .td-beschreibung p {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

/*TD mit Prozentangabe*/

.snapshot-strukturtabelle .td-prozent {
  width: 40px;
  min-width: 40px;
  white-space: nowrap;
  padding-left: 6px;
  padding-right: 6px;
  text-align: right;
}

/* FÜR INNERE FONDSSTAMMDATEN-TABELLE IM SNAPSHOT */

.snapshot-fondsstammdaten {
  width: 100%;
}

/*
    .snapshot-fondsstammdaten tr:nth-child(even) {
        @apply
            bg-tb-200
        ;
    }
    */

.snapshot-fondsstammdaten tr {
  height: 1.5rem;
}

.snapshot-fondsstammdaten tr:nth-child(odd) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.snapshot-fondsstammdaten tr:nth-child(even) {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}

.snapshot-fondsstammdaten td {
  display: list-item;
  list-style-type: none;
  white-space: normal;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-weight: 500;
}

@media (min-width: 400px) {

  .snapshot-fondsstammdaten td {
    display: table-cell;
  }
}

/*TD mit Kategoriebezeichnung der Detailinformation*/

.snapshot-fondsstammdaten .td-beschreibung {
  white-space: nowrap;
  font-weight: 700;
}

@media (min-width: 1024px) {

  .snapshot-fondsstammdaten .td-beschreibung {
    white-space: normal;
  }
}

/*
    .snapshot-fondsstammdaten td:nth-child(odd) {
        @apply
            font-normal
            w-min
        ;
    }
    .snapshot-fondsstammdaten td:nth-child(even) {
        @apply
            pl-4
        ;
    }
    */

/*PLATZIERUNG DER FORM-CARDS INNERHALB DES GRIDS.*/

.form-block {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.form-wrapper {
  display: flex;
  flex-wrap: wrap;
}

.form-wrapper-2 {
  display: flex;
  flex-wrap: wrap;
}

/*
    Dort eingesetzt, wo 2 Container nebeneinander stehen sollen = dadurch manuelle Festlegung, welche Felder in
    welchem Container und damit in welcher Spalte stehen.
    */

.form-container {
  display: grid;
  width: 100%;
}

@media (min-width: 1024px) {

  .form-container {
    width: 50%;
  }
}

/*
    Dort eingesetzt, wo Column-Wrap greift und der Inhalt eines form-wrapper-DIVs bzw. einer FORM selbst
    automatisch auf Spalten verteilt wird.
    */

.form-container-full {
  display: grid;
  width: 100%;
}

.form-element {
  display: grid;
}

.form-element:nth-child(even) {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}

@media (min-width: 540px) {

  .form-element {
    grid-template-columns: 3fr 7fr;
  }

  .form-element:nth-child(even) {
    background-color: transparent;
  }
}

.form-element-2 {
  display: grid;
}

@media (min-width: 540px) {

  .form-element-2 {
    grid-template-columns: 3fr 7fr;
  }
}

.form-element-ohne-farbwechsel {
  display: grid;
}

@media (min-width: 540px) {

  .form-element-ohne-farbwechsel {
    grid-template-columns: 3fr 7fr;
  }
}

/*Label eines Form-Elements z.B. in Filtern*/

.form-label {
  grid-column: span 1 / span 1;
  grid-column-start: 1;
  margin-bottom: -0.75rem;
  display: grid;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-weight: 700;
}

@media (min-width: 540px) {

  .form-label {
    margin-bottom: 0px;
  }
}

@media print {

  .form-label {
    padding-left: 0px;
    padding-right: 0px;
  }
}

/*Label eines Form-Elements z.B. im Adressformular*/

@supports ((-webkit-hyphens: auto) or (hyphens: auto)) {
        .form-label-2 {
            hyphens: auto;
            -webkit-hyphens: auto;
        }
    }

@supports not ((-webkit-hyphens: auto) or (hyphens: auto)) {
    .form-label-2 {
        --dummy: 0; /* beliebige Variable */
    }
    }

.form-label-2 {
  grid-column: span 1 / span 1;
  grid-column-start: 1;
  margin-bottom: -0.75rem;
  display: grid;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-weight: 600;
}

@media (min-width: 540px) {

  .form-label-2 {
    margin-bottom: 0px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

.form-label-randlos {
  grid-column: span 1 / span 1;
  grid-column-start: 1;
  margin-bottom: -0.75rem;
  display: grid;
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-weight: 700;
}

@media (min-width: 540px) {

  .form-label-randlos {
    margin-bottom: 0px;
  }
}

.form-field {
  grid-column: span 1 / span 1;
  grid-column-start: 1;
  display: grid;
  overflow: hidden;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

@media (min-width: 540px) {

  .form-field {
    grid-column-start: 2;
  }
}

@media print {

  .form-field {
    padding-left: 0px;
    padding-right: 0px;
  }
}

.form-field-2 {
  grid-column: span 1 / span 1;
  grid-column-start: 1;
  display: grid;
  overflow: hidden;
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

@media (min-width: 540px) {

  .form-field-2 {
    grid-column-start: 2;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.form-field-randlos {
  grid-column: span 1 / span 1;
  grid-column-start: 1;
  display: grid;
  overflow: hidden;
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

@media (min-width: 540px) {

  .form-field-randlos {
    grid-column-start: 2;
  }
}

/*Links im Content-Bereich*/

.form-element a {
  color: var(--footer-button);
  text-decoration-line: underline;
}

.form-element a:hover {
  color: var(--footer-text-hover);
}

.zeitraum-wrapper-div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  row-gap: 0.25rem;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  background-color: var(--snapshot-hervorhebungs-background);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

@media (min-width: 768px) {

  .zeitraum-wrapper-div {
    font-size: 16px;
    line-height: 1.35;
  }
}

.zeitraum-div {
  white-space: nowrap;
}

.zeitraum-link {
  padding-right: 0.5rem;
}

.skyscraper tr {
  height: 1.5rem;
}

.skyscraper tr:nth-child(odd) {
  background-color: var(--table-inner-odd);
}

.skyscraper tr:nth-child(even) {
  background-color: var(--table-inner-even);
}

.skyscraper th {
  white-space: nowrap;
  background-color: var(--table-inner-even);
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  vertical-align: middle;
  font-weight: 700;
}

.skyscraper tr.tr-header-zeile-eins th {
  background-color: var(--header-background);
  text-align: left;
  text-transform: uppercase;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.skyscraper tr.tr-header-zeile-zwei th,
    .skyscraper tr.tr-header-zeile-zwei td {
  background-color: var(--table-primary);
}

.skyscraper tr.tr-header-zeile-drei th,
    .skyscraper tr.tr-header-zeile-drei td {
  background-color: var(--table-primary-dark);
}

.skyscraper td {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  vertical-align: middle;
  font-weight: 500;
}

.skyscraper td p {
  margin-bottom: 0px;
  font-size: 0.75rem;
  line-height: 1rem;
}

@media (min-width: 1280px) {

  .skyscraper td p {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

.skyscraper td.td-name {
        --dummy: 0; /* beliebige Variable */
    }

.skyscraper td.td-name p {
        --dummy: 0; /* beliebige Variable */
    }

.skyscraper td.td-name p a {
  font-weight: 600 !important;
}

.skyscraper td.td-wkn {
  text-align: right;
}

/*TD mit Prozentangabe*/

.skyscraper td.td-prozent {
  text-align: right;
}

/*Pfeil abwärts*/

.skyscraper-arrow-down::after {
        content: "\2193";
        margin-left: 0.5rem;
    }

/*Pfeil aufwärts*/

.skyscraper-arrow-up::after {
        content: "\2191";
        margin-left: 0.5rem;
    }

/*Orangene Checkboxen*/

.skyscraper td input[type=checkbox] {
  color: var(--invextra-orange);
}

.skyscraper td input[type=checkbox]:focus {
  outline-width: 0px;
  --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);
}

.abc thead tr:nth-child(odd) {
  background-color: var(--table-primary);
}

.abc thead tr td {
  font-weight: 700;
}

.abc tr {
  height: 1.5rem;
}

.abc tr:nth-child(odd) {
  background-color: var(--table-inner-odd);
}

.abc tr:nth-child(even) {
  background-color: var(--table-inner-even);
}

/*
    .abc tr:not([style="display: none"]) {
        @apply
        odd:bg-tableInnerOdd
        even:bg-tableInnerEven
        ;
    }
    */

.abc th {
  white-space: nowrap;
  background-color: var(--table-inner-even);
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  vertical-align: middle;
  font-weight: 700;
}

.abc td {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  vertical-align: middle;
  font-weight: 500;
}

.abc td p {
  margin-bottom: 0px;
  font-size: 0.75rem;
  line-height: 1rem;
}

@media (min-width: 1280px) {

  .abc td p {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

.abc td.td-name {
        --dummy: 0; /* beliebige Variable */
    }

.abc td.td-name p {
        --dummy: 0; /* beliebige Variable */
    }

.abc td.td-name p a {
  font-weight: 600 !important;
}

.abc td.td-wkn {
  text-align: right;
}

/*TD mit Prozentangabe*/

.abc td.td-prozent {
  text-align: right;
}

.abc-buttons {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 0.5rem;
}

.abc-buttons button {
  height: 2.5rem;
  min-height: -moz-fit-content;
  min-height: fit-content;
  border-width: 0px !important;
  text-align: left;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
}

.abc-buttons button:hover {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity));
}

.abc-buttons .aktives-element {
  --tw-text-opacity: 1 !important;
  color: rgb(34 197 94 / var(--tw-text-opacity)) !important;
}

.abc-buttons .aktiver-buchstabe {
  font-size: 1.875rem;
  line-height: 2.25rem;
  --tw-text-opacity: 1 !important;
  color: rgb(34 197 94 / var(--tw-text-opacity)) !important;
}

.glossar-buchstabe-in-index {
  padding-top: 1rem;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700 !important;
}

.glossar-index-eintrag:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(100 116 139 / var(--tw-text-opacity)) !important;
}

.m01 div {
  margin-bottom: 0.5rem;
}

.m01 img {
  float: none;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

/*hinweispfeil-mit-text*/

.m42-dreieckspfeil-gelb {
        background: url('../images/svg/m42-dreieckspfeil-gelb.svg');
        min-height: 40px;
        min-width: 40px;
    }

.m42-dreieckspfeil-orange {
        background: url('../images/svg/m42-dreieckspfeil-orange.svg');
        min-height: 40px;
        min-width: 40px;
    }

/*icon_cloud*/

.m05-icon-div {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.m05-icon-img {
  width: 145px;
}

/* Rahmen: Grunddefinition */

.rahmen {
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
  --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);
}

/*Rahmen für ein eizelnes Modul, analog zu Rahmen bei News-Items*/

/*Durch das Padding wird Abstand zwischen Inhalt und Rahmen erzeugt.*/

.modul-mit-rahmen {
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
  --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);
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/*Rahmen für Container-Sektion*/

/*
    Durch die Margins wird Abstand zwischen Sektion und angrenzenden Sektionen bzw. Browserrand erzeugt.
    Je nachdem, ob eine Sektion links, rechts, mittig zwischen zwei anderen Sektionen oder solo vorkommt,
    muss die Margin unterschiedlich breit sein, damit Innen- und Außenababstände übereinstimmen.
    */

.sektion-mit-rahmen-solo {
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
  --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);
  margin-left: var(--module-inner-margin-x);
  margin-right: var(--module-inner-margin-x);
  margin-top: var(--module-inner-margin-y);
  margin-bottom: var(--module-inner-margin-y);
}

.sektion-mit-rahmen-links {
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
  --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);
  margin-left: var(--module-inner-margin-x);
  margin-right: var(--module-inner-margin-x);
  margin-top: var(--module-inner-margin-y);
  margin-bottom: var(--module-inner-margin-y);
}

@media (min-width: 1024px) {

  .sektion-mit-rahmen-links {
    margin-left: 0px;
    margin-right: 0px;
    margin-left: var(--module-inner-margin-x);
    margin-right: calc(var(--module-inner-margin-x) / 2);
  }
}

.sektion-mit-rahmen-mitte {
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
  --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);
  margin-left: var(--module-inner-margin-x);
  margin-right: var(--module-inner-margin-x);
  margin-top: var(--module-inner-margin-y);
  margin-bottom: var(--module-inner-margin-y);
}

@media (min-width: 1024px) {

  .sektion-mit-rahmen-mitte {
    margin-left: 0px;
    margin-right: 0px;
    margin-left: calc(var(--module-inner-margin-x) / 2);
    margin-right: calc(var(--module-inner-margin-x) / 2);
  }
}

.sektion-mit-rahmen-rechts {
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
  --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);
  margin-left: var(--module-inner-margin-x);
  margin-right: var(--module-inner-margin-x);
  margin-top: var(--module-inner-margin-y);
  margin-bottom: var(--module-inner-margin-y);
}

@media (min-width: 1024px) {

  .sektion-mit-rahmen-rechts {
    margin-left: 0px;
    margin-right: 0px;
    margin-left: calc(var(--module-inner-margin-x) / 2);
    margin-right: var(--module-inner-margin-x);
  }
}

/*Vertikale Zentrierung aller Inhalte in einer Sektion*/

.sektion-vertikal-zentriert-falls-rahmen-dann-hoehe-voll {
  display: grid;
  align-items: center;
  align-self: stretch;
}

.sektion-vertikal-zentriert-falls-rahmen-dann-hoehe-minimal {
  align-self: center;
}

/* Abgerundet, für Buttons u.Ä.: Grunddefinition */

.abgerundet {
  border-radius: 0.375rem;
  border-width: 0px;
  border-color: transparent;
}

/*Links in Zeitraum-Leisten*/

/*muss auch #main-Links überschreiben*/

/*aktive Links werden durch Lucee manuell auf font-bold gesetzt*/

.inv-zeitraum-leiste a,
    #main .inv-zeitraum-leiste a {
  font-weight: 400;
  color: var(--link);
}

.inv-zeitraum-leiste a:visited,
    #main .inv-zeitraum-leiste a:visited {
  color: var(--link);
}

.inv-zeitraum-leiste a:hover,
    #main .inv-zeitraum-leiste a:hover {
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.inv-zeitraum-leiste a:active,
    #main .inv-zeitraum-leiste a:active {
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.inv-zeitraum-leiste a.aktiv,
    #main .inv-zeitraum-leiste a.aktiv {
  font-weight: 700;
  color: var(--link-zeitraum-leiste-aktiv);
}

.inv-zeitraum-leiste a.aktiv:visited,
    #main .inv-zeitraum-leiste a.aktiv:visited {
  color: var(--link-zeitraum-leiste-aktiv);
}

.inv-zeitraum-leiste a.aktiv:hover,
    #main .inv-zeitraum-leiste a.aktiv:hover {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

@media print {

        /*PAGE-BREAKS*/

        /*
        Page-Breaks funktionieren beim Drucken in mehreren Zusammenhängen nicht wie gewünscht:
        - Beim Umschalten von Hoch- auf Querformat.
        - In Chrome/Edge, wenn irgendein umgebendes DIV eine Eigenschaft display:grid oder display:flex hat,
          was aber für den Aufbau des Website-Layouts selbst absolut wesentlich ist und auf alle Seiten zutrifft,
          weil schon die äußersten Wrapper-DIVs diese Eigenschaft haben. Es ist bekannt, dass Chrome hier
          ziemlich buggy ist bzw. diese Funktionalität noch nicht bietet.
        - Dadurch werden notgedrungen Elemente manchmal ungünstig umgebrochen und es entstehen
          Dopplungen in Überschriften etc.
        */

        .inv-break-after {

            -moz-column-break-after:        always;

                 break-after:        always; /* Experimental Feature in Firefox */
            page-break-after:   always; /* Chrome */

        }

        .inv-break-before {

            -moz-column-break-before:      always !important;

                 break-before:      always !important;
            page-break-before: always !important;

        }

        .inv-break-inside-avoid {

            -moz-column-break-inside:       avoid;

                 break-inside:       avoid;
            page-break-inside:  avoid;

        }

        /*
        table {
            page-break-after:auto;
        }
        tr {
            page-break-inside:avoid;
            page-break-after:auto;
            break-inside:avoid;
            break-after:auto;
        }
        td {
            page-break-inside:avoid;
            page-break-after:auto;
            break-inside:avoid;
            break-after:auto;
        }
        */

        /*
        thead {
            display:table-header-group;
        }
        tfoot {
            display:table-footer-group;
        }
        */

    }

/*TABELLE, OHNE STEUERELEMENTE*/

table.dataTable {
        /*margin: 0 auto;*/
        clear:           both;
        border-collapse: separate;
        border-spacing:  0;
        width: 100%;
        font-size: 0.75rem;
        line-height: 1rem;
        font-weight: 700;
    }

@media (min-width: 1024px) {

  table.dataTable {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

@media print {

  table.dataTable {
    font-size: 0.6rem;
  }
}

table.dataTable .child .dtr-title {
  font-weight: 700;
}

table.dataTable .child .dtr-title::after {
  --tw-content: ':';
  content: var(--tw-content);
}

table.dataTable .child .dtr-data {
  font-weight: 400 !important;
}

/*Orangene Checkboxen*/

table.dataTable td input[type=checkbox] {
  color: var(--invextra-orange);
}

table.dataTable td input[type=checkbox]:focus {
  outline-width: 0px;
  --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);
}

table.dataTable th.dt-left,
    table.dataTable td.dt-left {
        text-align: left;
    }

table.dataTable th.dt-center,
    table.dataTable td.dt-center,
    table.dataTable td.dataTables_empty {
        text-align: center;
    }

table.dataTable th.dt-right,
    table.dataTable td.dt-right {
        text-align: right;
    }

table.dataTable th.dt-justify,
    table.dataTable td.dt-justify {
        text-align: justify;
    }

table.dataTable th.dt-nowrap,
    table.dataTable td.dt-nowrap {
        white-space: nowrap;
    }

table.dataTable thead th.dt-head-left,
    table.dataTable thead td.dt-head-left,
    table.dataTable tfoot th.dt-head-left,
    table.dataTable tfoot td.dt-head-left {
        text-align: left;
    }

table.dataTable thead th.dt-head-center,
    table.dataTable thead td.dt-head-center,
    table.dataTable tfoot th.dt-head-center,
    table.dataTable tfoot td.dt-head-center {
        text-align: center;
    }

table.dataTable thead th.dt-head-right,
    table.dataTable thead td.dt-head-right,
    table.dataTable tfoot th.dt-head-right,
    table.dataTable tfoot td.dt-head-right {
        text-align: right;
    }

table.dataTable thead th.dt-head-justify,
    table.dataTable thead td.dt-head-justify,
    table.dataTable tfoot th.dt-head-justify,
    table.dataTable tfoot td.dt-head-justify {
        text-align: justify;
    }

table.dataTable thead th.dt-head-nowrap,
    table.dataTable thead td.dt-head-nowrap,
    table.dataTable tfoot th.dt-head-nowrap,
    table.dataTable tfoot td.dt-head-nowrap {
        white-space: nowrap;
    }

table.dataTable tbody th.dt-body-left,
    table.dataTable tbody td.dt-body-left {
        text-align: left;
    }

table.dataTable tbody th.dt-body-center,
    table.dataTable tbody td.dt-body-center {
        text-align: center;
    }

table.dataTable tbody th.dt-body-right,
    table.dataTable tbody td.dt-body-right {
        text-align: right;
    }

table.dataTable tbody th.dt-body-justify,
    table.dataTable tbody td.dt-body-justify {
        text-align: justify;
    }

table.dataTable tbody th.dt-body-nowrap,
    table.dataTable tbody td.dt-body-nowrap {
        white-space: nowrap;
    }

table.dataTable td.dt-control {
        text-align: center;
        cursor:     pointer;
    }

table.dataTable td.dt-control:before {
        height:           1em;
        width:            1em;
        margin-top:       -9px;
        display:          inline-block;
        color:            white;
        border:           0.15em solid white;
        border-radius:    1em;
        box-shadow:       0 0 0.2em #444;
        box-sizing:       content-box;
        text-align:       center;
        text-indent:      0 !important;
        font-family:      "Courier New", Courier, monospace;
        line-height:      1em;
        content:          "+";
        background-color: #31b131;
    }

table.dataTable tr.dt-hasChild td.dt-control:before {
        content:          "-";
        background-color: #d33333;
    }

/* Header and footer */

table.dataTable thead th,
    table.dataTable tfoot th {
        font-weight: bold;
    }

table.dataTable thead th,
    table.dataTable thead td {
        padding:       10px 18px;
        border-bottom: 1px solid #111;
        background-color: var(--table-primary);
    }

table.dataTable thead th:active,
    table.dataTable thead td:active {
        outline: none;
    }

table.dataTable tfoot th,
    table.dataTable tfoot td {
        padding:    10px 18px 6px 18px;
        border-top: 1px solid #111;
        background-color: var(--table-primary);
    }

table.dataTable thead .sorting,
    table.dataTable thead .sorting_asc,
    table.dataTable thead .sorting_desc,
    table.dataTable thead .sorting_asc_disabled,
    table.dataTable thead .sorting_desc_disabled {
        cursor:              pointer;
        *cursor:             hand;
        background-repeat:   no-repeat;
        background-position: center right;
    }

table.dataTable thead .sorting {
        background-image: url("../images/datatables/sort_both.png");
    }

/*Spaltenkopf von Spalten, nach denen ASC sortiert wurde*/

/*
    Hier könnte man eine andere BG-Farbe setzen, sofern nach dieser Spalte sortiert wird,
    aber das lässt sich analog NICHT in <tfoot> machen, da dort die th-Zellen von DT
    nicht die sorting-Klasse "verpasst" bekommen. Evt. kompliziert über DT-Options mgl.?
        @apply
        bg-tablePrimaryDark
        ;
    */

table.dataTable thead .sorting_asc {
        background-image: url("../images/datatables/sort_asc.png") !important;
    }

/*Spaltenkopf von Spalten, nach denen DESC sortiert wurde*/

table.dataTable thead .sorting_desc {
        background-image: url("../images/datatables/sort_desc.png") !important;
    }

table.dataTable thead .sorting_asc_disabled {
        background-image: url("../images/datatables/sort_asc_disabled.png");
    }

table.dataTable thead .sorting_desc_disabled {
        background-image: url("../images/datatables/sort_desc_disabled.png");
    }

/* Body */

table.dataTable tbody tr {
        background-color: #ffffff;
    }

table.dataTable tbody tr.selected {
        background-color: #B0BED9;
    }

table.dataTable tbody th,
    table.dataTable tbody td {
        padding: 8px 10px;
    }

/*Klasse in Entwicklung, um Spalten schmaler zu machen.*/

table.dataTable thead th.no-x-padding,
    table.dataTable thead td.no-x-padding,
    table.dataTable tbody th.no-x-padding,
    table.dataTable tbody td.no-x-padding,
    table.dataTable tfoot th.no-x-padding,
    table.dataTable tfoot td.no-x-padding {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

table.dataTable.row-border tbody th,
    table.dataTable.row-border tbody td,
    table.dataTable.display tbody th,
    table.dataTable.display tbody td {
        border-top: 1px solid #ddd;
    }

table.dataTable.row-border tbody tr:first-child th,
    table.dataTable.row-border tbody tr:first-child td,
    table.dataTable.display tbody tr:first-child th,
    table.dataTable.display tbody tr:first-child td {
        border-top: none;
    }

table.dataTable.cell-border tbody th,
    table.dataTable.cell-border tbody td {
        border-top:   1px solid #ddd;
        border-right: 1px solid #ddd;
    }

table.dataTable.cell-border tbody tr th:first-child,
    table.dataTable.cell-border tbody tr td:first-child {
        border-left: 1px solid #ddd;
    }

table.dataTable.cell-border tbody tr:first-child th,
    table.dataTable.cell-border tbody tr:first-child td {
        border-top: none;
    }

table.dataTable.stripe tbody tr.odd,
    table.dataTable.display tbody tr.odd {
        background-color: #f9f9f9;
    }

table.dataTable.stripe tbody tr.odd.selected,
    table.dataTable.display tbody tr.odd.selected {
        background-color: #acbad4;
    }

table.dataTable.hover tbody tr:hover,
    table.dataTable.display tbody tr:hover {
        background-color: #f6f6f6;
    }

table.dataTable.hover tbody tr:hover.selected,
    table.dataTable.display tbody tr:hover.selected {
        background-color: #aab7d1;
    }

table.dataTable.order-column tbody tr > .sorting_1,
    table.dataTable.order-column tbody tr > .sorting_2,
    table.dataTable.order-column tbody tr > .sorting_3,
    table.dataTable.display tbody tr > .sorting_1,
    table.dataTable.display tbody tr > .sorting_2,
    table.dataTable.display tbody tr > .sorting_3 {
        background-color: #fafafa;
    }

table.dataTable.order-column tbody tr.selected > .sorting_1,
    table.dataTable.order-column tbody tr.selected > .sorting_2,
    table.dataTable.order-column tbody tr.selected > .sorting_3,
    table.dataTable.display tbody tr.selected > .sorting_1,
    table.dataTable.display tbody tr.selected > .sorting_2,
    table.dataTable.display tbody tr.selected > .sorting_3 {
        background-color: #acbad5;
    }

/*Sortierspalte, in ungeraden Zeilen*/

table.dataTable.display tbody tr.odd > .sorting_1,
    table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
        /*background-color: #f1f1f1;*/
        background-color: #e1e1e1;
    }

table.dataTable.display tbody tr.odd > .sorting_2,
    table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
        background-color: #f3f3f3;
    }

table.dataTable.display tbody tr.odd > .sorting_3,
    table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
        background-color: whitesmoke;
    }

table.dataTable.display tbody tr.odd.selected > .sorting_1,
    table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
        background-color: #a6b4cd;
    }

table.dataTable.display tbody tr.odd.selected > .sorting_2,
    table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
        background-color: #a8b5cf;
    }

table.dataTable.display tbody tr.odd.selected > .sorting_3,
    table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
        background-color: #a9b7d1;
    }

/*Sortierspalte, in geraden Zeilen*/

table.dataTable.display tbody tr.even > .sorting_1,
    table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
        /*background-color: #fafafa;*/
        background-color: #e1e1e1;
    }

table.dataTable.display tbody tr.even > .sorting_2,
    table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
        background-color: #fcfcfc;
    }

table.dataTable.display tbody tr.even > .sorting_3,
    table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
        background-color: #fefefe;
    }

table.dataTable.display tbody tr.even.selected > .sorting_1,
    table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
        background-color: #acbad5;
    }

table.dataTable.display tbody tr.even.selected > .sorting_2,
    table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
        background-color: #aebcd6;
    }

table.dataTable.display tbody tr.even.selected > .sorting_3,
    table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
        background-color: #afbdd8;
    }

table.dataTable.display tbody tr:hover > .sorting_1,
    table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {
        background-color: #eaeaea;
    }

table.dataTable.display tbody tr:hover > .sorting_2,
    table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {
        background-color: #ececec;
    }

table.dataTable.display tbody tr:hover > .sorting_3,
    table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {
        background-color: #efefef;
    }

table.dataTable.display tbody tr:hover.selected > .sorting_1,
    table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {
        background-color: #a2aec7;
    }

table.dataTable.display tbody tr:hover.selected > .sorting_2,
    table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {
        background-color: #a3b0c9;
    }

table.dataTable.display tbody tr:hover.selected > .sorting_3,
    table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {
        background-color: #a5b2cb;
    }

table.dataTable.no-footer {
        border-bottom: 1px solid #111;
    }

table.dataTable.nowrap th,
    table.dataTable.nowrap td {
        white-space: nowrap;
    }

table.dataTable.compact thead th,
    table.dataTable.compact thead td {
        padding: 4px 17px;
    }

table.dataTable.compact tfoot th,
    table.dataTable.compact tfoot td {
        padding: 4px;
    }

table.dataTable.compact tbody th,
    table.dataTable.compact tbody td {
        padding: 4px;
    }

table.dataTable th,
    table.dataTable td {
        box-sizing: content-box;
    }

/*WRAPPER UND STEUERELEMENTE*/

div.dataTables_wrapper {
        position: relative;
        clear:    both;
        margin-top: 0px;
        width: calc(100vw - var(--scrollbar-width));
        max-width: calc(1920px - (2 * var(--module-inner-margin-x)));
        font-size: 0.75rem;
        line-height: 1rem;
    }

@media (min-width: 640px) {

  div.dataTables_wrapper {
    margin-left: var(--module-inner-margin-x);
    margin-right: var(--module-inner-margin-x);
    width: calc(100vw - (2 * var(--module-inner-margin-x)) - var(--scrollbar-width));
  }
}

@media (min-width: 1024px) {

  div.dataTables_wrapper {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

/*Select für Anzahl*/

.dataTables_wrapper .dataTables_length {
  float: none;
}

@media (min-width: 400px) {

  .dataTables_wrapper .dataTables_length {
    float: left;
  }
}

@media print {

  .dataTables_wrapper .dataTables_length {
    display: none;
  }
}

.dataTables_wrapper .dataTables_length select {
        border:           1px solid #aaa;
        /*border-radius:    3px;*/
        /*padding:          5px;*/
        /*background-color: transparent;*/
        margin-bottom: 0.5rem;
        margin-right: 0.5rem;
        height: 2.25rem;
        min-width: 60px;
        border-radius: 0.375rem;
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity));
        padding: 0.25rem;
        font-size: 0.75rem;
        line-height: 1rem;
    }

@media (min-width: 640px) {

  .dataTables_wrapper .dataTables_length select {
    width: auto;
  }
}

@media (min-width: 1024px) {

  .dataTables_wrapper .dataTables_length select {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

/*Innere Suche*/

.dataTables_wrapper .dataTables_filter {
  float: none;
  height: 2rem;
}

@media (min-width: 400px) {

  .dataTables_wrapper .dataTables_filter {
    float: right;
    text-align: right;
  }
}

.dataTables_wrapper .dataTables_filter input {
        /*border-radius:    3px;*/
        /*background-color: transparent;*/
        margin-left: 0.25rem;
        min-height: 100%;
        border-radius: 0.375rem;
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity));
        padding: 0.5rem;
        font-size: 0.75rem;
        line-height: 1rem;
    }

.dataTables_wrapper .dataTables_filter input::-moz-placeholder {
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
}

.dataTables_wrapper .dataTables_filter input::placeholder {
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
}

.dataTables_wrapper .dataTables_filter input:focus::-moz-placeholder {
  color: transparent;
}

.dataTables_wrapper .dataTables_filter input:focus::placeholder {
  color: transparent;
}

@media (min-width: 1024px) {

  .dataTables_wrapper .dataTables_filter input {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .dataTables_wrapper .dataTables_filter input::-moz-placeholder {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .dataTables_wrapper .dataTables_filter input::placeholder {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

@media print {

  .dataTables_wrapper .dataTables_filter input {
    display: none;
  }
}

/*Info zu aktuell gezeigten Datensätzen*/

.dataTables_wrapper .dataTables_info {
        /*
        clear:       both;
        float:       left;
        padding-top: 0.755em;
        */
        margin-top: 0.5rem;
        display: grid;
        padding-top: 0.5rem;
    }

/*Paginierung*/

.dataTables_wrapper .dataTables_paginate {
        /*
        float:       right;
        text-align:  right;
        padding-top: 0.25em;
        */
        margin-top: 0.5rem;
        display: flex;
        -moz-column-gap: 0.5rem;
             column-gap: 0.5rem;
    }

@media print {

  .dataTables_wrapper .dataTables_paginate {
    display: none;
  }
}

/* Links Paginierung: CSS-Regel für #main a überschreiben. */

.dataTables_wrapper .dataTables_paginate a {
  font-weight: 400 !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
        box-sizing:      border-box;
        display:         inline-block;
        min-width:       1.5em;
        text-align:      center;
        text-decoration: none !important;
        cursor:          pointer;
        *cursor:         hand;
        color:           #333 !important;
        border:          1px solid transparent;
        border-radius:   2px;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;

    }

/* Zurück-Button linksbündig anzeigen */

.dataTables_wrapper .dataTables_paginate .previous {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
    .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
        /*color:            #333 !important;*/
        color:            black;
        /*border:           1px solid #979797;*/
        /*background-color: white;*/
        background-color: rgba(0, 0, 0, 0.1);
    }

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
    .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
    .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
        cursor:     default;
        color:      #666 !important;
        border:     1px solid transparent;
        background: transparent;
        box-shadow: none;
    }

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
        /*color:            white !important;*/
        /*border:           1px solid #111;*/
        /*background-color: #585858;*/
        background-color: rgba(0, 0, 0, 0.2);
    }

.dataTables_wrapper .dataTables_paginate .paginate_button:active {
        outline:          none;
        background-color: #2b2b2b;
    }

.dataTables_wrapper .dataTables_paginate .ellipsis {
        padding: 0 1em;
    }

/*Processing-Info*/

.dataTables_wrapper .dataTables_processing {
        position:         absolute;
        top:              50%;
        left:             50%;
        width:            100%;
        height:           40px;
        margin-left:      -50%;
        margin-top:       -25px;
        padding-top:      20px;
        text-align:       center;
        font-size:        1.2em;
        background-color: white;
        background:       linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
    }

.dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_processing,
    .dataTables_wrapper .dataTables_paginate {
        color: #333;
    }

/*Scrollverhalten*/

.dataTables_wrapper .dataTables_scroll {
        clear: both;
        --dummy: 0; /* beliebige Variable */
    }

/*Abstand zwischen Suchergebnis-Filter und Tabelle.*/

/*Greift nur, wenn scrollX: true.*/

.dataTables_wrapper .dataTables_scrollHeadInner {
    }

/*Abstand zwischen Suchergebnis-Filter und Tabelle.*/

/*Greift nur, wenn scrollX: true.*/

.dataTables_wrapper .dataTables_scrollFootInner {
    }

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
        *margin-top:                -1px;
        -webkit-overflow-scrolling: touch;
    }

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th,
    .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td,
    .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th,
    .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td {
        vertical-align: middle;
    }

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th > div.dataTables_sizing,
    .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td > div.dataTables_sizing,
    .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th > div.dataTables_sizing,
    .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td > div.dataTables_sizing {
        height:   0;
        overflow: hidden;
        margin:   0 !important;
        padding:  0 !important;
    }

.dataTables_wrapper.no-footer .dataTables_scrollBody {
        border-bottom: 1px solid #111;
    }

.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,
    .dataTables_wrapper.no-footer div.dataTables_scrollBody > table {
        border-bottom: none;
    }

.dataTables_wrapper:after {
        visibility: hidden;
        display:    block;
        content:    "";
        clear:      both;
        height:     0;
    }

@keyframes dtb-spinner {
        100% {
            transform: rotate(360deg);
        }
    }

div.dataTables_wrapper {
        position: relative;
    }

div.dt-buttons {
        position: initial;
        margin-left: var(--module-inner-margin-x);
        margin-right: var(--module-inner-margin-x);
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

@media (min-width: 640px) {

  div.dt-buttons {
    margin-left: 0px;
    margin-right: 0px;
  }
}

@media print {

  div.dt-buttons {
    display: none;
  }
}

div.dt-button-info {
        position: fixed;
        top: 50%;
        left: 50%;
        width: 400px;
        margin-top: -100px;
        margin-left: -200px;
        background-color: white;
        border: 2px solid #111;
        box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.3);
        border-radius: 3px;
        text-align: center;
        z-index: 21;
    }

div.dt-button-info h2 {
        padding: 0.5em;
        margin: 0;
        font-weight: normal;
        border-bottom: 1px solid #ddd;
        background-color: #f3f3f3;
    }

div.dt-button-info > div {
        padding: 1em;
    }

div.dtb-popover-close {
        position: absolute;
        top: 10px;
        right: 10px;
        width: 22px;
        height: 22px;
        border: 1px solid #eaeaea;
        background-color: #f9f9f9;
        text-align: center;
        border-radius: 3px;
        cursor: pointer;
        z-index: 12;
    }

button.dtb-hide-drop {
        display: none !important;
    }

div.dt-button-collection-title {
        text-align: center;
        padding: 0.3em 0 0.5em;
        margin-left: 0.5em;
        margin-right: 0.5em;
    }

div.dt-button-collection-title:empty {
        display: none;
    }

span.dt-button-spacer {
        display: inline-block;
        margin: 0.5em;
        white-space: nowrap;
    }

span.dt-button-spacer.bar {
        border-left: 1px solid rgba(0, 0, 0, 0.3);
        vertical-align: middle;
        padding-left: 0.5em;
    }

span.dt-button-spacer.bar:empty {
        height: 1em;
        width: 1px;
        padding-left: 0;
    }

div.dt-button-collection span.dt-button-spacer {
        width: 100%;
        font-size: 0.9em;
        text-align: center;
        margin: 0.5em 0;
    }

div.dt-button-collection span.dt-button-spacer:empty {
        height: 0;
        width: 100%;
    }

div.dt-button-collection span.dt-button-spacer.bar {
        border-left: none;
        border-bottom: 1px solid rgba(0, 0, 0, 0.3);
        padding-left: 0;
    }

button.dt-button,
    div.dt-button,
    a.dt-button,
    input.dt-button {
        position: relative;
        display: inline-block;
        box-sizing: border-box;
        /*border: 1px solid rgba(0, 0, 0, 0.3);*/
        /*border-radius: 2px;*/
        cursor: pointer;
        color: black;
        white-space: nowrap;
        overflow: hidden;
        background-color: rgba(0, 0, 0, 0.1);
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
        text-decoration: none;
        outline: none;
        text-overflow: ellipsis;
        height: 2.25rem;
        border-radius: 0.375rem;
        padding-left: 1rem;
        padding-right: 1rem;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }

button.dt-button:first-child,
    div.dt-button:first-child,
    a.dt-button:first-child,
    input.dt-button:first-child {
        margin-left: 0;
    }

button.dt-button.disabled,
    div.dt-button.disabled,
    a.dt-button.disabled,
    input.dt-button.disabled {
        cursor: default;
        opacity: 0.4;
    }

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* Control-Buttons:  */

button.dt-button:active:not(.disabled),
    button.dt-button.active:not(.disabled),
    div.dt-button:active:not(.disabled),
    div.dt-button.active:not(.disabled),
    a.dt-button:active:not(.disabled),
    a.dt-button.active:not(.disabled),
    input.dt-button:active:not(.disabled),
    input.dt-button.active:not(.disabled) {
        background-color: rgba(0, 0, 0, 0.1);
    }

button.dt-button:active:not(.disabled):hover:not(.disabled),
    button.dt-button.active:not(.disabled):hover:not(.disabled),
    div.dt-button:active:not(.disabled):hover:not(.disabled),
    div.dt-button.active:not(.disabled):hover:not(.disabled),
    a.dt-button:active:not(.disabled):hover:not(.disabled),
    a.dt-button.active:not(.disabled):hover:not(.disabled),
    input.dt-button:active:not(.disabled):hover:not(.disabled),
    input.dt-button.active:not(.disabled):hover:not(.disabled) {
        background-color: rgba(0, 0, 0, 0.2);
    }

button.dt-button:hover,
    div.dt-button:hover,
    a.dt-button:hover,
    input.dt-button:hover {
        text-decoration: none;
    }

button.dt-button:hover:not(.disabled),
    div.dt-button:hover:not(.disabled),
    a.dt-button:hover:not(.disabled),
    input.dt-button:hover:not(.disabled) {
        /*border: 1px solid #666;*/
        background-color: rgba(0, 0, 0, 0.2);
    }

button.dt-button:focus:not(.disabled),
    div.dt-button:focus:not(.disabled),
    a.dt-button:focus:not(.disabled),
    input.dt-button:focus:not(.disabled) {
        border: 1px solid #426c9e;
        text-shadow: 0 1px 0 #c4def1;
        outline: none;
        background-color: #79ace9;
    }

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/*Arrow jetzt hidden!*/

button.dt-button span.dt-down-arrow,
    div.dt-button span.dt-down-arrow,
    a.dt-button span.dt-down-arrow,
    input.dt-button span.dt-down-arrow {
        /*
        position: relative;
        top: -2px;
        color: rgba(70, 70, 70, 0.75);
        font-size: 8px;
        padding-left: 10px;
        line-height: 1em;
        */
        display: none;
    }

.dt-button embed {
        outline: none;
    }

div.dt-buttons {
        float: left;
    }

div.dt-buttons.buttons-right {
        float: right;
    }

div.dataTables_layout_cell div.dt-buttons {
        float: none;
    }

div.dataTables_layout_cell div.dt-buttons.buttons-right {
        float: none;
    }

div.dt-btn-split-wrapper {
        display: inline-block;
    }

div.dt-button-collection {
        position: absolute;
        top: 0;
        left: 0;
        /*width: 200px;*/
        margin-top: 3px;
        margin-bottom: 3px;
        padding: 4px 4px 2px 4px;
        border: 1px solid #ccc;
        border: 1px solid rgba(0, 0, 0, 0.4);
        background-color: white;
        overflow: hidden;
        z-index: 2002;
        border-radius: 5px;
        box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.3);
        box-sizing: border-box;
    }

div.dt-button-collection button.dt-button,
    div.dt-button-collection div.dt-button,
    div.dt-button-collection a.dt-button {
        position: relative;
        left: 0;
        right: 0;
        width: 100%;
        display: block;
        float: none;
        margin: 4px 0 2px 0;
    }

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* Buttons: aktive Spalten */

div.dt-button-collection button.dt-button:active:not(.disabled),
    div.dt-button-collection button.dt-button.active:not(.disabled),
    div.dt-button-collection div.dt-button:active:not(.disabled),
    div.dt-button-collection div.dt-button.active:not(.disabled),
    div.dt-button-collection a.dt-button:active:not(.disabled),
    div.dt-button-collection a.dt-button.active:not(.disabled) {
  background-color: var(--toggle-enabled);
}

/* Buttons: aktive Spalten hover */

div.dt-button-collection button.dt-button:active:not(.disabled):hover:not(.disabled),
    div.dt-button-collection button.dt-button.active:not(.disabled):hover:not(.disabled),
    div.dt-button-collection div.dt-button:active:not(.disabled):hover:not(.disabled),
    div.dt-button-collection div.dt-button.active:not(.disabled):hover:not(.disabled),
    div.dt-button-collection a.dt-button:active:not(.disabled):hover:not(.disabled),
    div.dt-button-collection a.dt-button.active:not(.disabled):hover:not(.disabled) {
  background-color: var(--toggle-enabled-hover);
}

/* Buttons: inaktive Spalten */

div.dt-button-collection button.buttons-columnVisibility:not(active):not(.disabled) {
  background-color: var(--toggle-disabled);
  text-decoration-line: line-through;
}

/* Buttons: aktive Spalten */

div.dt-button-collection button.buttons-columnVisibility.active
    {
        text-decoration: none !important; /*Übersteuert das line-through.*/
    }

/* Buttons: inaktive Spalten hover */

div.dt-button-collection button.buttons-columnVisibility:not(active):hover:not(.disabled) {
  background-color: var(--toggle-disabled-hover);
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

div.dt-button-collection button.dt-button:first-child,
    div.dt-button-collection div.dt-button:first-child,
    div.dt-button-collection a.dt-button:first-child {
        margin-top: 0;
        border-top-left-radius: 3px;
        border-top-right-radius: 3px;
    }

div.dt-button-collection button.dt-button:last-child,
    div.dt-button-collection div.dt-button:last-child,
    div.dt-button-collection a.dt-button:last-child {
        border-bottom-left-radius: 3px;
        border-bottom-right-radius: 3px;
    }

div.dt-button-collection div.dt-btn-split-wrapper {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-content: flex-start;
        align-items: stretch;
        margin: 4px 0 2px 0;
    }

div.dt-button-collection div.dt-btn-split-wrapper button.dt-button {
        margin: 0;
        display: inline-block;
        width: 0;
        flex-grow: 1;
        flex-shrink: 0;
        flex-basis: 50px;
        border-radius: 0;
    }

div.dt-button-collection div.dt-btn-split-wrapper button.dt-btn-split-drop {
        min-width: 20px;
        flex-grow: 0;
        flex-shrink: 0;
        flex-basis: 0;
    }

div.dt-button-collection div.dt-btn-split-wrapper:first-child {
        margin-top: 0;
    }

div.dt-button-collection div.dt-btn-split-wrapper:first-child button.dt-button {
        border-top-left-radius: 3px;
    }

div.dt-button-collection div.dt-btn-split-wrapper:first-child button.dt-btn-split-drop {
        border-top-right-radius: 3px;
    }

div.dt-button-collection div.dt-btn-split-wrapper:last-child button.dt-button {
        border-bottom-left-radius: 3px;
    }

div.dt-button-collection div.dt-btn-split-wrapper:last-child button.dt-btn-split-drop {
        border-bottom-right-radius: 3px;
    }

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

div.dt-button-collection div.dt-btn-split-wrapper:active:not(.disabled) button.dt-button,
    div.dt-button-collection div.dt-btn-split-wrapper.active:not(.disabled) button.dt-button {
        background-color: #dadada;
    }

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

div.dt-button-collection div.dt-btn-split-wrapper:active:not(.disabled) button.dt-btn-split-drop,
    div.dt-button-collection div.dt-btn-split-wrapper.active:not(.disabled) button.dt-btn-split-drop {
        box-shadow: none;
    }

div.dt-button-collection.fixed .dt-button:first-child {
        margin-top: 0;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }

div.dt-button-collection.fixed .dt-button:last-child {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

div.dt-button-collection.fixed {
        position: fixed;
        display: block;
        top: 50%;
        left: 50%;
        margin-left: -75px;
        border-radius: 5px;
        background-color: white;
    }

div.dt-button-collection.fixed.two-column {
        margin-left: -200px;
    }

div.dt-button-collection.fixed.three-column {
        margin-left: -225px;
    }

div.dt-button-collection.fixed.four-column {
        margin-left: -300px;
    }

div.dt-button-collection.fixed.columns {
        margin-left: -409px;
    }

@media screen and (max-width: 1024px) {
        div.dt-button-collection.fixed.columns {
            margin-left: -308px;
        }
    }

@media screen and (max-width: 640px) {
        div.dt-button-collection.fixed.columns {
            margin-left: -203px;
        }
    }

@media screen and (max-width: 460px) {
        div.dt-button-collection.fixed.columns {
            margin-left: -100px;
        }
    }

div.dt-button-collection.fixed > :last-child {
        max-height: 100vh;
        overflow: auto;
    }

div.dt-button-collection.two-column > :last-child,
    div.dt-button-collection.three-column > :last-child,
    div.dt-button-collection.four-column > :last-child {
        display: block !important;
        -moz-column-gap: 8px;
        -ms-column-gap: 8px;
        -o-column-gap: 8px;
        column-gap: 8px;
    }

div.dt-button-collection.two-column > :last-child > *,
    div.dt-button-collection.three-column > :last-child > *,
    div.dt-button-collection.four-column > :last-child > * {
        -moz-column-break-inside: avoid;
             break-inside: avoid;
    }

div.dt-button-collection.two-column {
        width: 400px;
    }

div.dt-button-collection.two-column > :last-child {
        padding-bottom: 1px;
        -moz-column-count: 2;
             column-count: 2;
    }

div.dt-button-collection.three-column {
        width: 450px;
    }

div.dt-button-collection.three-column > :last-child {
        padding-bottom: 1px;
        -moz-column-count: 3;
             column-count: 3;
    }

div.dt-button-collection.four-column {
        width: 600px;
    }

div.dt-button-collection.four-column > :last-child {
        padding-bottom: 1px;
        -moz-column-count: 4;
             column-count: 4;
    }

div.dt-button-collection .dt-button {
        border-radius: 0;
    }

div.dt-button-collection.columns {
        width: auto;
    }

div.dt-button-collection.columns > :last-child {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 6px;
        width: 818px;
        padding-bottom: 1px;
    }

div.dt-button-collection.columns > :last-child .dt-button {
        min-width: 200px;
        flex: 0 1;
        margin: 0;
    }

div.dt-button-collection.columns.dtb-b3 > :last-child,
    div.dt-button-collection.columns.dtb-b2 > :last-child,
    div.dt-button-collection.columns.dtb-b1 > :last-child {
        justify-content: space-between;
    }

div.dt-button-collection.columns.dtb-b3 .dt-button {
        flex: 1 1 32%;
    }

div.dt-button-collection.columns.dtb-b2 .dt-button {
        flex: 1 1 48%;
    }

div.dt-button-collection.columns.dtb-b1 .dt-button {
        flex: 1 1 100%;
    }

@media screen and (max-width: 1024px) {
        div.dt-button-collection.columns > :last-child {
            width: 612px;
        }
    }

@media screen and (max-width: 640px) {
        div.dt-button-collection.columns > :last-child {
            width: 406px;
        }
        div.dt-button-collection.columns.dtb-b3 .dt-button {
            flex: 0 1 32%;
        }
    }

@media screen and (max-width: 460px) {
        div.dt-button-collection.columns > :last-child {
            width: 200px;
        }
    }

div.dt-button-background {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.7);
        z-index: 2001;
    }

@media screen and (max-width: 640px) {
        div.dt-buttons {
            float: none !important;
            text-align: center;
        }
    }

button.dt-button.processing,
    div.dt-button.processing,
    a.dt-button.processing {
        color: rgba(0, 0, 0, 0.2);
    }

button.dt-button.processing:after,
    div.dt-button.processing:after,
    a.dt-button.processing:after {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 16px;
        height: 16px;
        margin: -8px 0 0 -8px;
        box-sizing: border-box;
        display: block;
        content: " ";
        border: 2px solid #282828;
        border-radius: 50%;
        border-left-color: transparent;
        border-right-color: transparent;
        animation: dtb-spinner 1500ms infinite linear;
        -o-animation: dtb-spinner 1500ms infinite linear;
        -ms-animation: dtb-spinner 1500ms infinite linear;
        -webkit-animation: dtb-spinner 1500ms infinite linear;
        -moz-animation: dtb-spinner 1500ms infinite linear;
    }

button.dt-btn-split-drop {
        margin-left: calc(-1px - 0.333em);
        padding-bottom: calc(0.5em - 1px);
        border-radius: 0px 1px 1px 0px;
        color: rgba(70, 70, 70, 0.9);
        border-left: none;
    }

button.dt-btn-split-drop span.dt-btn-split-drop-arrow {
        position: relative;
        top: -1px;
        left: -2px;
        font-size: 8px;
    }

button.dt-btn-split-drop:hover {
        z-index: 2;
    }

button.buttons-split {
        border-right: 1px solid rgba(70, 70, 70, 0);
        border-radius: 1px 0px 0px 1px;
    }

button.dt-btn-split-drop-button {
        background-color: white;
    }

button.dt-btn-split-drop-button:hover {
        background-color: white;
    }

table.dataTable.display tbody tr.DTFC_NoData {
        background-color: transparent;
    }

tr.even td {
        background-color: #ffffff;
    }

tr.odd td {
        background-color: #f9f9f9;
    }

tr.selected td {
        background-color: #a6b4cd;
    }

/*Beißt sich mit den th's in den Wertentwicklungstabellen im Snapshot.*/

/*
    thead th {
        background-color: white;
    }
    tfoot th {
        background-color: white;
    }
    */

tr.dt-rowReorder-moving td.dtfc-fixed-left,
    tr.dt-rowReorder-moving td.dtfc-fixed-right {
        border-top: 2px solid #555 !important;
        border-bottom: 2px solid #555 !important;
    }

tr.dt-rowReorder-moving td.dtfc-fixed-left:first-child {
        border-left: 2px solid #555 !important;
    }

tr.dt-rowReorder-moving td.dtfc-fixed-right:last-child {
        border-right: 2px solid #555 !important;
    }

/*TABELLE*/

/*Tabelle selbst*/

.table-fondsvergleich {
  max-width: 100%;
  border-collapse: collapse;
  background-color: var(--table-tab-background);
  font-size: 0.75rem;
  line-height: 1rem;
}

@media (min-width: 640px) {

  .table-fondsvergleich {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

@media (min-width: 1024px) {

  .table-fondsvergleich {
    font-size: 16px;
    line-height: 1.35;
  }
}

@media print {

  .table-fondsvergleich {
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

/*ERSTE SPALTE STICKY UND SCROLLING*/

#table-wrapper {
  max-height: 85vh;
  max-width: calc((1920px - var(--scrollbar-width) - (2 * var(--module-inner-margin-x))));
  flex: 1 1 0%;
  overflow-x: scroll;
  overflow-y: scroll;
  border-bottom-width: 1px;
  border-color: var(--table-tab-background);
}

@media (min-width: 1024px) {

  #table-wrapper {
    max-height: 100%;
    overflow-x: auto;
    overflow-y: auto;
  }
}

@media print {

  #table-wrapper {
    max-height: -moz-fit-content;
    max-height: fit-content;
  }
}

/*Sticky Head-Zeilen*/

.table-fondsvergleich thead {
  position: sticky;
  top: 0px;
  z-index: 20;
}

.table-fondsvergleich tr {
        --dummy: 0; /* beliebige Variable */
    }

/*Sticky erste Spalte in tbody*/

.table-fondsvergleich thead tr > :first-child,
    .table-fondsvergleich tbody tr > :first-child {
  position: sticky;
  left: 0px;
  z-index: 10;
}

.table-fondsvergleich th {
  background-color: var(--table-secondary);
  text-align: left;
  font-weight: 700;
}

.table-fondsvergleich td {
  z-index: auto;
}

.table-fondsvergleich th,
    .table-fondsvergleich td {
  border-width: 1px;
  border-color: var(--table-tab-background);
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  vertical-align: top;
}

@media (min-width: 1024px) {

  .table-fondsvergleich th,
    .table-fondsvergleich td {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

/*Dadurch werden die Spalten schmal, wenn eingeklappt.*/

/*inkl. Farbangleichung Text*/

.table-fondsvergleich tr th.eingeklappt,
    .table-fondsvergleich tr td.eingeklappt {
  visibility: hidden;
  width: 0px;
  max-width: 0rem;
  border-width: 0px;
}

/*Farbangleichung Links*/

/*
    .table-fondsvergleich tr th.eingeklappt a,
    .table-fondsvergleich tr td.eingeklappt a {
        @apply
        invisible
        !text-tableTabBackground
        ;
    }
    */

.table-fondsvergleich tr th.ausgeklappt,
    .table-fondsvergleich tr td.ausgeklappt {
  overflow-wrap: break-word;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.table-fondsvergleich tr th.zeilenkopf {
  width: 30vw;
  min-width: 30vw;
  border-width: 0px;
  background-color: var(--table-tab-background);
  text-align: center;
  vertical-align: middle;
}

@media (min-width: 768px) {

  .table-fondsvergleich tr th.zeilenkopf {
    min-width: 20vw;
    max-width: 20vw;
  }
}

@media (min-width: 1024px) {

  .table-fondsvergleich tr th.zeilenkopf {
    min-width: 15vw;
    max-width: 15vw;
  }
}

@media print {

  .table-fondsvergleich tr th.zeilenkopf {
    min-width: 0px;
  }
}

/* zusätzlich zu zeilenkopf verwenden */

.table-fondsvergleich tr th.zeilenkopf-fonds {
  background-color: var(--invextra-orange);
}

.table-fondsvergleich tr th.zeilenkopf-depotbankenvergleich {
  background-color: var(--table-primary);
}

.table-fondsvergleich tr th.spaltenkopf-fonds,
    .table-fondsvergleich tr td.spaltenkopf-fonds {
  background-color: var(--table-primary);
  vertical-align: top;
  font-weight: 700;
}

.table-fondsvergleich tr th.spaltenkopf-toggle,
    .table-fondsvergleich tr td.spaltenkopf-toggle {
  vertical-align: middle;
  font-weight: 700;
}

@media print {

  .table-fondsvergleich tr th.spaltenkopf-toggle,
    .table-fondsvergleich tr td.spaltenkopf-toggle {
    display: none;
  }
}

.table-fondsvergleich tr th.spaltenkopf-toggle-eingeklappt,
    .table-fondsvergleich tr td.spaltenkopf-toggle-eingeklappt {
  text-align: center;
}

/* +/-: Toggles*/

.table-fondsvergleich td.spaltenkopf-blockheader,
    .table-fondsvergleich th.spaltenkopf-blockheader {
  border-width: 0px;
  background-color: var(--table-tab-background);
  text-align: center;
  vertical-align: middle;
}

@media print {

  .table-fondsvergleich td.spaltenkopf-blockheader,
    .table-fondsvergleich th.spaltenkopf-blockheader {
    display: none;
  }
}

/*alternierende Farbe 1 für Blocküberschriften im Depotbankenvergleich*/

.table-fondsvergleich td.spaltenkopf-blockheader-bg-farbe-1,
    .table-fondsvergleich th.spaltenkopf-blockheader-bg-farbe-1 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
}

/*alternierende Farbe 2 für Blocküberschriften im Depotbankenvergleich*/

.table-fondsvergleich td.spaltenkopf-blockheader-bg-farbe-2,
    .table-fondsvergleich th.spaltenkopf-blockheader-bg-farbe-2 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity)) !important;
}

/*konditionale Farbe für Überschriften von Blöcken im Depotbankenvergleich, die aufgeklappt sind*/

.table-fondsvergleich td.spaltenkopf-blockheader-ausgeklappt,
    .table-fondsvergleich th.spaltenkopf-blockheader-ausgeklappt {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(52 42 144 / var(--tw-bg-opacity)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(226 232 240 / var(--tw-text-opacity)) !important;
}

.table-fondsvergleich div.spaltenkopf-blockheader,
    .table-fondsvergleich span.spaltenkopf-blockheader {
  height: 100%;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  text-transform: uppercase;
}

/*"BASISDATEN" z.B.*/

.table-fondsvergleich td.spaltenkopf-blockheader-bezeichnung,
    .table-fondsvergleich th.spaltenkopf-blockheader-bezeichnung {
  border-width: 0px;
  background-color: var(--table-tab-background);
  text-align: left;
  vertical-align: middle;
}

/* leere Zwischenzeile */

.table-fondsvergleich td.zwischenzeile,
    .table-fondsvergleich th.zwischenzeile {
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  text-align: center;
  vertical-align: middle;
}

/* Farbgebung für durchgefärbte Bereiche z.B. in Bankenvergleich */

.table-fondsvergleich td.farbbereich-1,
    .table-fondsvergleich th.farbbereich-1,
    .table-fondsvergleich td.farbbereich-2,
    .table-fondsvergleich th.farbbereich-2,
    .table-fondsvergleich td.farbbereich-3,
    .table-fondsvergleich th.farbbereich-3,
    .table-fondsvergleich td.farbbereich-4,
    .table-fondsvergleich th.farbbereich-4,
    .table-fondsvergleich td.farbbereich-5,
    .table-fondsvergleich th.farbbereich-5,
    .table-fondsvergleich td.farbbereich-6,
    .table-fondsvergleich th.farbbereich-6 {
  border-width: 0px;
}

/*ZELLEN IM ABSCHNITT "KAUFEN"*/

.table-fondsvergleich td.hervorgehoben {
  font-weight: 700;
}

@media print {

        .table-fondsvergleich tr.print-always-row {
    display: table-row !important;
  }

        #table-wrapper,
        .table-fondsvergleich,
        .table-fondsvergleich th,
        .table-fondsvergleich td {
    border-width: 0px;
  }

    }

/*FLEX-VARIANTE*/

.table-fondsvergleich-inner {
  width: 100%;
  font-size: 0.6rem;
}

@media (min-width: 400px) {

  .table-fondsvergleich-inner {
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

.table-fondsvergleich-inner .tfi-table-row {
  display: flex;
  justify-content: space-between;
}

.table-fondsvergleich-inner .tfi-table-row:nth-child(odd) {
  background-color: var(--table-inner-odd);
}

.table-fondsvergleich-inner .tfi-table-row:nth-child(even) {
  background-color: var(--table-inner-even);
}

@supports ((-webkit-hyphens: auto) or (hyphens: auto)) {
        .table-fondsvergleich-inner .tfi-table-cell-beschreibung {
            hyphens: auto;
            -webkit-hyphens: auto;
        }
    }

@supports not ((-webkit-hyphens: auto) or (hyphens: auto)) {
    .table-fondsvergleich-inner .tfi-table-cell-beschreibung {
        --dummy: 0; /* beliebige Variable */
    }
    }

.table-fondsvergleich-inner .tfi-table-cell-beschreibung {
  padding-right: 0.125rem;
  font-weight: 400;
}

.table-fondsvergleich-inner .tfi-table-cell-prozent {
  display: grid;
  height: 100%;
  align-self: flex-end;
  white-space: nowrap;
  text-align: right;
}

/*VARIANTE MIT LIST-ITEMS*/

/*
    .table-fondsvergleich-inner {
        @apply
        lg:table
        text-xs
        w-full
        ;
    }

    .table-fondsvergleich-inner .tfi-table-row {
        @apply
        odd:bg-tableInnerOdd
        even:bg-tableInnerEven
        block lg:table-row
        ;
    }

    .table-fondsvergleich-inner .tfi-table-cell-beschreibung {
        @apply
        break-words
        list-item lg:table-cell
        list-none
        ;
    }

    .table-fondsvergleich-inner .tfi-table-cell-prozent {
        @apply
        text-right
        whitespace-nowrap
        list-item lg:table-cell
        list-none
        ;
    }
    */

/* Das muss um jede Tabelle, die im TinyMCE erzeugt wird, wird im CMS hinzugefügt. */

/*
    <div style="overflow: auto; hyphens: auto; ">
        ...
    </div>
    */

/*
    .editor h2 {
        @apply
            leading-6
            text-splitImageAndTextText
            font-semibold
            tracking-wide
            uppercase
        ;
    }

    .editor h3 {
        @apply
            mt-2
            text-3xl
            leading-8
            font-extrabold
            tracking-tight
            sm:text-4xl
        ;
    }

    .editor p {
        @apply
            mt-8
            text-xl
        ;
    }
    */

.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;
}

.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-0 {
  inset: 0px;
}

.inset-y-0 {
  top: 0px;
  bottom: 0px;
}

.left-0 {
  left: 0px;
}

.right-0 {
  right: 0px;
}

.top-0 {
  top: 0px;
}

.z-0 {
  z-index: 0;
}

.z-10 {
  z-index: 10;
}

.z-20 {
  z-index: 20;
}

.z-50 {
  z-index: 50;
}

.z-auto {
  z-index: auto;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.col-span-1 {
  grid-column: span 1 / span 1;
}

.col-span-12 {
  grid-column: span 12 / span 12;
}

.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-start-1 {
  grid-column-start: 1;
}

.col-start-2 {
  grid-column-start: 2;
}

.col-start-3 {
  grid-column-start: 3;
}

.col-start-7 {
  grid-column-start: 7;
}

.row-start-1 {
  grid-row-start: 1;
}

.row-start-2 {
  grid-row-start: 2;
}

.float-none {
  float: none;
}

.-m-3 {
  margin: -0.75rem;
}

.-mx-2 {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

.mx-0 {
  margin-left: 0px;
  margin-right: 0px;
}

.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}

.mx-\[var\(--module-inner-margin-x\)\] {
  margin-left: var(--module-inner-margin-x);
  margin-right: var(--module-inner-margin-x);
}

.mx-\[var\(--module-margin-x\)\] {
  margin-left: var(--module-margin-x);
  margin-right: var(--module-margin-x);
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-0 {
  margin-top: 0px;
  margin-bottom: 0px;
}

.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.my-\[var\(--module-inner-margin-y\)\] {
  margin-top: var(--module-inner-margin-y);
  margin-bottom: var(--module-inner-margin-y);
}

.\!mb-0 {
  margin-bottom: 0px !important;
}

.-mb-1 {
  margin-bottom: -0.25rem;
}

.-mb-3 {
  margin-bottom: -0.75rem;
}

.-mb-4 {
  margin-bottom: -1rem;
}

.-mb-6 {
  margin-bottom: -1.5rem;
}

.-mb-8 {
  margin-bottom: -2rem;
}

.-ml-1 {
  margin-left: -0.25rem;
}

.-ml-1\.5 {
  margin-left: -0.375rem;
}

.-ml-2 {
  margin-left: -0.5rem;
}

.-mt-4 {
  margin-top: -1rem;
}

.-mt-8 {
  margin-top: -2rem;
}

.mb-0 {
  margin-bottom: 0px;
}

.mb-0\.5 {
  margin-bottom: 0.125rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-10 {
  margin-bottom: 2.5rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.mb-\[1000px\] {
  margin-bottom: 1000px;
}

.ml-1 {
  margin-left: 0.25rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.ml-3 {
  margin-left: 0.75rem;
}

.ml-4 {
  margin-left: 1rem;
}

.ml-5 {
  margin-left: 1.25rem;
}

.mr-1 {
  margin-right: 0.25rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mr-4 {
  margin-right: 1rem;
}

.mt-0 {
  margin-top: 0px;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-5 {
  margin-top: 1.25rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-8 {
  margin-top: 2rem;
}

.mt-\[50px\] {
  margin-top: 50px;
}

.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 !important;
}

.flow-root {
  display: flow-root;
}

.grid {
  display: grid;
}

.list-item {
  display: list-item;
}

.hidden {
  display: none;
}

.\!h-\[0\.01px\] {
  height: 0.01px !important;
}

.h-0 {
  height: 0px;
}

.h-10 {
  height: 2.5rem;
}

.h-12 {
  height: 3rem;
}

.h-2 {
  height: 0.5rem;
}

.h-4 {
  height: 1rem;
}

.h-5 {
  height: 1.25rem;
}

.h-6 {
  height: 1.5rem;
}

.h-8 {
  height: 2rem;
}

.h-9 {
  height: 2.25rem;
}

.h-\[1\.35rem\] {
  height: 1.35rem;
}

.h-\[100px\] {
  height: 100px;
}

.h-\[12px\] {
  height: 12px;
}

.h-\[150vh\] {
  height: 150vh;
}

.h-\[1px\] {
  height: 1px;
}

.h-\[250px\] {
  height: 250px;
}

.h-\[70vh\] {
  height: 70vh;
}

.h-\[calc\(var\(--module-inner-margin-y\)\*2\)\] {
  height: calc(var(--module-inner-margin-y) * 2);
}

.h-\[calc\(var\(--module-inner-margin-y\)\/2\)\] {
  height: calc(var(--module-inner-margin-y) / 2);
}

.h-\[var\(--module-inner-margin-y\)\] {
  height: var(--module-inner-margin-y);
}

.h-full {
  height: 100%;
}

.h-min {
  height: -moz-min-content;
  height: min-content;
}

.\!max-h-\[0\.01px\] {
  max-height: 0.01px !important;
}

.max-h-\[65vh\] {
  max-height: 65vh;
}

.max-h-\[85vh\] {
  max-height: 85vh;
}

.min-h-\[40px\] {
  min-height: 40px;
}

.min-h-\[75vh\] {
  min-height: 75vh;
}

.min-h-fit {
  min-height: -moz-fit-content;
  min-height: fit-content;
}

.min-h-full {
  min-height: 100%;
}

.w-0 {
  width: 0px;
}

.w-1\/2 {
  width: 50%;
}

.w-1\/3 {
  width: 33.333333%;
}

.w-10 {
  width: 2.5rem;
}

.w-12 {
  width: 3rem;
}

.w-14 {
  width: 3.5rem;
}

.w-4 {
  width: 1rem;
}

.w-5 {
  width: 1.25rem;
}

.w-6 {
  width: 1.5rem;
}

.w-8 {
  width: 2rem;
}

.w-\[100px\] {
  width: 100px;
}

.w-\[1024px\] {
  width: 1024px;
}

.w-\[122px\] {
  width: 122px;
}

.w-\[12px\] {
  width: 12px;
}

.w-\[145px\] {
  width: 145px;
}

.w-\[150px\] {
  width: 150px;
}

.w-\[1px\] {
  width: 1px;
}

.w-\[1vw\] {
  width: 1vw;
}

.w-\[20rem\] {
  width: 20rem;
}

.w-\[24px\] {
  width: 24px;
}

.w-\[250px\] {
  width: 250px;
}

.w-\[280px\] {
  width: 280px;
}

.w-\[30\%\] {
  width: 30%;
}

.w-\[30vw\] {
  width: 30vw;
}

.w-\[40px\] {
  width: 40px;
}

.w-\[50px\] {
  width: 50px;
}

.w-\[67px\] {
  width: 67px;
}

.w-\[70\%\] {
  width: 70%;
}

.w-\[80px\] {
  width: 80px;
}

.w-\[90\%\] {
  width: 90%;
}

.w-\[calc\(100vw-var\(--scrollbar-width\)\)\] {
  width: calc(100vw - var(--scrollbar-width));
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}

.w-full {
  width: 100%;
}

.w-max {
  width: -moz-max-content;
  width: max-content;
}

.w-min {
  width: -moz-min-content;
  width: min-content;
}

.w-screen {
  width: 100vw;
}

.min-w-0 {
  min-width: 0px;
}

.min-w-\[20vw\] {
  min-width: 20vw;
}

.min-w-\[24px\] {
  min-width: 24px;
}

.min-w-\[280px\] {
  min-width: 280px;
}

.min-w-\[30vw\] {
  min-width: 30vw;
}

.min-w-\[40px\] {
  min-width: 40px;
}

.min-w-\[60px\] {
  min-width: 60px;
}

.min-w-min {
  min-width: -moz-min-content;
  min-width: min-content;
}

.max-w-0 {
  max-width: 0rem;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-4xl {
  max-width: 56rem;
}

.max-w-\[30vw\] {
  max-width: 30vw;
}

.max-w-\[500px\] {
  max-width: 500px;
}

.max-w-\[50vw\] {
  max-width: 50vw;
}

.max-w-\[calc\(\(1920px-var\(--scrollbar-width\)-\(2\*var\(--module-inner-margin-x\)\)\)\)\] {
  max-width: calc((1920px - var(--scrollbar-width) - (2 * var(--module-inner-margin-x))));
}

.max-w-\[calc\(\(1920px-var\(--scrollbar-width\)-\(2\*var\(--module-inner-margin-x\)\)\)\/7\)\] {
  max-width: calc((1920px - var(--scrollbar-width) - (2 * var(--module-inner-margin-x))) / 7);
}

.max-w-\[calc\(100vw-16px-2px-24px-40px-26px-2px-16px\)\] {
  max-width: calc(100vw - 16px - 2px - 24px - 40px - 26px - 2px - 16px);
}

.max-w-\[calc\(1920px-\(2\*var\(--module-inner-margin-x\)\)\)\] {
  max-width: calc(1920px - (2 * var(--module-inner-margin-x)));
}

.max-w-full {
  max-width: 100%;
}

.max-w-lg {
  max-width: 32rem;
}

.max-w-screen-4xs {
  max-width: 300px;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-shrink {
  flex-shrink: 1;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.shrink-0 {
  flex-shrink: 0;
}

.flex-grow {
  flex-grow: 1;
}

.grow {
  flex-grow: 1;
}

.table-auto {
  table-layout: auto;
}

.border-collapse {
  border-collapse: collapse;
}

.border-separate {
  border-collapse: separate;
}

.border-spacing-x-2 {
  --tw-border-spacing-x: 0.5rem;
  border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
}

.border-spacing-y-1 {
  --tw-border-spacing-y: 0.25rem;
  border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-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-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-7 {
  --tw-translate-x: 1.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));
}

.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));
}

.cursor-pointer {
  cursor: pointer;
}

.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.resize {
  resize: both;
}

.list-inside {
  list-style-position: inside;
}

.\!list-outside {
  list-style-position: outside !important;
}

.\!list-none {
  list-style-type: none !important;
}

.list-decimal {
  list-style-type: decimal;
}

.list-disc {
  list-style-type: disc;
}

.list-none {
  list-style-type: none;
}

.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.columns-1 {
  -moz-columns: 1;
       columns: 1;
}

.break-before-auto {
  -moz-column-break-before: auto;
       break-before: auto;
}

.break-before-avoid {
  -moz-column-break-before: avoid;
       break-before: avoid;
}

.break-inside-avoid {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}

.break-after-auto {
  -moz-column-break-after: auto;
       break-after: auto;
}

.break-after-avoid {
  -moz-column-break-after: avoid;
       break-after: avoid;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-12 {
  grid-template-columns: repeat(12, 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-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.grid-cols-\[150px_auto\] {
  grid-template-columns: 150px auto;
}

.grid-cols-\[90fr_10fr\] {
  grid-template-columns: 90fr 10fr;
}

.grid-cols-\[auto_1fr\] {
  grid-template-columns: auto 1fr;
}

.grid-cols-\[auto_min-content\] {
  grid-template-columns: auto min-content;
}

.grid-cols-header {
  grid-template-columns: minmax(min-content, 1fr) minmax(0, min-content) minmax(min-content, 1fr);
}

.grid-cols-search-field {
  grid-template-columns: 1fr 10fr;
}

.grid-rows-\[20px_auto\] {
  grid-template-rows: 20px auto;
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.place-content-center {
  place-content: center;
}

.place-content-between {
  place-content: space-between;
}

.content-start {
  align-content: flex-start;
}

.items-start {
  align-items: flex-start;
}

.items-center {
  align-items: center;
}

.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-evenly {
  justify-content: space-evenly;
}

.justify-items-center {
  justify-items: center;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-8 {
  gap: 2rem;
}

.gap-x-1 {
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}

.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}

.gap-y-0 {
  row-gap: 0px;
}

.gap-y-1 {
  row-gap: 0.25rem;
}

.gap-y-10 {
  row-gap: 2.5rem;
}

.gap-y-2 {
  row-gap: 0.5rem;
}

.gap-y-4 {
  row-gap: 1rem;
}

.gap-y-8 {
  row-gap: 2rem;
}

.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-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-\[2vw\] > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(2vw * var(--tw-space-x-reverse));
  margin-left: calc(2vw * 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-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-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-x > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-x-reverse: 0;
  border-right-width: calc(1px * var(--tw-divide-x-reverse));
  border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
}

.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-solid > :not([hidden]) ~ :not([hidden]) {
  border-style: solid;
}

.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity));
}

.divide-tb-900 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(17 24 39 / var(--tw-divide-opacity));
}

.place-self-start {
  place-self: start;
}

.place-self-center {
  place-self: center;
}

.self-start {
  align-self: flex-start;
}

.self-end {
  align-self: flex-end;
}

.self-center {
  align-self: center;
}

.self-stretch {
  align-self: stretch;
}

.justify-self-start {
  justify-self: start;
}

.justify-self-end {
  justify-self: end;
}

.justify-self-center {
  justify-self: center;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.overflow-x-scroll {
  overflow-x: scroll;
}

.overflow-y-scroll {
  overflow-y: scroll;
}

.scroll-smooth {
  scroll-behavior: smooth;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.\!whitespace-normal {
  white-space: normal !important;
}

.whitespace-normal {
  white-space: normal;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.break-words {
  overflow-wrap: break-word;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-md {
  border-radius: 0.375rem;
}

.rounded-none {
  border-radius: 0px;
}

.rounded-sm {
  border-radius: 0.125rem;
}

.rounded-b-md {
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

.rounded-l-md {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

.rounded-l-none {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.rounded-r-md {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

.rounded-t-md {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}

.\!border-0 {
  border-width: 0px !important;
}

.border {
  border-width: 1px;
}

.border-0 {
  border-width: 0px;
}

.border-2 {
  border-width: 2px;
}

.border-x-2 {
  border-left-width: 2px;
  border-right-width: 2px;
}

.\!border-t-0 {
  border-top-width: 0px !important;
}

.border-b {
  border-bottom-width: 1px;
}

.border-b-2 {
  border-bottom-width: 2px;
}

.border-l {
  border-left-width: 1px;
}

.border-r {
  border-right-width: 1px;
}

.border-r-0 {
  border-right-width: 0px;
}

.border-t {
  border-top-width: 1px;
}

.border-t-0 {
  border-top-width: 0px;
}

.border-dashed {
  border-style: dashed;
}

.border-black {
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity));
}

.border-featuredButton {
  border-color: var(--featured-button);
}

.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
}

.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
}

.border-gray-500 {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity));
}

.border-gray-700 {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity));
}

.border-headerBackground {
  border-color: var(--header-background);
}

.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity));
}

.border-tableTabBackground {
  border-color: var(--table-tab-background);
}

.border-tb-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
}

.border-tb-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
}

.border-transparent {
  border-color: transparent;
}

.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
}

.\!bg-\[\#342A90\] {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(52 42 144 / var(--tw-bg-opacity)) !important;
}

.\!bg-amber-200\/\[0\.8\] {
  background-color: rgb(253 230 138 / 0.8) !important;
}

.\!bg-amber-300 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(252 211 77 / var(--tw-bg-opacity)) !important;
}

.\!bg-indigo-200\/\[0\.8\] {
  background-color: rgb(199 210 254 / 0.8) !important;
}

.\!bg-lime-500\/\[0\.8\] {
  background-color: rgb(132 204 22 / 0.8) !important;
}

.\!bg-red-500 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity)) !important;
}

.\!bg-slate-100 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity)) !important;
}

.\!bg-slate-200 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity)) !important;
}

.\!bg-slate-300 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity)) !important;
}

.\!bg-slate-400 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity)) !important;
}

.\!bg-tableInnerEven {
  background-color: var(--table-inner-even) !important;
}

.\!bg-tableSecondary {
  background-color: var(--table-secondary) !important;
}

.\!bg-white {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
}

.\!bg-yellow-500\/\[0\.8\] {
  background-color: rgb(234 179 8 / 0.8) !important;
}

.bg-\[\#d6dbb1\]\/50 {
  background-color: rgb(214 219 177 / 0.5);
}

.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity));
}

.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity));
}

.bg-bodyBackground {
  background-color: var(--body-background);
}

.bg-button {
  background-color: var(--button);
}

.bg-featuredButton {
  background-color: var(--featured-button);
}

.bg-footerBackground {
  background-color: var(--footer-background);
}

.bg-footerButton {
  background-color: var(--footer-button);
}

.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}

.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}

.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}

.bg-gray-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity));
}

.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity));
}

.bg-headerBackground {
  background-color: var(--header-background);
}

.bg-indigo-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity));
}

.bg-invextraOrange {
  background-color: var(--invextra-orange);
}

.bg-linkModule1Background {
  background-color: var(--link-module-1-background);
}

.bg-linkModule2Background {
  background-color: var(--link-module-2-background);
}

.bg-linkModule3Background {
  background-color: var(--link-module-3-background);
}

.bg-linkModule4Background {
  background-color: var(--link-module-4-background);
}

.bg-menuBackgroundHover {
  background-color: var(--menu-background-hover);
}

.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity));
}

.bg-simpleCenterBrandedBackground {
  background-color: var(--simple-center-branded-background);
}

.bg-slate-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity));
}

.bg-snapshotFondsTitleBackground {
  background-color: var(--snapshot-fonds-title-background);
}

.bg-snapshotHervorhebungsBackground {
  background-color: var(--snapshot-hervorhebungs-background);
}

.bg-sucheTabBackground {
  background-color: var(--suche-tab-background);
}

.bg-tableBackgroundHeader {
  background-color: var(--table-background-header);
}

.bg-tableBackgroundHighlight {
  background-color: var(--table-background-highlight);
}

.bg-tableBackgroundOuter {
  background-color: var(--table-background-outer);
}

.bg-tableInnerEven {
  background-color: var(--table-inner-even);
}

.bg-tablePrimary {
  background-color: var(--table-primary);
}

.bg-tablePrimaryDark {
  background-color: var(--table-primary-dark);
}

.bg-tableSecondary {
  background-color: var(--table-secondary);
}

.bg-tableTabBackground {
  background-color: var(--table-tab-background);
}

.bg-tb-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}

.bg-toggleDisabled {
  background-color: var(--toggle-disabled);
}

.bg-toggleDisabledHover {
  background-color: var(--toggle-disabled-hover);
}

.bg-toggleEnabled {
  background-color: var(--toggle-enabled);
}

.bg-toggleEnabledHover {
  background-color: var(--toggle-enabled-hover);
}

.bg-transparent {
  background-color: transparent;
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.fill-black {
  fill: #000;
}

.fill-current {
  fill: currentColor;
}

.fill-headerBackground {
  fill: var(--header-background);
}

.fill-white {
  fill: #fff;
}

.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-1 {
  padding: 0.25rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-3 {
  padding: 0.75rem;
}

.p-4 {
  padding: 1rem;
}

.\!px-0 {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}

.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.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-\[6px\] {
  padding-left: 6px;
  padding-right: 6px;
}

.px-\[var\(--module-inner-margin-y\)\] {
  padding-left: var(--module-inner-margin-y);
  padding-right: var(--module-inner-margin-y);
}

.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-\[0\.3em\] {
  padding-top: 0.3em;
  padding-bottom: 0.3em;
}

.pb-0 {
  padding-bottom: 0px;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.pb-2 {
  padding-bottom: 0.5rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pb-8 {
  padding-bottom: 2rem;
}

.pl-1 {
  padding-left: 0.25rem;
}

.pl-3 {
  padding-left: 0.75rem;
}

.pl-4 {
  padding-left: 1rem;
}

.pl-5 {
  padding-left: 1.25rem;
}

.pl-8 {
  padding-left: 2rem;
}

.pr-0 {
  padding-right: 0px;
}

.pr-0\.5 {
  padding-right: 0.125rem;
}

.pr-2 {
  padding-right: 0.5rem;
}

.pr-4 {
  padding-right: 1rem;
}

.pr-5 {
  padding-right: 1.25rem;
}

.pr-8 {
  padding-right: 2rem;
}

.pt-0 {
  padding-top: 0px;
}

.pt-0\.5 {
  padding-top: 0.125rem;
}

.pt-1 {
  padding-top: 0.25rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.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 !important;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

.\!indent-0 {
  text-indent: 0px !important;
}

.indent-\[100\%\] {
  text-indent: 100%;
}

.align-top {
  vertical-align: top;
}

.align-middle {
  vertical-align: middle;
}

.align-bottom {
  vertical-align: bottom;
}

.\!text-base {
  font-size: 16px !important;
  line-height: 1.35 !important;
}

.\!text-xs {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-2xs {
  font-size: 0.6rem;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

.text-base {
  font-size: 16px;
  line-height: 1.35;
}

.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 !important;
}

.\!font-medium {
  font-weight: 500 !important;
}

.\!font-normal {
  font-weight: 400 !important;
}

.\!font-semibold {
  font-weight: 600 !important;
}

.font-bold {
  font-weight: 700;
}

.font-extrabold {
  font-weight: 800;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.italic {
  font-style: italic;
}

.ordinal {
  --tw-ordinal: ordinal;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.lining-nums {
  --tw-numeric-figure: lining-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.leading-4 {
  line-height: 1rem;
}

.leading-6 {
  line-height: 1.5rem;
}

.leading-8 {
  line-height: 2rem;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-tighter {
  letter-spacing: -0.05em;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.\!text-black {
  --tw-text-opacity: 1 !important;
  color: rgb(0 0 0 / var(--tw-text-opacity)) !important;
}

.\!text-gray-900 {
  --tw-text-opacity: 1 !important;
  color: rgb(17 24 39 / var(--tw-text-opacity)) !important;
}

.\!text-green-500 {
  --tw-text-opacity: 1 !important;
  color: rgb(34 197 94 / var(--tw-text-opacity)) !important;
}

.\!text-headerBackground {
  color: var(--header-background) !important;
}

.\!text-linkModule1Background {
  color: var(--link-module-1-background) !important;
}

.\!text-slate-200 {
  --tw-text-opacity: 1 !important;
  color: rgb(226 232 240 / var(--tw-text-opacity)) !important;
}

.\!text-tableTabBackground {
  color: var(--table-tab-background) !important;
}

.\!text-white {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
}

.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.text-breadcrumbsText {
  color: var(--breadcrumbs-text);
}

.text-buttonText {
  color: var(--button-text);
}

.text-featuredButtonText {
  color: var(--featured-button-text);
}

.text-footerButton {
  color: var(--footer-button);
}

.text-footerText {
  color: var(--footer-text);
}

.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity));
}

.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}

.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity));
}

.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity));
}

.text-headerBackground {
  color: var(--header-background);
}

.text-headerText {
  color: var(--header-text);
}

.text-headerTextDot {
  color: var(--header-text-dot);
}

.text-indigo-600 {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity));
}

.text-invextraOrange {
  color: var(--invextra-orange);
}

.text-link {
  color: var(--link);
}

.text-linkZeitraumLeisteAktiv {
  color: var(--link-zeitraum-leiste-aktiv);
}

.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity));
}

.text-red-900 {
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity));
}

.text-slate-100 {
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity));
}

.text-snapshotFondsTitleText {
  color: var(--snapshot-fonds-title-text);
}

.text-splitImageAndTextText {
  color: var(--split-image-and-text-text);
}

.text-tb-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}

.text-tb-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

.text-tb-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity));
}

.text-tb-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity));
}

.text-warning {
  color: var(--warning);
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.underline {
  text-decoration-line: underline;
}

.line-through {
  text-decoration-line: line-through;
}

.\!no-underline {
  text-decoration-line: none !important;
}

.placeholder-gray-500::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity));
}

.placeholder-gray-500::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity));
}

.placeholder-red-700::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(185 28 28 / var(--tw-placeholder-opacity));
}

.placeholder-red-700::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(185 28 28 / var(--tw-placeholder-opacity));
}

.\!opacity-100 {
  opacity: 1 !important;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-50 {
  opacity: 0.5;
}

.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-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);
}

.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.outline {
  outline-style: solid;
}

.\!ring-0 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
}

.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.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-black {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity));
}

.ring-gray-600 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity));
}

.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);
}

.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);
}

.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;
}

.duration-150 {
  transition-duration: 150ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.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);
}

button.inv-button {
  border-radius: 0.375rem;
  background-color: var(--button);
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-weight: 500;
  color: var(--button-text);
}

button.inv-button:enabled:hover {
  background-color: var(--button-hover);
  font-weight: 600;
  color: var(--button-hover-text);
  opacity: 0.8;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(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);
  --tw-ring-color: var(--button-ring);
}

button.inv-button-black-white {
  border-radius: 0.375rem;
  background-color: var(--invextra-orange);
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
  --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);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity));
}

button.inv-button-black-white:enabled:hover {
  background-color: var(--invextra-orange);
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
  opacity: 0.8;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(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);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity));
}

input[type=checkbox] {
  color: var(--invextra-orange);
}

/*Fehlerklasse*/

input[type=text].error {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity));
}

input[type=text].error::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(185 28 28 / var(--tw-placeholder-opacity));
}

input[type=text].error::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(185 28 28 / var(--tw-placeholder-opacity));
}

input[type=text].error:focus {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity));
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity));
}

[type="text"],
    [type="email"],
    [type="url"],
    [type="password"],
    [type="number"],
    [type="date"],
    [type="datetime-local"],
    [type="month"],
    [type="search"],
    [type="tel"],
    [type="time"],
    [type="week"],
    [multiple],
    textarea,
    select {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
  opacity: 1 !important;
}

/*Überschreibt Tailwind-Voreinstellung*/

/*outline-none = outline: 2px solid transparent; outline-offset: 2px;*/

/*border-0 = unterdrückt die nach "ring" verbleibende blaue border*/

/*
    [type="text"]:focus,
    [type="email"]:focus,
    [type="url"]:focus,
    [type="password"]:focus,
    [type="number"]:focus,
    [type="date"]:focus,
    [type="datetime-local"]:focus,
    [type="month"]:focus,
    [type="search"]:focus,
    [type="tel"]:focus,
    [type="time"]:focus,
    [type="week"]:focus,
    [multiple]:focus,
    textarea:focus,
    select:focus
    {
        @apply
        outline-none
        border-0
        ring
        ring-focus
        ;
    }
    */

.border-bottom {
        text-decoration: none;
        border-bottom: 3px solid;
        padding-bottom: 1px;
    }

.default-transition {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  transition-timing-function: linear;
}

/*Dummy, weil nicht-leere @apply-Anweisungen in Tailwind zu Buildabbrüchen führen*/

.dummy {
        --dummy: 0; /* beliebige Variable */
    }

/*Mit dieser Klasse kann ich module-info-DIVs zwischen hidden und visible togglen.*/

.module-info-inner-display {
        display: var(--module-info-inner-display, none)
    }

/* MODULINFO */

/*Modulinfo in Modulübersicht auf Home*/

.module-info {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
  text-align: center;
}

.module-info-close {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
  text-align: center;
}

/*Pfeil abwärts*/

.module-info::before, .module-info::after {
        content: "\2193";
    }

/*Pfeil aufwärts*/

.module-info-close::before, .module-info-close::after {
        content: "\2191";
    }

.module-info-category {
  display: grid;
  width: 100%;
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity));
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.75rem;
}

@media print {

  .module-info-category {
    display: none;
  }
}

/*TEST*/

.test-1 {
  text-transform: uppercase;
}

.test-2 {
  text-transform: lowercase;
}

/*ALPINE-UTILITY*/

/*
    Wird benötigt, um x-cloak anwenden zu können, mit dem Elemente verborgen werden können,
    bis Alpine voll geladen ist.
    */

[x-cloak] {
        display: none !important;
    }

/*Reihenfolge wichtig*/

/* COLORS */

/* VARIABLES */

/*
Default-Tailwind-Breakpoints:

sm	640px		media (min-width: 640px) { ... }
md	768px		@media (min-width: 768px) { ... }
lg	1024px		@media (min-width: 1024px) { ... }
xl	1280px		@media (min-width: 1280px) { ... }
2xl	1536px		@media (min-width: 1536px) { ... }
*/

/* FONTS */

/* TOGGLE */

/* Hamburger-Menu-Toggle */

/* TYPOGRAPHY */

/* INPUTS */

/* SNAPSHOT */

/* FORMS */

/* Die Varianten mit "-2" sind eigentlich nur bei den Formular-Elementen "formular-element-*" im Einsatz. */

/* CHARTS  */

/* SKYSCRAPER */

/* ABC, z.B. Glossar und KAG-ABC */

/* MODULE-SPEZFISCH */

/* SNAPSHOT */

/* JQUERY-DATATABLES */

/* Based on: jquery.dataTables.css */

/* JQUERY-DATATABLES: BUTTONS */

/* Based on: buttons.dataTables.css */

/* JQUERY-DATATABLES: FIXEDCOLUMNS */

/* Based on: fixedcolumns.datatables.css */

/* FONDSVERGLEICH bzw. BANKEN-/DEPOTVERGLEICH: HAUPTTABELLE */

/* FONDSVERGLEICH INNERE TABELLEN MIT STRUKTURDATEN */

/*EDITOR*/

/*Anpassungen für den HTML-Code, der vom Editor TinyMCE in CMS-Modulen erzeugt wird.*/

/*MENU*/

/*HILFSKLASSEN*/

.disabled\:active:disabled
    button.dt-button:not(.disabled),.disabled\:active:disabled
    div.dt-button:not(.disabled),.disabled\:active:disabled
    a.dt-button:not(.disabled),.disabled\:active:disabled
    input.dt-button:not(.disabled) {
        background-color: rgba(0, 0, 0, 0.1);
    }

.disabled\:active:disabled
    button.dt-button:not(.disabled):hover:not(.disabled),.disabled\:active:disabled
    div.dt-button:not(.disabled):hover:not(.disabled),.disabled\:active:disabled
    a.dt-button:not(.disabled):hover:not(.disabled),.disabled\:active:disabled
    input.dt-button:not(.disabled):hover:not(.disabled) {
        background-color: rgba(0, 0, 0, 0.2);
    }


    div.dt-button-collection .disabled\:active:disabledbutton.dt-button:not(.disabled),
    div.dt-button-collection .disabled\:active:disableddiv.dt-button:not(.disabled),
    div.dt-button-collection .disabled\:active:disableda.dt-button:not(.disabled) {
  background-color: var(--toggle-enabled);
}


    div.dt-button-collection .disabled\:active:disabledbutton.dt-button:not(.disabled):hover:not(.disabled),
    div.dt-button-collection .disabled\:active:disableddiv.dt-button:not(.disabled):hover:not(.disabled),
    div.dt-button-collection .disabled\:active:disableda.dt-button:not(.disabled):hover:not(.disabled) {
  background-color: var(--toggle-enabled-hover);
}

div.dt-button-collection .disabled\:active:disabledbutton.buttons-columnVisibility
    {
        text-decoration: none !important; /*Übersteuert das line-through.*/
    }


    div.dt-button-collection .disabled\:active:disableddiv.dt-btn-split-wrapper:not(.disabled) button.dt-button {
        background-color: #dadada;
    }


    div.dt-button-collection .disabled\:active:disableddiv.dt-btn-split-wrapper:not(.disabled) button.dt-btn-split-drop {
        box-shadow: none;
    }

@media (min-width: 768px) {

    @media print {

        /*PAGE-BREAKS*/

        /*
        Page-Breaks funktionieren beim Drucken in mehreren Zusammenhängen nicht wie gewünscht:
        - Beim Umschalten von Hoch- auf Querformat.
        - In Chrome/Edge, wenn irgendein umgebendes DIV eine Eigenschaft display:grid oder display:flex hat,
          was aber für den Aufbau des Website-Layouts selbst absolut wesentlich ist und auf alle Seiten zutrifft,
          weil schon die äußersten Wrapper-DIVs diese Eigenschaft haben. Es ist bekannt, dass Chrome hier
          ziemlich buggy ist bzw. diese Funktionalität noch nicht bietet.
        - Dadurch werden notgedrungen Elemente manchmal ungünstig umgebrochen und es entstehen
          Dopplungen in Überschriften etc.
        */

        .md\:snapshot-card-links {

            -moz-column-break-inside:       avoid;

                 break-inside:       avoid;
            page-break-inside:  avoid;

        }

        /*
        table {
            page-break-after:auto;
        }
        tr {
            page-break-inside:avoid;
            page-break-after:auto;
            break-inside:avoid;
            break-after:auto;
        }
        td {
            page-break-inside:avoid;
            page-break-after:auto;
            break-inside:avoid;
            break-after:auto;
        }
        */

        /*
        thead {
            display:table-header-group;
        }
        tfoot {
            display:table-footer-group;
        }
        */

    }

    .md\:snapshot-card-links {
    grid-column: span 6 / span 6;
    grid-column-start: 1;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

    @media print {

        /*PAGE-BREAKS*/

        /*
        Page-Breaks funktionieren beim Drucken in mehreren Zusammenhängen nicht wie gewünscht:
        - Beim Umschalten von Hoch- auf Querformat.
        - In Chrome/Edge, wenn irgendein umgebendes DIV eine Eigenschaft display:grid oder display:flex hat,
          was aber für den Aufbau des Website-Layouts selbst absolut wesentlich ist und auf alle Seiten zutrifft,
          weil schon die äußersten Wrapper-DIVs diese Eigenschaft haben. Es ist bekannt, dass Chrome hier
          ziemlich buggy ist bzw. diese Funktionalität noch nicht bietet.
        - Dadurch werden notgedrungen Elemente manchmal ungünstig umgebrochen und es entstehen
          Dopplungen in Überschriften etc.
        */

        .md\:snapshot-card-rechts {

            -moz-column-break-inside:       avoid;

                 break-inside:       avoid;
            page-break-inside:  avoid;

        }

        /*
        table {
            page-break-after:auto;
        }
        tr {
            page-break-inside:avoid;
            page-break-after:auto;
            break-inside:avoid;
            break-after:auto;
        }
        td {
            page-break-inside:avoid;
            page-break-after:auto;
            break-inside:avoid;
            break-after:auto;
        }
        */

        /*
        thead {
            display:table-header-group;
        }
        tfoot {
            display:table-footer-group;
        }
        */

    }

    .md\:snapshot-card-rechts {
    grid-column: span 6 / span 6;
    grid-column-start: 7;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
    @media (min-width: 1024px) {

    .md\:snapshot-card-label-links {
      grid-column: span 2 / span 2;
      grid-column-start: 1;
    }

    .md\:snapshot-card-label-rechts {
      grid-column: span 2 / span 2;
      grid-column-start: 7;
    }

    .md\:snapshot-card-content-links {
      grid-column: span 4 / span 4;
      grid-column-start: 3;
    }
  }
    .md\:snapshot-card-content-rechts {
    width: 100%;
  }
    @media (min-width: 1024px) {

    .md\:snapshot-card-content-rechts {
      grid-column: span 4 / span 4;
      grid-column-start: 9;
    }
  }
}

.placeholder\:text-center::-moz-placeholder {
  text-align: center;
}

.placeholder\:text-center::placeholder {
  text-align: center;
}

.placeholder\:text-xs::-moz-placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}

.placeholder\:text-xs::placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}

.after\:content-\[\'\:\'\]::after {
  --tw-content: ':';
  content: var(--tw-content);
}

.odd\:bg-tableInnerOdd:nth-child(odd) {
  background-color: var(--table-inner-odd);
}

.odd\:bg-tablePrimary:nth-child(odd) {
  background-color: var(--table-primary);
}

.odd\:bg-white:nth-child(odd) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.even\:bg-gray-100:nth-child(even) {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}

.even\:bg-gray-200:nth-child(even) {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}

.even\:bg-slate-100:nth-child(even) {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity));
}

.even\:bg-tableInnerEven:nth-child(even) {
  background-color: var(--table-inner-even);
}

.visited\:\!text-headerBackground:visited {
  color: var(--header-background) !important;
}

.visited\:\!text-white:visited {
  color: rgb(255 255 255 ) !important;
}

.visited\:text-link:visited {
  color: var(--link);
}

.visited\:text-linkVisited:visited {
  color: var(--link-visited);
}

.visited\:text-linkZeitraumLeisteAktiv:visited {
  color: var(--link-zeitraum-leiste-aktiv);
}

.visited\:text-white:visited {
  color: rgb(255 255 255 );
}

.focus-within\:outline-none:focus-within {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-within\:ring-2:focus-within {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-within\:ring-4:focus-within {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-within\:ring-indigo-500:focus-within {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity));
}

.focus-within\:ring-white:focus-within {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity));
}

.focus-within\:ring-offset-2:focus-within {
  --tw-ring-offset-width: 2px;
}

.hover\:cursor-pointer:hover {
  cursor: pointer;
}

.hover\:border-gray-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity));
}

.hover\:bg-footerButtonHover:hover {
  background-color: var(--footer-button-hover);
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}

.hover\:bg-indigo-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity));
}

.hover\:bg-indigo-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity));
}

.hover\:bg-submenuBackgroundHover:hover {
  background-color: var(--submenu-background-hover);
}

.hover\:font-bold:hover {
  font-weight: 700;
}

.hover\:\!text-black:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(0 0 0 / var(--tw-text-opacity)) !important;
}

.hover\:\!text-featuredButtonHoverText:hover {
  color: var(--featured-button-hover-text) !important;
}

.hover\:\!text-gray-300:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(209 213 219 / var(--tw-text-opacity)) !important;
}

.hover\:\!text-gray-500:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(107 114 128 / var(--tw-text-opacity)) !important;
}

.hover\:\!text-invextraOrange:hover {
  color: var(--invextra-orange) !important;
}

.hover\:\!text-slate-500:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(100 116 139 / var(--tw-text-opacity)) !important;
}

.hover\:text-black:hover {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.hover\:text-breadcrumbsTextHover:hover {
  color: var(--breadcrumbs-text-hover);
}

.hover\:text-featuredButtonHoverText:hover {
  color: var(--featured-button-hover-text);
}

.hover\:text-footerTextHover:hover {
  color: var(--footer-text-hover);
}

.hover\:text-headerTextHover:hover {
  color: var(--header-text-hover);
}

.hover\:text-indigo-500:hover {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity));
}

.hover\:text-slate-300:hover {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity));
}

.hover\:text-tb-100:hover {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity));
}

.hover\:text-tb-500:hover {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

.hover\:text-tb-900:hover {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.hover\:border-bottom:hover {
        text-decoration: none;
        border-bottom: 3px solid;
        padding-bottom: 1px;
    }

.focus\:border-indigo-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity));
}

.focus\:border-red-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity));
}

.focus\:border-white:focus {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
}

.focus\:text-left:focus {
  text-align: left;
}

.focus\:text-black:focus {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.focus\:placeholder-gray-400:focus::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity));
}

.focus\:placeholder-gray-400:focus::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity));
}

.focus\:placeholder-transparent:focus::-moz-placeholder {
  color: transparent;
}

.focus\:placeholder-transparent:focus::placeholder {
  color: transparent;
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:outline-0:focus {
  outline-width: 0px;
}

.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-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-indigo-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity));
}

.focus\:ring-red-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity));
}

.focus\:ring-white:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity));
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}

.focus\:ring-offset-gray-800:focus {
  --tw-ring-offset-color: #1f2937;
}

.placeholder\:focus\:text-transparent:focus::-moz-placeholder {
  color: transparent;
}

.placeholder\:focus\:text-transparent:focus::placeholder {
  color: transparent;
}

.focus-within\:focus-visible\:outline-none:focus-visible:focus-within {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.active\:font-bold:active {
  font-weight: 700;
}

.active\:text-black:active {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.hover\:enabled\:bg-buttonHover:enabled:hover {
  background-color: var(--button-hover);
}

.hover\:enabled\:bg-invextraOrange:enabled:hover {
  background-color: var(--invextra-orange);
}

.hover\:enabled\:font-semibold:enabled:hover {
  font-weight: 600;
}

.hover\:enabled\:text-black:enabled:hover {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.hover\:enabled\:text-buttonHoverText:enabled:hover {
  color: var(--button-hover-text);
}

.hover\:enabled\:opacity-80:enabled:hover {
  opacity: 0.8;
}

.hover\:enabled\:ring-1:enabled:hover {
  --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);
}

.hover\:enabled\:ring-black:enabled:hover {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity));
}

.hover\:enabled\:ring-buttonRing:enabled:hover {
  --tw-ring-color: var(--button-ring);
}

.disabled\:bg-white:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.group:hover .group-hover\:fill-featuredButtonHoverText {
  fill: var(--featured-button-hover-text);
}

.group:hover .group-hover\:fill-linkModule3Background {
  fill: var(--link-module-3-background);
}

.group:hover .group-hover\:text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.group:hover .group-hover\:text-featuredButtonHoverText {
  color: var(--featured-button-hover-text);
}

.group:hover .group-hover\:text-linkModule3Background {
  color: var(--link-module-3-background);
}

.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

@media (min-width: 300px) {

  .\34xs\:grid {
    display: grid;
  }

  .\34xs\:hidden {
    display: none;
  }

  .\34xs\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

@media (min-width: 400px) {

  .\33xs\:float-right {
    float: right;
  }

  .\33xs\:float-left {
    float: left;
  }

  .\33xs\:table-cell {
    display: table-cell;
  }

  .\33xs\:grid {
    display: grid;
  }

  .\33xs\:hidden {
    display: none;
  }

  .\33xs\:h-10 {
    height: 2.5rem;
  }

  .\33xs\:w-10 {
    width: 2.5rem;
  }

  .\33xs\:max-w-screen-3xs {
    max-width: 400px;
  }

  .\33xs\:text-right {
    text-align: right;
  }

  .\33xs\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .\33xs\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .\33xs\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

@media (min-width: 480px) {

  .\32xs\:grid {
    display: grid;
  }

  .\32xs\:hidden {
    display: none;
  }

  .\32xs\:max-w-screen-2xs {
    max-width: 480px;
  }

  .\32xs\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .\32xs\:grid-cols-\[minmax\(50px\2c _min-content\)_auto\] {
    grid-template-columns: minmax(50px, min-content) auto;
  }

  .\32xs\:py-\[0\.2em\] {
    padding-top: 0.2em;
    padding-bottom: 0.2em;
  }

  .\32xs\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .\32xs\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .\32xs\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 540px) {

  .xs\:order-1 {
    order: 1;
  }

  .xs\:order-2 {
    order: 2;
  }

  .xs\:col-start-2 {
    grid-column-start: 2;
  }

  .xs\:mb-0 {
    margin-bottom: 0px;
  }

  .xs\:grid {
    display: grid;
  }

  .xs\:hidden {
    display: none;
  }

  .xs\:w-1\/2 {
    width: 50%;
  }

  .xs\:w-3\/5 {
    width: 60%;
  }

  .xs\:max-w-screen-xs {
    max-width: 540px;
  }

  .xs\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .xs\:grid-cols-\[3fr_7fr\] {
    grid-template-columns: 3fr 7fr;
  }

  .xs\:grid-cols-\[auto_1fr\] {
    grid-template-columns: auto 1fr;
  }

  .xs\:grid-cols-\[min-content_auto\] {
    grid-template-columns: min-content auto;
  }

  .xs\:flex-row {
    flex-direction: row;
  }

  .xs\:gap-x-2 {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }

  .xs\:gap-x-4 {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }

  .xs\:gap-y-0 {
    row-gap: 0px;
  }

  .xs\:whitespace-normal {
    white-space: normal;
  }

  .xs\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .xs\:py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .xs\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .xs\:text-base {
    font-size: 16px;
    line-height: 1.35;
  }

  .xs\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .xs\:even\:bg-transparent:nth-child(even) {
    background-color: transparent;
  }
}

@media (min-width: 640px) {

  .sm\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .sm\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .sm\:col-span-6 {
    grid-column: span 6 / span 6;
  }

  .sm\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }

  .sm\:mx-\[var\(--module-inner-margin-x\)\] {
    margin-left: var(--module-inner-margin-x);
    margin-right: var(--module-inner-margin-x);
  }

  .sm\:mb-0 {
    margin-bottom: 0px;
  }

  .sm\:mt-0 {
    margin-top: 0px;
  }

  .sm\:mt-5 {
    margin-top: 1.25rem;
  }

  .sm\:mt-px {
    margin-top: 1px;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:grid {
    display: grid;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:w-1\/2 {
    width: 50%;
  }

  .sm\:w-2\/3 {
    width: 66.666667%;
  }

  .sm\:w-\[20rem\] {
    width: 20rem;
  }

  .sm\:w-\[calc\(100vw-\(2\*var\(--module-inner-margin-x\)\)-var\(--scrollbar-width\)\)\] {
    width: calc(100vw - (2 * var(--module-inner-margin-x)) - var(--scrollbar-width));
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:w-fit {
    width: -moz-fit-content;
    width: fit-content;
  }

  .sm\:max-w-screen-sm {
    max-width: 640px;
  }

  .sm\:max-w-xs {
    max-width: 20rem;
  }

  .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\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .sm\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .sm\:grid-cols-\[1fr\2c 3fr\] {
    grid-template-columns: 1fr 3fr;
  }

  .sm\:grid-cols-filter {
    grid-template-columns: minmax(20vw, max-content) auto;
  }

  .sm\:flex-wrap {
    flex-wrap: wrap;
  }

  .sm\:items-start {
    align-items: flex-start;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:items-baseline {
    align-items: baseline;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:gap-4 {
    gap: 1rem;
  }

  .sm\:gap-x-8 {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }

  .sm\:gap-y-2 {
    row-gap: 0.5rem;
  }

  .sm\:space-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
  }

  .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\:justify-self-auto {
    justify-self: auto;
  }

  .sm\:\!whitespace-nowrap {
    white-space: nowrap !important;
  }

  .sm\:whitespace-nowrap {
    white-space: nowrap;
  }

  .sm\:p-8 {
    padding: 2rem;
  }

  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .sm\:pb-8 {
    padding-bottom: 2rem;
  }

  .sm\:pt-10 {
    padding-top: 2.5rem;
  }

  .sm\:pt-2 {
    padding-top: 0.5rem;
  }

  .sm\:pt-5 {
    padding-top: 1.25rem;
  }

  .sm\:pt-8 {
    padding-top: 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-base {
    font-size: 16px;
    line-height: 1.35;
  }

  .sm\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .sm\:opacity-30 {
    opacity: 0.3;
  }

  .sm\:placeholder\:text-left::-moz-placeholder {
    text-align: left;
  }

  .sm\:placeholder\:text-left::placeholder {
    text-align: left;
  }
}

@media (min-width: 768px) {

  .md\:col-span-10 {
    grid-column: span 10 / span 10;
  }

  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:col-start-1 {
    grid-column-start: 1;
  }

  .md\:col-start-3 {
    grid-column-start: 3;
  }

  .md\:mx-\[calc\(\(100\%-768px\+var\(--scrollbar-width\)\)\/2\)\] {
    margin-left: calc((100% - 768px + var(--scrollbar-width)) / 2);
    margin-right: calc((100% - 768px + var(--scrollbar-width)) / 2);
  }

  .md\:mx-\[var\(--module-inner-margin-x\)\] {
    margin-left: var(--module-inner-margin-x);
    margin-right: var(--module-inner-margin-x);
  }

  .md\:-mb-6 {
    margin-bottom: -1.5rem;
  }

  .md\:mb-0 {
    margin-bottom: 0px;
  }

  .md\:mt-0 {
    margin-top: 0px;
  }

  .md\:block {
    display: block;
  }

  .md\:flex {
    display: flex;
  }

  .md\:grid {
    display: grid;
  }

  .md\:hidden {
    display: none;
  }

  .md\:w-1\/2 {
    width: 50%;
  }

  .md\:w-2\/3 {
    width: 66.666667%;
  }

  .md\:w-3\/4 {
    width: 75%;
  }

  .md\:min-w-\[20vw\] {
    min-width: 20vw;
  }

  .md\:max-w-\[20vw\] {
    max-width: 20vw;
  }

  .md\:max-w-screen-md {
    max-width: 768px;
  }

  .md\:columns-2 {
    -moz-columns: 2;
         columns: 2;
  }

  .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-\[5fr_3fr\] {
    grid-template-columns: 5fr 3fr;
  }

  .md\:gap-x-8 {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }

  .md\:justify-self-end {
    justify-self: end;
  }

  .md\:border-l-0 {
    border-left-width: 0px;
  }

  .md\:border-t-2 {
    border-top-width: 2px;
  }

  .md\:bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  }

  .md\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }

  .md\:pr-3 {
    padding-right: 0.75rem;
  }

  .md\:text-left {
    text-align: left;
  }

  .md\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .md\:text-base {
    font-size: 16px;
    line-height: 1.35;
  }

  .md\:text-base-md {
    font-size: 18px;
  }

  .md\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .md\:opacity-30 {
    opacity: 0.3;
  }
}

@media (min-width: 1024px) {

  .lg\:order-1 {
    order: 1;
  }

  .lg\:order-2 {
    order: 2;
  }

  .lg\:order-3 {
    order: 3;
  }

  .lg\:order-4 {
    order: 4;
  }

  .lg\:col-span-10 {
    grid-column: span 10 / span 10;
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .lg\:col-start-1 {
    grid-column-start: 1;
  }

  .lg\:col-start-2 {
    grid-column-start: 2;
  }

  .lg\:col-start-3 {
    grid-column-start: 3;
  }

  .lg\:col-start-7 {
    grid-column-start: 7;
  }

  .lg\:col-start-9 {
    grid-column-start: 9;
  }

  .lg\:col-end-2 {
    grid-column-end: 2;
  }

  .lg\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }

  .lg\:mb-0 {
    margin-bottom: 0px;
  }

  .lg\:ml-8 {
    margin-left: 2rem;
  }

  .lg\:ml-\[calc\(var\(--module-inner-margin-x\)\/2\)\] {
    margin-left: calc(var(--module-inner-margin-x) / 2);
  }

  .lg\:ml-\[var\(--module-inner-margin-x\)\] {
    margin-left: var(--module-inner-margin-x);
  }

  .lg\:mr-\[calc\(var\(--module-inner-margin-x\)\/2\)\] {
    margin-right: calc(var(--module-inner-margin-x) / 2);
  }

  .lg\:mr-\[var\(--module-inner-margin-x\)\] {
    margin-right: var(--module-inner-margin-x);
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:table {
    display: table;
  }

  .lg\:table-cell {
    display: table-cell;
  }

  .lg\:table-row {
    display: table-row;
  }

  .lg\:grid {
    display: grid;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:h-\[4rem\] {
    height: 4rem;
  }

  .lg\:max-h-full {
    max-height: 100%;
  }

  .lg\:w-1\/2 {
    width: 50%;
  }

  .lg\:w-1\/3 {
    width: 33.333333%;
  }

  .lg\:w-\[1024px\] {
    width: 1024px;
  }

  .lg\:w-\[4rem\] {
    width: 4rem;
  }

  .lg\:w-fit {
    width: -moz-fit-content;
    width: fit-content;
  }

  .lg\:w-screen {
    width: 100vw;
  }

  .lg\:min-w-\[15vw\] {
    min-width: 15vw;
  }

  .lg\:max-w-\[15vw\] {
    max-width: 15vw;
  }

  .lg\:columns-2 {
    -moz-columns: 2;
         columns: 2;
  }

  .lg\:columns-3 {
    -moz-columns: 3;
         columns: 3;
  }

  .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-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[1fr_2fr\] {
    grid-template-columns: 1fr 2fr;
  }

  .lg\:grid-cols-\[2fr_1fr\] {
    grid-template-columns: 2fr 1fr;
  }

  .lg\:grid-cols-\[30\%_40\%_30\%\] {
    grid-template-columns: 30% 40% 30%;
  }

  .lg\:grid-cols-invextra {
    grid-template-columns: minmax(0, 1fr) minmax(1024px, 1920px) minmax(0, 1fr);
  }

  .lg\:items-center {
    align-items: center;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }

  .lg\:justify-evenly {
    justify-content: space-evenly;
  }

  .lg\:gap-x-8 {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }

  .lg\:justify-self-stretch {
    justify-self: stretch;
  }

  .lg\:overflow-scroll {
    overflow: scroll;
  }

  .lg\:overflow-x-auto {
    overflow-x: auto;
  }

  .lg\:overflow-y-auto {
    overflow-y: auto;
  }

  .lg\:whitespace-normal {
    white-space: normal;
  }

  .lg\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }

  .lg\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .lg\:px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .lg\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .lg\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }

  .lg\:text-base {
    font-size: 16px;
    line-height: 1.35;
  }

  .lg\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .lg\:opacity-40 {
    opacity: 0.4;
  }

  .placeholder\:lg\:text-sm::-moz-placeholder {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .placeholder\:lg\:text-sm::placeholder {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

@media (min-width: 1280px) {

  .xl\:mr-2 {
    margin-right: 0.5rem;
  }

  .xl\:flex {
    display: flex;
  }

  .xl\:grid {
    display: grid;
  }

  .xl\:hidden {
    display: none;
  }

  .xl\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .xl\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .xl\:pr-12 {
    padding-right: 3rem;
  }

  .xl\:text-base {
    font-size: 16px;
    line-height: 1.35;
  }

  .xl\:text-base-lg {
    font-size: 20px;
  }

  .xl\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .xl\:opacity-50 {
    opacity: 0.5;
  }
}

@media (min-width: 1536px) {

  .\32xl\:grid {
    display: grid;
  }

  .\32xl\:hidden {
    display: none;
  }

  .\32xl\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  .\32xl\:text-base {
    font-size: 16px;
    line-height: 1.35;
  }

  .\32xl\:opacity-60 {
    opacity: 0.6;
  }
}

@media (min-width: 1920px) {

  .\33xl\:grid {
    display: grid;
  }

  .\33xl\:hidden {
    display: none;
  }
}

@media print {

  .print\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .print\:mb-10 {
    margin-bottom: 2.5rem;
  }

  .print\:mb-4 {
    margin-bottom: 1rem;
  }

  .print\:ml-0 {
    margin-left: 0px;
  }

  .print\:mt-0 {
    margin-top: 0px;
  }

  .print\:mt-2 {
    margin-top: 0.5rem;
  }

  .print\:mt-4 {
    margin-top: 1rem;
  }

  .print\:block {
    display: block;
  }

  .print\:grid {
    display: grid;
  }

  .print\:hidden {
    display: none;
  }

  .print\:max-h-fit {
    max-height: -moz-fit-content;
    max-height: fit-content;
  }

  .print\:min-w-0 {
    min-width: 0px;
  }

  .print\:break-inside-avoid {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }

  .print\:justify-self-end {
    justify-self: end;
  }

  .print\:rounded-none {
    border-radius: 0px;
  }

  .print\:border {
    border-width: 1px;
  }

  .print\:border-0 {
    border-width: 0px;
  }

  .print\:border-x-0 {
    border-left-width: 0px;
    border-right-width: 0px;
  }

  .print\:border-b-0 {
    border-bottom-width: 0px;
  }

  .print\:border-t-0 {
    border-top-width: 0px;
  }

  .print\:bg-transparent {
    background-color: transparent;
  }

  .print\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }

  .print\:py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .print\:pt-0 {
    padding-top: 0px;
  }

  .print\:text-2xs {
    font-size: 0.6rem;
  }

  .print\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }

  .print\:font-normal {
    font-weight: 400;
  }

  .print\:text-black {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity));
  }

  .print\:shadow-none {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
}

@media (orientation: portrait) {

  .portrait\:flex {
    display: flex;
  }
}

@media (orientation: landscape) {

  .landscape\:flex {
    display: flex;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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bUJBQWM7UUFBZCxtQkFBYzs7UUFBZCxhQUFjO1FBQWQsNkVBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjO1FBQWQsbUJBQWM7O1FBQWQsYUFBYztRQUFkLDJCQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjOztRQUFkLFlBQWM7UUFBZCwyQkFBYztRQUFkLG1CQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYzs7UUFBZCxlQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjOztRQUFkLGtCQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjO1FBQWQsbUJBQWM7UUFBZCxtQkFBYztRQUFkLG1CQUFjOztRQUFkLDhDQUFjO1FBQWQsb0JBQWMsRUFBZCxVQUFjO1FBQWQsb0JBQWMsRUFBZCxXQUFjO1FBQWQsb0JBQWMsRUFBZCxXQUFjO1FBQWQsb0JBQWMsRUFBZCxXQUFjO1FBQWQsb0JBQWMsRUFBZCxXQUFjO1FBQWQsb0JBQWMsRUFBZCxXQUFjO1FBQWQsb0JBQWMsRUFBZCxXQUFjO1FBQWQsb0JBQWMsRUFBZCxXQUFjO1FBQWQsb0JBQWMsRUFBZCxXQUFjO1FBQWQsb0JBQWMsRUFBZCxXQUFjOztRQUFkLG9IQUFjO1FBQWQsaUZBQWM7O1FBQWQsY0FBYzs7UUFBZCwrQ0FBYztRQUFkLHFEQUFjO1FBQWQsaURBQWM7O1FBQWQseUJBQWM7O1FBQWQscURBQWM7O1FBQWQsaURBQWM7UUFBZCxvREFBYztRQUFkLDhEQUFjO1FBQWQsb0RBQWM7O1FBQWQscURBQWM7UUFBZCxxREFBYztRQUFkLHFEQUFjOztRQUFkLHFEQUFjO1FBQWQsaURBQWM7O1FBQWQsb0RBQWM7UUFBZCxvREFBYztRQUFkLHFEQUFjO1FBQWQsb0RBQWM7UUFBZCxvREFBYzs7UUFBZCxrQkFBYzs7UUFBZCxvREFBYztRQUFkLGlEQUFjOztRQUFkLDBCQUFjOztRQUFkLFdBQWM7UUFBZCw2Q0FBYztRQUFkLG9EQUFjO1FBQWQsOERBQWM7UUFBZCw2Q0FBYztRQUFkLDZDQUFjOztRQUFkLFdBQWM7UUFBZCw2Q0FBYztRQUFkLHFEQUFjO1FBQWQscURBQWM7O1FBQWQsYUFBYztRQUFkLHFEQUFjOztRQUFkLGdDQUFjO1FBQWQsK0NBQWMsRUFBZCxjQUFjOztRQUFkLCtDQUFjLEVBQWQsWUFBYztRQUFkLCtDQUFjLEVBQWQsWUFBYzs7UUFBZCwrQ0FBYyxFQUFkLFFBQWM7UUFBZCxpREFBYzs7UUFBZCxpQkFBYztRQUFkLDZDQUFjO1FBQWQsK0NBQWMsRUFBZCxjQUFjOztRQUFkLFFBQWM7UUFBZCwrQ0FBYyxFQUFkLGNBQWM7O1FBQWQscUJBQWM7O1FBQWQsbUJBQWM7UUFBZCxpREFBYyxFQUFkLFlBQWM7UUFBZCxpREFBYyxFQUFkLHlDQUFjO1FBQWQsNkNBQWM7UUFBZCw2Q0FBYztRQUFkLDZDQUFjOztRQUFkLDBDQUFjO1FBQWQsaURBQWM7UUFBZCw2Q0FBYztRQUFkLHFEQUFjOztRQUFkLGdCQUFjOztRQUFkLGlEQUFjO1FBQWQsb0RBQWM7O1FBQWQsOERBQWM7O1FBQWQsK0NBQWMsRUFBZCxjQUFjOztRQUFkLG1CQUFjOztRQUFkLGNBQWM7UUFBZCxxREFBYztRQUFkLCtDQUFjLEVBQWQsWUFBYztRQUFkLCtDQUFjLEVBQWQsd0JBQWM7UUFBZCwrQ0FBYyxFQUFkLFFBQWMsRUFBZCx3QkFBYyxFQUFkLG1CQUFjO0lBQUE7O0FBQWQsc0ZBQWM7O0FBQWQsa0VBQWM7O0FBQWQ7RUFBQTtBQUFjOztBQUFkO0VBQUE7QUFBYzs7QUFBZDtFQUFBO0FBQWM7O0FBQWQ7RUFBQTtBQUFjOztBQUFkO0VBQUE7QUFBYzs7QUFBZDtFQUFBO0FBQWM7O0FBQWQ7Ozs7OztLQUFjOztBQUFkLHVEQUFjOztBQUFkLHdCQUFjOztBQUFkO1FBQUEseUJBQWM7UUFBZCxrQkFBYztRQUFkLG9DQUFjLEVBQWQsb0NBQWMsRUFBZCxPQUFjO1FBQWQsb0NBQWMsRUFBZCxpQ0FBYyxFQUFkLFlBQWM7UUFBZCxnQ0FBYyxFQUFkLGlDQUFjO0lBQUE7O0FBQWQsb0NBQWM7O0FBQWQ7Ozs7S0FBYzs7QUFBZDtRQUFBLHVCQUFjLEVBQWQsT0FBYztRQUFkLHVCQUFjLEVBQWQsWUFBYztRQUFkLG1CQUFjO0lBQUE7O0FBQWQ7UUFBQSx1QkFBYyxFQUFkLE9BQWM7UUFBZCx1QkFBYyxFQUFkLFlBQWM7UUFBZCxtQkFBYztJQUFBOztBQUFkOztRQUFBLCtCQUFjO1FBQWQsb0JBQWM7UUFBZCxvQkFBYztRQUFkLHNCQUFjO1FBQWQscUJBQWM7UUFBZCxxQkFBYztRQUFkLHFCQUFjOztRQUFkLGtFQUFjO1FBQWQsc0NBQWM7O0lBQUE7O0FBQWQ7Ozs7Ozs7OztLQUFjOztBQUFkO1FBQUEsc0JBQWM7UUFBZCxvQkFBYztRQUFkLDZCQUFjO1FBQWQsNkJBQWM7SUFBQTs7QUFBZDtRQUFBO1lBQUEsc0JBQWM7WUFBZCx1QkFBYztZQUFkLDZCQUFjO1lBQWQsNkJBQWM7UUFBQTtJQUFBOztBQUFkO1FBQUE7WUFBQSxzQkFBYztZQUFkLG9CQUFjO1lBQWQsMEJBQWM7WUFBZCw2QkFBYztRQUFBO0lBQUE7O0FBQWQsU0FBYzs7QUFBZCwwQ0FBYzs7QUFBZCw4SEFBYzs7QUFBZCxRQUFjOztBQUFkLG1GQUFjOztBQUFkO1FBQUEsdUJBQWM7UUFBZCxvQkFBYztRQUFkLGlCQUFjO1FBQWQsa0JBQWM7UUFBZCxpREFBYyxFQUFkLFFBQWM7UUFBZCx3WUFBYyxFQUFkLGVBQWM7SUFBQTs7QUFBZDtRQUFBLHVCQUFjO1FBQWQsb0JBQWM7UUFBZCxpQkFBYztRQUFkLGtCQUFjO1FBQWQsNkNBQWMsRUFBZCxRQUFjO1FBQWQsb1hBQWMsRUFBZCxlQUFjO0lBQUE7O0FBQWQ7UUFBQSx1QkFBYztRQUFkLG9CQUFjO1FBQWQsaUJBQWM7UUFBZCxrQkFBYztRQUFkLDZDQUFjLEVBQWQsUUFBYztRQUFkLG9YQUFjLEVBQWQsZUFBYztJQUFBOztBQUFkO1FBQUEsdUJBQWM7UUFBZCxvQkFBYztRQUFkLGlCQUFjO1FBQWQsa0JBQWM7UUFBZCw2Q0FBYyxFQUFkLFFBQWM7UUFBZCxvWEFBYyxFQUFkLGVBQWM7SUFBQTs7QUFBZDtRQUFBLHVCQUFjO1FBQWQsb0JBQWM7UUFBZCxpQkFBYztRQUFkLGtCQUFjO1FBQWQsZ0RBQWMsRUFBZCxRQUFjO1FBQWQsbVlBQWMsRUFBZCxlQUFjO0lBQUE7O0FBQWQ7UUFBQSx1QkFBYztRQUFkLG9CQUFjO1FBQWQsaUJBQWM7UUFBZCxrQkFBYztRQUFkLG1EQUFjLEVBQWQsUUFBYztRQUFkLGtaQUFjLEVBQWQsZUFBYztJQUFBOztBQUFkO1FBQUEsdUJBQWM7UUFBZCxvQkFBYztRQUFkLGlCQUFjO1FBQWQsa0JBQWM7UUFBZCxtREFBYyxFQUFkLFFBQWM7UUFBZCxrWkFBYyxFQUFkLGVBQWM7SUFBQTs7QUFBZDtRQUFBLHVCQUFjO1FBQWQsb0JBQWM7UUFBZCxpQkFBYztRQUFkLGtCQUFjO1FBQWQsbURBQWMsRUFBZCxRQUFjO1FBQWQsa1pBQWMsRUFBZCxlQUFjO0lBQUE7O0FBQWQ7Ozs7Ozs7Ozs7OztLQUFjOztBQUFkOzs7Ozs7Ozs7Ozs7S0FBYzs7QUFBZDtRQUFBLDZCQUFjO1FBQWQsa0JBQWM7UUFBZCxnQkFBYztRQUFkLGdFQUFjO0lBQUE7O0FBQWQ7UUFBQSxzQ0FBYztRQUFkLGtCQUFjO1FBQWQsZ0JBQWM7UUFBZCx3RUFBYztJQUFBOztBQUFkO1FBQUEsNkJBQWM7UUFBZCxtQkFBYztRQUFkLGtCQUFjO1FBQWQsZUFBYztRQUFkLGNBQWM7UUFBZCxzQkFBYztRQUFkLG9CQUFjO1FBQWQscUJBQWM7UUFBZCxtQkFBYztRQUFkLGlCQUFjO1FBQWQsY0FBYztRQUFkLGtDQUFjO1FBQWQsa0NBQWM7SUFBQTs7QUFBZDtRQUFBLHNDQUFjO1FBQWQsbUJBQWM7UUFBZCxrQkFBYztRQUFkLGVBQWM7UUFBZCxjQUFjO1FBQWQsc0JBQWM7UUFBZCxvQkFBYztRQUFkLHFCQUFjO1FBQWQsbUJBQWM7UUFBZCxpQkFBYztRQUFkLGNBQWM7UUFBZCxrQ0FBYztRQUFkLGtDQUFjO0lBQUE7O0FBQWQ7UUFBQSxrQkFBYztRQUFkLDZCQUFjO1FBQWQsOEJBQWM7SUFBQTs7QUFBZDs7Ozs7O1FBQUEsMENBQWM7UUFBZCxzQkFBYztJQUFBOztBQUFkO1FBQUEsdUJBQWM7UUFBZCwwQkFBYztRQUFkLHNDQUFjO1FBQWQsc0JBQWM7UUFBZCxvQ0FBYztRQUFkLHNEQUFjO1FBQWQsb0RBQWM7SUFBQTs7QUFBZDtRQUFBLGdCQUFjLEVBQWQsMkJBQWM7UUFBZCxlQUFjO1FBQWQsa0JBQWM7UUFBZCxrQkFBYztRQUFkLG9CQUFjO1FBQWQsd0JBQWM7UUFBZCwyRkFBYztJQUFBOztBQUFkOztRQUFBLG9CQUFjO1FBQWQsdUJBQWM7UUFBZCwwQkFBYztRQUFkLHNCQUFjO1FBQWQsc0NBQWM7UUFBZCxvQ0FBYztJQUFBOztBQUFkLFFBQWM7O0FBQWQ7UUFBQSxhQUFjO1FBQWQsYUFBYztRQUFkLGlJQUFjO0lBQUE7O0FBQWQsV0FBYzs7QUFBZDtRQUFBLGFBQWM7UUFBZCxzSkFBYztJQUFBOztBQUFkO1FBQUEsMEJBQWM7UUFBZCxvQ0FBYztJQUFBOztBQUFkO1FBQUEseUJBQWM7UUFBZCx3RUFBYztJQUFBOztBQUFkLFFBQWM7O0FBQWQ7UUFBQSwwQkFBYztRQUFkLG9DQUFjO1FBQWQsc0RBQWM7UUFBZCxtQkFBYztRQUFkLHVJQUFjO0lBQUE7O0FBQWQsV0FBYzs7QUFBZDtRQUFBLDBCQUFjO1FBQWQsb0NBQWM7UUFBZCxzREFBYztRQUFkLGdDQUFjO1FBQWQsNEpBQWM7SUFBQTs7QUFBZCx5QkFBYzs7QUFBZCwyQ0FBYzs7QUFBZCxtQ0FBYzs7QUFBZDtRQUFBO1lBQUEsYUFBYztZQUFkLHFCQUFjO1FBQUE7SUFBQTs7QUFBZCxrRkFBYzs7QUFBZCx5RkFBYzs7QUFBZCxvRkFBYzs7QUFBZCw4Q0FBYzs7QUFBZDtJQUFBO1FBQUEsVUFBYyxFQUFkLHVCQUFjO0lBQUE7SUFBQTs7QUFBZDtRQUFBLGFBQWM7UUFBZCxxQkFBYztJQUFBOztBQUFkLHlCQUFjOztBQUFkO1FBQUEsNkJBQWM7UUFBZCxxQkFBYztRQUFkLGtCQUFjO1FBQWQsbUJBQWM7UUFBZCxnQkFBYztJQUFBOztBQUFkO1FBQUEsNkJBQWM7UUFBZCxxQkFBYztRQUFkLG1CQUFjO1FBQWQsb0JBQWM7UUFBZCxnQkFBYztJQUFBOztBQUFkO0VBQUEscUJBQWM7RUFBZCxpQkFBYztFQUFkLGlCQUFjO0VBQWQ7QUFBYzs7QUFBZDtFQUFBLHFCQUFjO0VBQWQsa0JBQWM7RUFBZCxvQkFBYztFQUFkO0FBQWM7O0FBQWQ7RUFBQSxzQkFBYztFQUFkLG1CQUFjO0VBQWQsb0JBQWM7RUFBZDtBQUFjOztBQUFkO0VBQUEsc0JBQWM7RUFBZCxtQkFBYztFQUFkLG9CQUFjO0VBQWQ7QUFBYzs7QUFBZDtFQUFBLHFCQUFjO0VBQWQsZUFBYztFQUFkO0FBQWM7O0FBQWQsZ0RBQWM7O0FBQWQsa0NBQWM7O0FBQWQ7O1FBQUEsYUFBYzs7SUFBQTs7QUFBZCxrQkFBYzs7QUFBZDtFQUFBO0FBQWM7O0FBQWQ7RUFBQTtBQUFjOztBQUFkO0VBQUE7QUFBYzs7QUFBZCx3QkFBYzs7QUFBZDs7O0VBQUE7QUFBYzs7QUFBZDs7O0VBQUE7QUFBYzs7QUFBZDs7O0VBQUE7QUFBYzs7QUFBZDs7O0VBQUE7QUFBYzs7QUFBZCxvQkFBYzs7QUFBZDtFQUFBO0FBQWM7O0FBQWQ7RUFBQTtBQUFjOztBQUFkO0VBQUE7QUFBYzs7QUFBZDtZQUFBLGlCQUFjO1FBQUE7O0FBQWQsa0JBQWM7O0FBQWQ7RUFBQTtBQUFjOztBQUFkO0VBQUE7QUFBYzs7QUFBZDtFQUFBO0FBQWM7O0FBQWQ7WUFBQSxpQkFBYztRQUFBOztBQUFkLHFCQUFjOztBQUFkO0VBQUE7QUFBYzs7QUFBZCxnQkFBYzs7QUFBZDtZQUFBLG9CQUFjLEVBQWQsaUJBQWM7WUFBZCxtQkFBYyxFQUFkLGlCQUFjO1FBQUE7O0FBQWQsNEJBQWM7O0FBQWQ7WUFBQSxXQUFjO1lBQWQsb0RBQWM7WUFBZCx3QkFBYztZQUFkLHFCQUFjO1lBQWQsV0FBYztZQUFkLFlBQWM7WUFBZCxrQkFBYztZQUFkLFdBQWM7WUFBZCxvQkFBYztRQUFBOztBQUFkLE9BQWM7O0FBQWQ7RUFBQSx3QkFBYztFQUFkLHdCQUFjO0VBQWQsbUJBQWM7RUFBZCxtQkFBYztFQUFkLGNBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGVBQWM7RUFBZCxlQUFjO0VBQWQsYUFBYztFQUFkLGFBQWM7RUFBZCxrQkFBYztFQUFkLHNDQUFjO0VBQWQsOEJBQWM7RUFBZCw2QkFBYztFQUFkLDRCQUFjO0VBQWQsZUFBYztFQUFkLG9CQUFjO0VBQWQsc0JBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQsa0JBQWM7RUFBZCwyQkFBYztFQUFkLDRCQUFjO0VBQWQsc0NBQWM7RUFBZCxrQ0FBYztFQUFkLDJCQUFjO0VBQWQsc0JBQWM7RUFBZCw4QkFBYztFQUFkLFlBQWM7RUFBZCxrQkFBYztFQUFkLGdCQUFjO0VBQWQsaUJBQWM7RUFBZCxrQkFBYztFQUFkLGNBQWM7RUFBZCxnQkFBYztFQUFkLGFBQWM7RUFBZCxtQkFBYztFQUFkLHFCQUFjO0VBQWQsMkJBQWM7RUFBZCx5QkFBYztFQUFkLDBCQUFjO0VBQWQsMkJBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQseUJBQWM7RUFBZDtBQUFjOztBQUFkO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxxQkFBYztFQUFkLDJCQUFjO0VBQWQseUJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLHlCQUFjO0VBQWQ7QUFBYzs7QUNBZDtFQUFBO0FBQW9COztBQUFwQjtFQUFBO0FBQW9COztBQUFwQjtFQUFBO0FBQW9COztBQUFwQjtFQUFBLGtCQUFvQjtFQUFwQixvRUFBb0I7RUFBcEI7QUFBb0I7O0FBQXBCO0VBQUEsa0JBQW9CO0VBQXBCLFlBQW9CO0VBQXBCLFdBQW9CO0VBQXBCLE1BQW9CO0VBQXBCLFFBQW9CO0VBQXBCLFNBQW9CO0VBQXBCO0FBQW9COztBQUFwQjtFQUFBLGtCQUFvQjtFQUFwQixvRUFBb0I7RUFBcEI7QUFBb0I7O0FBQXBCO0VBQUEsa0JBQW9CO0VBQXBCLFlBQW9CO0VBQXBCLFdBQW9CO0VBQXBCLE1BQW9CO0VBQXBCLFFBQW9CO0VBQXBCLFNBQW9CO0VBQXBCO0FBQW9COztBQUFwQjtFQUFBLGtCQUFvQjtFQUFwQixvRUFBb0I7RUFBcEI7QUFBb0I7O0FBQXBCO0VBQUEsa0JBQW9CO0VBQXBCLFlBQW9CO0VBQXBCLFdBQW9CO0VBQXBCLE1BQW9CO0VBQXBCLFFBQW9CO0VBQXBCLFNBQW9CO0VBQXBCO0FBQW9COztBQ0loQixzREFBc0Q7O0FBR2xEOztRQUFBLGNBS0E7O1FBTEE7Ozs7Ozs7OztTQUtBOztRQUxBOztZQUFBLHFDQUtBOztpQkFMQSx5QkFLQTtZQUxBLHlCQUtBOztRQUFBOztRQUxBOzs7Ozs7Ozs7Ozs7Ozs7O1NBS0E7O1FBTEE7Ozs7Ozs7U0FLQTs7SUFBQTs7QUFMQTtFQUFBLDhCQUtBO0VBTEEsb0JBS0E7RUFMQSxhQUtBO0VBTEE7QUFLQTs7QUFJQTs7UUFBQSxjQUtBOztRQUxBOzs7Ozs7Ozs7U0FLQTs7UUFMQTs7WUFBQSxxQ0FLQTs7aUJBTEEseUJBS0E7WUFMQSx5QkFLQTs7UUFBQTs7UUFMQTs7Ozs7Ozs7Ozs7Ozs7OztTQUtBOztRQUxBOzs7Ozs7O1NBS0E7O0lBQUE7O0FBTEE7RUFBQSw0QkFLQTtFQUxBLG9CQUtBO0VBTEEsYUFLQTtFQUxBO0FBS0E7O0FBSUE7O1FBQUEsY0FLQTs7UUFMQTs7Ozs7Ozs7O1NBS0E7O1FBTEE7O1lBQUEscUNBS0E7O2lCQUxBLHlCQUtBO1lBTEEseUJBS0E7O1FBQUE7O1FBTEE7Ozs7Ozs7Ozs7Ozs7Ozs7U0FLQTs7UUFMQTs7Ozs7OztTQUtBOztJQUFBOztBQUxBO0VBQUEsNEJBS0E7RUFMQSxvQkFLQTtFQUxBLGFBS0E7RUFMQTtBQUtBOztBQUdKLHlFQUF5RTs7QUFFckU7RUFBQSw4QkFRQTtFQVJBLG9CQVFBO0VBUkEsYUFRQTtFQVJBLGtCQVFBO0VBUkEsbUJBUUE7RUFSQSxpQkFRQTtFQVJBLG9CQVFBO0VBUkE7QUFRQTs7QUFSQTs7RUFBQTtJQUFBLDRCQVFBO0lBUkE7RUFRQTtBQUFBOztBQVJBOztFQUFBO0lBQUEsaUJBUUE7SUFSQTtFQVFBO0FBQUE7O0FBR0E7O0VBQUE7SUFBQSw0QkFFQTtJQUZBO0VBRUE7O0VBR0E7SUFBQSw0QkFFQTtJQUZBO0VBRUE7QUFMQTs7QUFRQTtFQUFBLDhCQVFBO0VBUkEsb0JBUUE7RUFSQSxhQVFBO0VBUkEsa0JBUUE7RUFSQSxtQkFRQTtFQVJBLGlCQVFBO0VBUkEsb0JBUUE7RUFSQTtBQVFBOztBQVJBOztFQUFBO0lBQUEsNEJBUUE7SUFSQTtFQVFBO0FBQUE7O0FBUkE7O0VBQUE7SUFBQSxpQkFRQTtJQVJBO0VBUUE7QUFBQTs7QUFHSixzQkFBc0I7O0FBRWxCO0VBQUEsOEJBT0E7RUFQQSxvQkFPQTtFQVBBLGFBT0E7RUFQQSxrQkFPQTtFQVBBLG1CQU9BO0VBUEEsaUJBT0E7RUFQQTtBQU9BOztBQVBBOztFQUFBO0lBQUEsOEJBT0E7SUFQQTtFQU9BO0FBQUE7O0FBUEE7O0VBQUE7SUFBQSxpQkFPQTtJQVBBO0VBT0E7QUFBQTs7QUFHQTs7RUFBQTtJQUFBLDRCQUVBO0lBRkE7RUFFQTtBQUFBOztBQUdBO0VBQUE7QUFHQTs7QUFIQTs7RUFBQTtJQUFBLDRCQUdBO0lBSEE7RUFHQTtBQUFBOztBQUdBO0VBQUEsOEJBT0E7RUFQQSxvQkFPQTtFQVBBLGFBT0E7RUFQQSxrQkFPQTtFQVBBLG1CQU9BO0VBUEEsaUJBT0E7RUFQQTtBQU9BOztBQVBBOztFQUFBO0lBQUEsOEJBT0E7SUFQQTtFQU9BO0FBQUE7O0FBUEE7O0VBQUE7SUFBQSxpQkFPQTtJQVBBO0VBT0E7QUFBQTs7QUFHSiwrQ0FBK0M7O0FBRTNDO0VBQUEsMkJBSUE7RUFKQTtBQUlBOztBQUpBO0VBQUE7QUFJQTs7QUFHSixxREFBcUQ7O0FBRXJEOzs7OztLQUtDOztBQUVELHFCQUFxQjs7QUFFakI7RUFBQTtBQUlBOztBQUpBO0VBQUE7QUFJQTs7QUFKQTtFQUFBO0FBSUE7O0FBR0oscUJBQXFCOztBQUVqQjtFQUFBO0FBRUE7O0FBSUosdUJBQXVCOztBQUVuQjtFQUFBLFdBSUE7RUFKQSxlQUlBO0VBSkEsaUJBSUE7RUFKQTtBQUlBOztBQUdKLHNCQUFzQjs7QUFFbEI7RUFBQSxZQUdBO0VBSEE7QUFHQTs7QUFHSiwwQkFBMEI7O0FBRXRCO0VBQUEscUVBUUE7RUFSQSxtQkFRQTtFQVJBLHNCQVFBO0VBUkE7QUFRQTs7QUFJQTtFQUFBLGtCQUlBO0VBSkEsZ0JBSUE7RUFKQSx1QkFJQTtFQUpBLG1CQUlBO0VBSkEsa0JBSUE7RUFKQTtBQUlBOztBQUpBOztFQUFBO0lBQUEsbUJBSUE7SUFKQTtFQUlBO0FBQUE7O0FBR0osdUJBQXVCOztBQUVuQjtFQUFBLFdBTUE7RUFOQSxlQU1BO0VBTkEsbUJBTUE7RUFOQSxpQkFNQTtFQU5BLGtCQU1BO0VBTkE7QUFNQTs7QUFHSixtREFBbUQ7O0FBRy9DO0VBQUE7QUFJQTs7QUFHSjs7Ozs7O0tBTUM7O0FBR0c7RUFBQTtBQUlBOztBQUpBO0VBQUEsa0JBSUE7RUFKQTtBQUlBOztBQUpBO0VBQUEsa0JBSUE7RUFKQTtBQUlBOztBQUlBO0VBQUEsa0JBT0E7RUFQQSxxQkFPQTtFQVBBLG1CQU9BO0VBUEEsb0JBT0E7RUFQQSxxQkFPQTtFQVBBO0FBT0E7O0FBUEE7O0VBQUE7SUFBQTtFQU9BO0FBQUE7O0FBR0osb0RBQW9EOztBQUVoRDtFQUFBLG1CQUlBO0VBSkE7QUFJQTs7QUFKQTs7RUFBQTtJQUFBO0VBSUE7QUFBQTs7QUFHSjs7Ozs7Ozs7Ozs7O0tBWUM7O0FDN09ELGtEQUFrRDs7QUFHOUM7RUFBQSxrQkFHQTtFQUhBLG1CQUdBO0VBSEEsaUJBR0E7RUFIQTtBQUdBOztBQUlBO0VBQUEsYUFHQTtFQUhBO0FBR0E7O0FBSUE7RUFBQSxhQUdBO0VBSEE7QUFHQTs7QUFHSjs7O0tBR0M7O0FBRUc7RUFBQSxhQUlBO0VBSkE7QUFJQTs7QUFKQTs7RUFBQTtJQUFBO0VBSUE7QUFBQTs7QUFHSjs7O0tBR0M7O0FBRUc7RUFBQSxhQUdBO0VBSEE7QUFHQTs7QUFJQTtFQUFBO0FBVUE7O0FBVkE7RUFBQSxrQkFVQTtFQVZBO0FBVUE7O0FBVkE7O0VBQUE7SUFBQTtFQVVBOztFQVZBO0lBQUE7RUFVQTtBQUFBOztBQUlBO0VBQUE7QUFHQTs7QUFIQTs7RUFBQTtJQUFBO0VBR0E7QUFBQTs7QUFJQTtFQUFBO0FBR0E7O0FBSEE7O0VBQUE7SUFBQTtFQUdBO0FBQUE7O0FBR0osNENBQTRDOztBQUV4QztFQUFBLDRCQVFBO0VBUkEsb0JBUUE7RUFSQSx1QkFRQTtFQVJBLGFBUUE7RUFSQSxrQkFRQTtFQVJBLG1CQVFBO0VBUkEsbUJBUUE7RUFSQSxzQkFRQTtFQVJBO0FBUUE7O0FBUkE7O0VBQUE7SUFBQTtFQVFBO0FBQUE7O0FBUkE7O0VBQUE7SUFBQSxpQkFRQTtJQVJBO0VBUUE7QUFBQTs7QUFHSixtREFBbUQ7O0FBRS9DO1FBQUE7WUFBQSxhQVNBO1lBVEEscUJBU0E7UUFBQTtJQUFBOztBQVRBO0lBQUE7UUFBQSxVQVNBLEVBVEEsdUJBU0E7SUFBQTtJQUFBOztBQVRBO0VBQUEsNEJBU0E7RUFUQSxvQkFTQTtFQVRBLHVCQVNBO0VBVEEsYUFTQTtFQVRBLGlCQVNBO0VBVEEsb0JBU0E7RUFUQTtBQVNBOztBQVRBOztFQUFBO0lBQUEsa0JBU0E7SUFUQSxtQkFTQTtJQVRBO0VBU0E7QUFBQTs7QUFJQTtFQUFBLDRCQU9BO0VBUEEsb0JBT0E7RUFQQSx1QkFPQTtFQVBBLGFBT0E7RUFQQSxpQkFPQTtFQVBBLGtCQU9BO0VBUEEsbUJBT0E7RUFQQSxzQkFPQTtFQVBBO0FBT0E7O0FBUEE7O0VBQUE7SUFBQTtFQU9BO0FBQUE7O0FBSUE7RUFBQSw0QkFRQTtFQVJBLG9CQVFBO0VBUkEsYUFRQTtFQVJBLGdCQVFBO0VBUkEsa0JBUUE7RUFSQSxtQkFRQTtFQVJBLG1CQVFBO0VBUkE7QUFRQTs7QUFSQTs7RUFBQTtJQUFBO0VBUUE7QUFBQTs7QUFSQTs7RUFBQTtJQUFBLGlCQVFBO0lBUkE7RUFRQTtBQUFBOztBQUlBO0VBQUEsNEJBT0E7RUFQQSxvQkFPQTtFQVBBLGFBT0E7RUFQQSxnQkFPQTtFQVBBLGlCQU9BO0VBUEEsa0JBT0E7RUFQQSxtQkFPQTtFQVBBO0FBT0E7O0FBUEE7O0VBQUE7SUFBQSxvQkFPQTtJQVBBLGtCQU9BO0lBUEE7RUFPQTtBQUFBOztBQUlBO0VBQUEsNEJBT0E7RUFQQSxvQkFPQTtFQVBBLGFBT0E7RUFQQSxnQkFPQTtFQVBBLGlCQU9BO0VBUEEsa0JBT0E7RUFQQSxtQkFPQTtFQVBBO0FBT0E7O0FBUEE7O0VBQUE7SUFBQTtFQU9BO0FBQUE7O0FBR0osMkJBQTJCOztBQUV2QjtFQUFBLDJCQUlBO0VBSkE7QUFJQTs7QUFKQTtFQUFBO0FBSUE7O0FDekpBO0VBQUEsYUFXQTtFQVhBLGVBV0E7RUFYQSxtQkFXQTtFQVhBLHVCQVdBO0VBWEEsZ0JBV0E7RUFYQSx1QkFXQTtPQVhBLGtCQVdBO0VBWEEsMERBV0E7RUFYQSxtQkFXQTtFQVhBLHNCQVdBO0VBWEEsb0JBV0E7RUFYQSxxQkFXQTtFQVhBLG1CQVdBO0VBWEE7QUFXQTs7QUFYQTs7RUFBQTtJQUFBLGVBV0E7SUFYQTtFQVdBO0FBQUE7O0FBSUE7RUFBQTtBQUVBOztBQUlBO0VBQUE7QUFFQTs7QUN2QkE7RUFBQTtBQUlBOztBQUpBO0VBQUE7QUFJQTs7QUFKQTtFQUFBO0FBSUE7O0FBSUE7RUFBQSxtQkFNQTtFQU5BLHlDQU1BO0VBTkEscUJBTUE7RUFOQSxzQkFNQTtFQU5BLHNCQU1BO0VBTkE7QUFNQTs7QUFJQTtFQUFBLDBDQUtBO0VBTEEsZ0JBS0E7RUFMQSx5QkFLQTtFQUxBLG9CQUtBO0VBTEE7QUFLQTs7QUFNQTs7RUFBQTtBQUVBOztBQU1BOztFQUFBO0FBRUE7O0FBR0E7RUFBQSxxQkFLQTtFQUxBLHNCQUtBO0VBTEEsc0JBS0E7RUFMQTtBQUtBOztBQUlBO0VBQUEsa0JBR0E7RUFIQSxrQkFHQTtFQUhBO0FBR0E7O0FBSEE7O0VBQUE7SUFBQSxtQkFHQTtJQUhBO0VBR0E7QUFBQTs7QUFJQTtRQUFBLFVBRUEsRUFGQSx1QkFFQTtJQUFBOztBQUlBO1FBQUEsVUFHQSxFQUhBLHVCQUdBO0lBQUE7O0FBSUE7RUFBQTtBQUVBOztBQUlBO0VBQUE7QUFFQTs7QUFHSix1QkFBdUI7O0FBRW5CO0VBQUE7QUFLQTs7QUFHSixnQkFBZ0I7O0FBQ2hCO1FBQ0ksZ0JBQWdCO1FBQ2hCLG1CQUVBO0lBQ0o7O0FBRUEsaUJBQWlCOztBQUNqQjtRQUNJLGdCQUFnQjtRQUNoQixtQkFFQTtJQUNKOztBQUVBLHNCQUFzQjs7QUFFbEI7RUFBQTtBQUlBOztBQUpBO0VBQUEsa0JBSUE7RUFKQSwyR0FJQTtFQUpBLHlHQUlBO0VBSkE7QUFJQTs7QUNqSEE7RUFBQTtBQUVBOztBQUlBO0VBQUE7QUFFQTs7QUFJQTtFQUFBO0FBSUE7O0FBSkE7RUFBQTtBQUlBOztBQUpBO0VBQUE7QUFJQTs7QUFHSjs7Ozs7OztLQU9DOztBQUdHO0VBQUEsbUJBTUE7RUFOQSx5Q0FNQTtFQU5BLHFCQU1BO0VBTkEsc0JBTUE7RUFOQSxzQkFNQTtFQU5BO0FBTUE7O0FBSUE7RUFBQSxvQkFLQTtFQUxBLHFCQUtBO0VBTEEsc0JBS0E7RUFMQTtBQUtBOztBQUlBO0VBQUEsa0JBR0E7RUFIQSxrQkFHQTtFQUhBO0FBR0E7O0FBSEE7O0VBQUE7SUFBQSxtQkFHQTtJQUhBO0VBR0E7QUFBQTs7QUFJQTtRQUFBLFVBRUEsRUFGQSx1QkFFQTtJQUFBOztBQUlBO1FBQUEsVUFHQSxFQUhBLHVCQUdBO0lBQUE7O0FBSUE7RUFBQTtBQUVBOztBQUlBO0VBQUE7QUFFQTs7QUFHSix1QkFBdUI7O0FBRW5CO0VBQUE7QUFLQTs7QUFJQTtFQUFBLG1CQU9BO0VBUEEsb0JBT0E7RUFQQSxhQU9BO0VBUEEsZUFPQTtFQVBBLHVCQU9BO09BUEEsa0JBT0E7RUFQQTtBQU9BOztBQUtBO0VBQUEsY0FTQTtFQVRBLDRCQVNBO0VBVEEsdUJBU0E7RUFUQSw0QkFTQTtFQVRBLGdCQVNBO0VBVEEsaUJBU0E7RUFUQSxpQkFTQTtFQVRBLGdCQVNBO0VBVEEsc0hBU0E7RUFUQSxvSEFTQTtFQVRBO0FBU0E7O0FBVEE7RUFBQSxvQkFTQTtFQVRBO0FBU0E7O0FBS0E7RUFBQSwrQkFFQTtFQUZBO0FBRUE7O0FBS0E7RUFBQSxtQkFHQTtFQUhBLG9CQUdBO0VBSEEsK0JBR0E7RUFIQTtBQUdBOztBQUtBO0VBQUEsaUJBS0E7RUFMQSxpQkFLQTtFQUxBLGlCQUtBO0VBTEE7QUFLQTs7QUFLQTtFQUFBLCtCQUdBO0VBSEE7QUFHQTs7QUNoSkE7RUFBQTtBQUVBOztBQUlBO0VBQUEsV0FHQTtFQUhBLGdCQUdBO0VBSEE7QUFHQTs7QUFHSix3QkFBd0I7O0FBQ3hCO1FBQ0ksMkRBQTJEO1FBQzNELGdCQUdBO1FBSEEsZUFHQTtJQUNKOztBQUNBO1FBQ0ksNkRBQTZEO1FBQzdELGdCQUdBO1FBSEEsZUFHQTtJQUNKOztBQUVBLGFBQWE7O0FBRVQ7RUFBQSxtQkFHQTtFQUhBLHNCQUdBO0VBSEEsb0JBR0E7RUFIQTtBQUdBOztBQUdBO0VBQUE7QUFFQTs7QUFHSiw0QkFBNEI7O0FBRXhCO0VBQUEscUJBS0E7RUFMQSxpQkFLQTtFQUxBLHNCQUtBO0VBTEEseURBS0E7RUFMQSwwQ0FLQTtFQUxBLHVEQUtBO0VBTEE7QUFLQTs7QUFHSixpRUFBaUU7O0FBQ2pFLHFFQUFxRTs7QUFFakU7RUFBQSxxQkFJQTtFQUpBLGlCQUlBO0VBSkEsc0JBSUE7RUFKQSx5REFJQTtFQUpBLDBDQUlBO0VBSkEsdURBSUE7RUFKQSx1R0FJQTtFQUpBLGtCQUlBO0VBSkEsbUJBSUE7RUFKQSxpQkFJQTtFQUpBO0FBSUE7O0FBR0osK0JBQStCOztBQUMvQjs7OztLQUlDOztBQUVHO0VBQUEscUJBSUE7RUFKQSxpQkFJQTtFQUpBLHNCQUlBO0VBSkEseURBSUE7RUFKQSwwQ0FJQTtFQUpBLHVEQUlBO0VBSkEsdUdBSUE7RUFKQSx5Q0FJQTtFQUpBLDBDQUlBO0VBSkEsd0NBSUE7RUFKQTtBQUlBOztBQUdBO0VBQUEscUJBT0E7RUFQQSxpQkFPQTtFQVBBLHNCQU9BO0VBUEEseURBT0E7RUFQQSwwQ0FPQTtFQVBBLHVEQU9BO0VBUEEsdUdBT0E7RUFQQSx5Q0FPQTtFQVBBLDBDQU9BO0VBUEEsd0NBT0E7RUFQQTtBQU9BOztBQVBBOztFQUFBO0lBQUEsZ0JBT0E7SUFQQSxpQkFPQTtJQVBBLHlDQU9BO0lBUEE7RUFPQTtBQUFBOztBQUdBO0VBQUEscUJBT0E7RUFQQSxpQkFPQTtFQVBBLHNCQU9BO0VBUEEseURBT0E7RUFQQSwwQ0FPQTtFQVBBLHVEQU9BO0VBUEEsdUdBT0E7RUFQQSx5Q0FPQTtFQVBBLDBDQU9BO0VBUEEsd0NBT0E7RUFQQTtBQU9BOztBQVBBOztFQUFBO0lBQUEsZ0JBT0E7SUFQQSxpQkFPQTtJQVBBLG1EQU9BO0lBUEE7RUFPQTtBQUFBOztBQUdBO0VBQUEscUJBT0E7RUFQQSxpQkFPQTtFQVBBLHNCQU9BO0VBUEEseURBT0E7RUFQQSwwQ0FPQTtFQVBBLHVEQU9BO0VBUEEsdUdBT0E7RUFQQSx5Q0FPQTtFQVBBLDBDQU9BO0VBUEEsd0NBT0E7RUFQQTtBQU9BOztBQVBBOztFQUFBO0lBQUEsZ0JBT0E7SUFQQSxpQkFPQTtJQVBBLG1EQU9BO0lBUEE7RUFPQTtBQUFBOztBQUdKLHVEQUF1RDs7QUFFbkQ7RUFBQSxhQUlBO0VBSkEsbUJBSUE7RUFKQTtBQUlBOztBQUdBO0VBQUE7QUFFQTs7QUFHSixrREFBa0Q7O0FBRTlDO0VBQUEsdUJBSUE7RUFKQSxpQkFJQTtFQUpBO0FBSUE7O0FBR0osNEJBQTRCOztBQUM1QixzQ0FBc0M7O0FBQ3RDLGdFQUFnRTs7QUFJNUQ7O0VBQUEsZ0JBUUE7RUFSQTtBQVFBOztBQVJBOztFQUFBO0FBUUE7O0FBUkE7O0VBQUEsZ0JBUUE7RUFSQSxvQkFRQTtFQVJBO0FBUUE7O0FBUkE7O0VBQUEsZ0JBUUE7RUFSQSxvQkFRQTtFQVJBO0FBUUE7O0FBTUE7O0VBQUEsZ0JBS0E7RUFMQTtBQUtBOztBQUxBOztFQUFBO0FBS0E7O0FBTEE7O0VBQUEsb0JBS0E7RUFMQTtBQUtBOztBQzFKSjs7UUFFSSxjQUFjOztRQUVkOzs7Ozs7Ozs7U0FTQzs7UUFFRDs7WUFFSSxzQ0FBMEI7O2lCQUExQiwwQkFBMEIsRUFBRSxvQ0FBb0M7WUFDaEUsMEJBQTBCLEVBQUUsV0FBVzs7UUFFM0M7O1FBRUE7O1lBRUksZ0RBQW9DOztpQkFBcEMsb0NBQW9DO1lBQ3BDLG9DQUFvQzs7UUFFeEM7O1FBRUE7O1lBRUkscUNBQXlCOztpQkFBekIseUJBQXlCO1lBQ3pCLHlCQUF5Qjs7UUFFN0I7O1FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7U0FnQkM7O1FBRUQ7Ozs7Ozs7U0FPQzs7SUFFTDs7QUM5REEsK0JBQStCOztBQUMvQjtRQUNJLGtCQUFrQjtRQUNsQixxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLGtCQUFrQjtRQUNsQixXQU1BO1FBTkEsa0JBTUE7UUFOQSxpQkFNQTtRQU5BLGdCQU1BO0lBQ0o7O0FBUEk7O0VBQUE7SUFBQSxtQkFNQTtJQU5BO0VBTUE7QUFBQTs7QUFOQTs7RUFBQTtJQUFBO0VBTUE7QUFBQTs7QUFJQTtFQUFBO0FBR0E7O0FBSEE7RUFBQSxpQkFHQTtFQUhBO0FBR0E7O0FBSUE7RUFBQTtBQUVBOztBQUdKLHNCQUFzQjs7QUFFbEI7RUFBQTtBQUlBOztBQUpBO0VBQUEsa0JBSUE7RUFKQSwyR0FJQTtFQUpBLHlHQUlBO0VBSkE7QUFJQTs7QUFHSjs7UUFFSSxnQkFBZ0I7SUFDcEI7O0FBRUE7OztRQUdJLGtCQUFrQjtJQUN0Qjs7QUFFQTs7UUFFSSxpQkFBaUI7SUFDckI7O0FBRUE7O1FBRUksbUJBQW1CO0lBQ3ZCOztBQUVBOztRQUVJLG1CQUFtQjtJQUN2Qjs7QUFFQTs7OztRQUlJLGdCQUFnQjtJQUNwQjs7QUFFQTs7OztRQUlJLGtCQUFrQjtJQUN0Qjs7QUFFQTs7OztRQUlJLGlCQUFpQjtJQUNyQjs7QUFFQTs7OztRQUlJLG1CQUFtQjtJQUN2Qjs7QUFFQTs7OztRQUlJLG1CQUFtQjtJQUN2Qjs7QUFFQTs7UUFFSSxnQkFBZ0I7SUFDcEI7O0FBRUE7O1FBRUksa0JBQWtCO0lBQ3RCOztBQUVBOztRQUVJLGlCQUFpQjtJQUNyQjs7QUFFQTs7UUFFSSxtQkFBbUI7SUFDdkI7O0FBRUE7O1FBRUksbUJBQW1CO0lBQ3ZCOztBQUVBO1FBQ0ksa0JBQWtCO1FBQ2xCLG1CQUFtQjtJQUN2Qjs7QUFFQTtRQUNJLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLDhCQUE4QjtRQUM5Qix1QkFBdUI7UUFDdkIsb0NBQW9DO1FBQ3BDLHFCQUFxQjtRQUNyQixnQ0FBZ0M7UUFDaEMsNkJBQTZCO1FBQzdCLHdCQUF3QjtRQUN4Qiw4QkFBOEI7UUFDOUIsbURBQW1EO1FBQ25ELHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIseUJBQXlCO0lBQzdCOztBQUVBO1FBQ0kscUJBQXFCO1FBQ3JCLHlCQUF5QjtJQUM3Qjs7QUFFQSxzQkFBc0I7O0FBQ3RCOztRQUVJLGlCQUFpQjtJQUNyQjs7QUFFQTs7UUFFSSx3QkFBd0I7UUFDeEIsNkJBQTZCO1FBQzdCLHNDQUVBO0lBQ0o7O0FBRUE7O1FBRUksYUFBYTtJQUNqQjs7QUFFQTs7UUFFSSw4QkFBOEI7UUFDOUIsMEJBQTBCO1FBQzFCLHNDQUVBO0lBQ0o7O0FBRUE7Ozs7O1FBS0ksNEJBQTRCO1NBQzVCLHdCQUF5QjtRQUN6Qiw4QkFBOEI7UUFDOUIsaUNBQWlDO0lBQ3JDOztBQUVBO1FBQ0ksMkRBQTJEO0lBQy9EOztBQUVBLHlEQUF5RDs7QUFDekQ7Ozs7Ozs7S0FPQzs7QUFDRDtRQUNJLHFFQUFxRTtJQUN6RTs7QUFFQSwwREFBMEQ7O0FBQzFEO1FBQ0ksc0VBQXNFO0lBQzFFOztBQUVBO1FBQ0ksbUVBQW1FO0lBQ3ZFOztBQUVBO1FBQ0ksb0VBQW9FO0lBQ3hFOztBQUVBLFNBQVM7O0FBQ1Q7UUFDSSx5QkFBeUI7SUFDN0I7O0FBRUE7UUFDSSx5QkFBeUI7SUFDN0I7O0FBRUE7O1FBRUksaUJBQWlCO0lBQ3JCOztBQUVBLHdEQUF3RDs7QUFRcEQ7Ozs7OztFQUFBLDRCQUVBO0VBRkE7QUFFQTs7QUFHSjs7OztRQUlJLDBCQUEwQjtJQUM5Qjs7QUFFQTs7OztRQUlJLGdCQUFnQjtJQUNwQjs7QUFFQTs7UUFFSSw0QkFBNEI7UUFDNUIsNEJBQTRCO0lBQ2hDOztBQUVBOztRQUVJLDJCQUEyQjtJQUMvQjs7QUFFQTs7UUFFSSxnQkFBZ0I7SUFDcEI7O0FBRUE7O1FBRUkseUJBQXlCO0lBQzdCOztBQUVBOztRQUVJLHlCQUF5QjtJQUM3Qjs7QUFFQTs7UUFFSSx5QkFBeUI7SUFDN0I7O0FBRUE7O1FBRUkseUJBQXlCO0lBQzdCOztBQUVBOzs7Ozs7UUFNSSx5QkFBeUI7SUFDN0I7O0FBRUE7Ozs7OztRQU1JLHlCQUF5QjtJQUM3Qjs7QUFFQSxxQ0FBcUM7O0FBQ3JDOztRQUVJLDZCQUE2QjtRQUM3Qix5QkFBeUI7SUFDN0I7O0FBRUE7O1FBRUkseUJBQXlCO0lBQzdCOztBQUVBOztRQUVJLDRCQUE0QjtJQUNoQzs7QUFFQTs7UUFFSSx5QkFBeUI7SUFDN0I7O0FBRUE7O1FBRUkseUJBQXlCO0lBQzdCOztBQUVBOztRQUVJLHlCQUF5QjtJQUM3Qjs7QUFFQSxtQ0FBbUM7O0FBQ25DOztRQUVJLDZCQUE2QjtRQUM3Qix5QkFBeUI7SUFDN0I7O0FBRUE7O1FBRUkseUJBQXlCO0lBQzdCOztBQUVBOztRQUVJLHlCQUF5QjtJQUM3Qjs7QUFFQTs7UUFFSSx5QkFBeUI7SUFDN0I7O0FBRUE7O1FBRUkseUJBQXlCO0lBQzdCOztBQUVBOztRQUVJLHlCQUF5QjtJQUM3Qjs7QUFFQTs7UUFFSSx5QkFBeUI7SUFDN0I7O0FBRUE7O1FBRUkseUJBQXlCO0lBQzdCOztBQUVBOztRQUVJLHlCQUF5QjtJQUM3Qjs7QUFFQTs7UUFFSSx5QkFBeUI7SUFDN0I7O0FBRUE7O1FBRUkseUJBQXlCO0lBQzdCOztBQUVBOztRQUVJLHlCQUF5QjtJQUM3Qjs7QUFFQTtRQUNJLDZCQUE2QjtJQUNqQzs7QUFFQTs7UUFFSSxtQkFBbUI7SUFDdkI7O0FBRUE7O1FBRUksaUJBQWlCO0lBQ3JCOztBQUVBOztRQUVJLFlBQVk7SUFDaEI7O0FBRUE7O1FBRUksWUFBWTtJQUNoQjs7QUFFQTs7UUFFSSx1QkFBdUI7SUFDM0I7O0FBRUEsNkJBQTZCOztBQUM3QjtRQUNJLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsZUFzQkE7UUF0QkEsMkNBc0JBO1FBdEJBLDREQXNCQTtRQXRCQSxrQkFzQkE7UUF0QkEsaUJBc0JBO0lBQ0o7O0FBdkJJOztFQUFBO0lBQUEseUNBc0JBO0lBdEJBLDBDQXNCQTtJQXRCQTtFQXNCQTtBQUFBOztBQXRCQTs7RUFBQTtJQUFBLG1CQXNCQTtJQXRCQTtFQXNCQTtBQUFBOztBQUdKLG9CQUFvQjs7QUFFaEI7RUFBQTtBQUlBOztBQUpBOztFQUFBO0lBQUE7RUFJQTtBQUFBOztBQUpBOztFQUFBO0lBQUE7RUFJQTtBQUFBOztBQUdKO1FBQ0ksZ0NBQWdDO1FBQ2hDLHlCQUF5QjtRQUN6Qix5QkFBeUI7UUFDekIsaUNBQWlDO1FBQ2pDLHFCQVVBO1FBVkEsb0JBVUE7UUFWQSxlQVVBO1FBVkEsZUFVQTtRQVZBLHVCQVVBO1FBVkEsa0JBVUE7UUFWQSx5REFVQTtRQVZBLGdCQVVBO1FBVkEsa0JBVUE7UUFWQSxpQkFVQTtJQUNKOztBQVhJOztFQUFBO0lBQUE7RUFVQTtBQUFBOztBQVZBOztFQUFBO0lBQUEsbUJBVUE7SUFWQTtFQVVBO0FBQUE7O0FBR0osZUFBZTs7QUFFWDtFQUFBLFdBS0E7RUFMQTtBQUtBOztBQUxBOztFQUFBO0lBQUEsWUFLQTtJQUxBO0VBS0E7QUFBQTs7QUFHSjtRQUNJLHlCQUF5QjtRQUN6QixpQ0FBaUM7UUFDakMsb0JBV0E7UUFYQSxnQkFXQTtRQVhBLHVCQVdBO1FBWEEsa0JBV0E7UUFYQSx5REFXQTtRQVhBLGVBV0E7UUFYQSxrQkFXQTtRQVhBLGlCQVdBO0lBQ0o7O0FBWkk7RUFBQSxrQkFXQTtFQVhBLGtCQVdBO0VBWEE7QUFXQTs7QUFYQTtFQUFBLGtCQVdBO0VBWEEsa0JBV0E7RUFYQTtBQVdBOztBQVhBO0VBQUE7QUFXQTs7QUFYQTtFQUFBO0FBV0E7O0FBWEE7O0VBQUE7SUFBQSxtQkFXQTtJQVhBO0VBV0E7O0VBWEE7SUFBQSxtQkFXQTtJQVhBO0VBV0E7O0VBWEE7SUFBQSxtQkFXQTtJQVhBO0VBV0E7QUFBQTs7QUFYQTs7RUFBQTtJQUFBO0VBV0E7QUFBQTs7QUFHSix3Q0FBd0M7O0FBQ3hDO1FBQ0k7Ozs7U0FJQztRQUNELGtCQUlBO1FBSkEsYUFJQTtRQUpBLG1CQUlBO0lBQ0o7O0FBRUEsY0FBYzs7QUFDZDtRQUNJOzs7O1NBSUM7UUFDRCxrQkFLQTtRQUxBLGFBS0E7UUFMQSx1QkFLQTthQUxBLGtCQUtBO0lBQ0o7O0FBTkk7O0VBQUE7SUFBQTtFQUtBO0FBQUE7O0FBR0osNERBQTREOztBQUV4RDtFQUFBO0FBRUE7O0FBR0o7UUFDSSwyQkFBMkI7UUFDM0IsNkJBQTZCO1FBQzdCLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsZ0NBQWdDO1FBQ2hDLHdCQUF3QjtTQUN4QixvQkFBcUI7UUFDckIsZ0NBQWdDO1FBQ2hDLHNDQUFzQztRQUN0QyxvQkFBb0I7UUFDcEIsb0JBR0E7UUFIQSxxQkFHQTtRQUhBLG1CQUdBO1FBSEEsc0JBR0E7O0lBRUo7O0FBRUEsdUNBQXVDOztBQUVuQztFQUFBLG9CQUVBO0VBRkE7QUFFQTs7QUFHSjs7UUFFSSxxQ0FBcUM7UUFDckMsdUJBQXVCO1FBQ3ZCLHVDQUF1QztRQUN2QywyQkFBMkI7UUFDM0Isb0NBQW9DO0lBQ3hDOztBQUVBOzs7UUFHSSxtQkFBbUI7UUFDbkIsMkJBQTJCO1FBQzNCLGlDQUFpQztRQUNqQyx1QkFBdUI7UUFDdkIsZ0JBQWdCO0lBQ3BCOztBQUVBO1FBQ0ksc0NBQXNDO1FBQ3RDLG9DQUFvQztRQUNwQyw2QkFBNkI7UUFDN0Isb0NBQW9DO0lBQ3hDOztBQUVBO1FBQ0ksc0JBQXNCO1FBQ3RCLHlCQUF5QjtJQUM3Qjs7QUFFQTtRQUNJLGNBQWM7SUFDbEI7O0FBRUEsa0JBQWtCOztBQUNsQjtRQUNJLDBCQUEwQjtRQUMxQixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2Qix1QkFBdUI7UUFNdkIsK0pBQStKO0lBQ25LOztBQUVBOzs7OztRQUtJLFdBQVc7SUFDZjs7QUFFQSxrQkFBa0I7O0FBQ2xCO1FBQ0ksV0FBVztRQUNYLFVBRUEsRUFGQSx1QkFFQTtJQUNKOztBQUVBLG9EQUFvRDs7QUFDcEQsa0NBQWtDOztBQUNsQztJQUNBOztBQUVBLG9EQUFvRDs7QUFDcEQsa0NBQWtDOztBQUNsQztJQUNBOztBQUVBO1NBQ0ksK0JBQWdDO1FBQ2hDLGlDQUFpQztJQUNyQzs7QUFFQTs7OztRQUlJLHNCQUFzQjtJQUMxQjs7QUFFQTs7OztRQUlJLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtJQUMxQjs7QUFFQTtRQUNJLDZCQUE2QjtJQUNqQzs7QUFFQTs7UUFFSSxtQkFBbUI7SUFDdkI7O0FBRUE7UUFDSSxrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsYUFBYTtJQUNqQjs7QUM5ckJBO1FBQ0k7WUFDSSx5QkFBeUI7UUFDN0I7SUFDSjs7QUF5QkE7UUFDSSxrQkFBa0I7SUFDdEI7O0FBRUE7UUFDSSxpQkFBaUI7UUFDakIseUNBT0E7UUFQQSwwQ0FPQTtRQVBBLGFBT0E7UUFQQSxlQU9BO1FBUEEsV0FPQTtJQUNKOztBQVJJOztFQUFBO0lBQUEsZ0JBT0E7SUFQQTtFQU9BO0FBQUE7O0FBUEE7O0VBQUE7SUFBQTtFQU9BO0FBQUE7O0FBR0o7UUFDSSxlQUFlO1FBQ2YsUUFBUTtRQUNSLFNBQVM7UUFDVCxZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLCtDQUErQztRQUMvQyxrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLFdBQVc7SUFDZjs7QUFDQTtRQUNJLGNBQWM7UUFDZCxTQUFTO1FBQ1QsbUJBQW1CO1FBQ25CLDZCQUE2QjtRQUM3Qix5QkFBeUI7SUFDN0I7O0FBQ0E7UUFDSSxZQUFZO0lBQ2hCOztBQUVBO1FBQ0ksa0JBQWtCO1FBQ2xCLFNBQVM7UUFDVCxXQUFXO1FBQ1gsV0FBVztRQUNYLFlBQVk7UUFDWix5QkFBeUI7UUFDekIseUJBQXlCO1FBQ3pCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsZUFBZTtRQUNmLFdBQVc7SUFDZjs7QUFFQTtRQUNJLHdCQUF3QjtJQUM1Qjs7QUFFQTtRQUNJLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtJQUN2Qjs7QUFFQTtRQUNJLGFBQWE7SUFDakI7O0FBRUE7UUFDSSxxQkFBcUI7UUFDckIsYUFBYTtRQUNiLG1CQUFtQjtJQUN2Qjs7QUFDQTtRQUNJLHlDQUF5QztRQUN6QyxzQkFBc0I7UUFDdEIsbUJBQW1CO0lBQ3ZCOztBQUNBO1FBQ0ksV0FBVztRQUNYLFVBQVU7UUFDVixlQUFlO0lBQ25COztBQUVBO1FBQ0ksV0FBVztRQUNYLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsZUFBZTtJQUNuQjs7QUFDQTtRQUNJLFNBQVM7UUFDVCxXQUFXO0lBQ2Y7O0FBQ0E7UUFDSSxpQkFBaUI7UUFDakIsMkNBQTJDO1FBQzNDLGVBQWU7SUFDbkI7O0FBRUE7Ozs7UUFJSSxrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0Qix3Q0FBd0M7UUFDeEMsc0JBQXNCO1FBQ3RCLGVBQWU7UUFDZixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixvQ0FBb0M7UUFDcEMseUJBQXlCO1FBQ3pCLHNCQUFzQjtRQUV0QixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLGFBQWE7UUFDYix1QkFBdUI7UUFDdkIsZUFLSjtRQUxJLHVCQUtKO1FBTEksa0JBS0o7UUFMSSxtQkFLSjtRQUxJLG1CQUtKO1FBTEksc0JBS0o7SUFDQTs7QUFDQTs7OztRQUlJLGNBQWM7SUFDbEI7O0FBQ0E7Ozs7UUFJSSxlQUFlO1FBQ2YsWUFBWTtJQUNoQjs7QUFFQSx3R0FBd0c7O0FBQ3hHLHNCQUFzQjs7QUFDdEI7Ozs7Ozs7O1FBUUksb0NBQW9DO0lBQ3hDOztBQUNBOzs7Ozs7OztRQVFJLG9DQUFvQztJQUN4Qzs7QUFDQTs7OztRQUlJLHFCQUFxQjtJQUN6Qjs7QUFDQTs7OztRQUlJLDBCQUEwQjtRQUMxQixvQ0FBb0M7SUFDeEM7O0FBQ0E7Ozs7UUFJSSx5QkFBeUI7UUFDekIsNEJBQTRCO1FBQzVCLGFBQWE7UUFDYix5QkFBeUI7SUFDN0I7O0FBQ0Esd0dBQXdHOztBQUN4RyxzQkFBc0I7O0FBQ3RCOzs7O1FBSUk7Ozs7Ozs7U0FPQztRQUNELGFBRUE7SUFDSjs7QUFFQTtRQUNJLGFBQWE7SUFDakI7O0FBRUE7UUFDSSxXQUFXO0lBQ2Y7O0FBQ0E7UUFDSSxZQUFZO0lBQ2hCOztBQUVBO1FBQ0ksV0FBVztJQUNmOztBQUNBO1FBQ0ksV0FBVztJQUNmOztBQUVBO1FBQ0kscUJBQXFCO0lBQ3pCOztBQUVBO1FBQ0ksa0JBQWtCO1FBQ2xCLE1BQU07UUFDTixPQUFPO1FBQ1AsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0QixvQ0FBb0M7UUFDcEMsdUJBQXVCO1FBQ3ZCLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLCtDQUErQztRQUMvQyxzQkFBc0I7SUFDMUI7O0FBQ0E7OztRQUdJLGtCQUFrQjtRQUNsQixPQUFPO1FBQ1AsUUFBUTtRQUNSLFdBQVc7UUFDWCxjQUFjO1FBQ2QsV0FBVztRQUNYLG1CQUFtQjtJQUN2Qjs7QUFDQSx3R0FBd0c7O0FBQ3hHLDRCQUE0Qjs7QUFPeEI7Ozs7OztFQUFBO0FBRUE7O0FBRUosa0NBQWtDOztBQU85Qjs7Ozs7O0VBQUE7QUFFQTs7QUFFSiw4QkFBOEI7O0FBRzFCO0VBQUEsd0NBR0E7RUFIQTtBQUdBOztBQUdKLDRCQUE0Qjs7QUFDNUI7O1FBRUksZ0NBQWdDLEVBQUUsZ0NBQWdDO0lBQ3RFOztBQUNBLG9DQUFvQzs7QUFFaEM7RUFBQTtBQUVBOztBQUdKLHdHQUF3Rzs7QUFDeEc7OztRQUdJLGFBQWE7UUFDYiwyQkFBMkI7UUFDM0IsNEJBQTRCO0lBQ2hDOztBQUNBOzs7UUFHSSw4QkFBOEI7UUFDOUIsK0JBQStCO0lBQ25DOztBQUNBO1FBQ0ksYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsMkJBQTJCO1FBQzNCLHlCQUF5QjtRQUN6QixvQkFBb0I7UUFDcEIsbUJBQW1CO0lBQ3ZCOztBQUNBO1FBQ0ksU0FBUztRQUNULHFCQUFxQjtRQUNyQixRQUFRO1FBQ1IsWUFBWTtRQUNaLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsZ0JBQWdCO0lBQ3BCOztBQUNBO1FBQ0ksZUFBZTtRQUNmLFlBQVk7UUFDWixjQUFjO1FBQ2QsYUFBYTtJQUNqQjs7QUFDQTtRQUNJLGFBQWE7SUFDakI7O0FBQ0E7UUFDSSwyQkFBMkI7SUFDL0I7O0FBQ0E7UUFDSSw0QkFBNEI7SUFDaEM7O0FBQ0E7UUFDSSw4QkFBOEI7SUFDbEM7O0FBQ0E7UUFDSSwrQkFBK0I7SUFDbkM7O0FBQ0Esd0dBQXdHOztBQUN4Rzs7UUFFSSx5QkFBeUI7SUFDN0I7O0FBQ0Esd0dBQXdHOztBQUN4Rzs7UUFFSSxnQkFBZ0I7SUFDcEI7O0FBQ0E7UUFDSSxhQUFhO1FBQ2IseUJBQXlCO1FBQ3pCLDBCQUEwQjtJQUM5Qjs7QUFDQTtRQUNJLDRCQUE0QjtRQUM1Qiw2QkFBNkI7SUFDakM7O0FBQ0E7UUFDSSxlQUFlO1FBQ2YsY0FBYztRQUNkLFFBQVE7UUFDUixTQUFTO1FBQ1Qsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQix1QkFBdUI7SUFDM0I7O0FBQ0E7UUFDSSxtQkFBbUI7SUFDdkI7O0FBQ0E7UUFDSSxtQkFBbUI7SUFDdkI7O0FBQ0E7UUFDSSxtQkFBbUI7SUFDdkI7O0FBQ0E7UUFDSSxtQkFBbUI7SUFDdkI7O0FBQ0E7UUFDSTtZQUNJLG1CQUFtQjtRQUN2QjtJQUNKOztBQUNBO1FBQ0k7WUFDSSxtQkFBbUI7UUFDdkI7SUFDSjs7QUFDQTtRQUNJO1lBQ0ksbUJBQW1CO1FBQ3ZCO0lBQ0o7O0FBQ0E7UUFDSSxpQkFBaUI7UUFDakIsY0FBYztJQUNsQjs7QUFDQTs7O1FBR0kseUJBQXlCO1FBRXpCLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLGVBQWU7SUFDbkI7O0FBQ0E7OztRQUlJLCtCQUFtQjthQUFuQixtQkFBbUI7SUFDdkI7O0FBQ0E7UUFDSSxZQUFZO0lBQ2hCOztBQUNBO1FBQ0ksbUJBQW1CO1FBQ25CLG9CQUFlO2FBQWYsZUFBZTtJQUNuQjs7QUFDQTtRQUNJLFlBQVk7SUFDaEI7O0FBQ0E7UUFDSSxtQkFBbUI7UUFDbkIsb0JBQWU7YUFBZixlQUFlO0lBQ25COztBQUNBO1FBQ0ksWUFBWTtJQUNoQjs7QUFDQTtRQUNJLG1CQUFtQjtRQUNuQixvQkFBZTthQUFmLGVBQWU7SUFDbkI7O0FBQ0E7UUFDSSxnQkFBZ0I7SUFDcEI7O0FBQ0E7UUFDSSxXQUFXO0lBQ2Y7O0FBQ0E7UUFDSSxhQUFhO1FBQ2IsZUFBZTtRQUNmLDJCQUEyQjtRQUMzQixtQkFBbUI7UUFDbkIsUUFBUTtRQUNSLFlBQVk7UUFDWixtQkFBbUI7SUFDdkI7O0FBQ0E7UUFDSSxnQkFBZ0I7UUFDaEIsU0FBUztRQUNULFNBQVM7SUFDYjs7QUFDQTs7O1FBR0ksOEJBQThCO0lBQ2xDOztBQUNBO1FBQ0ksYUFBYTtJQUNqQjs7QUFDQTtRQUNJLGFBQWE7SUFDakI7O0FBQ0E7UUFDSSxjQUFjO0lBQ2xCOztBQUNBO1FBQ0k7WUFDSSxZQUFZO1FBQ2hCO0lBQ0o7O0FBQ0E7UUFDSTtZQUNJLFlBQVk7UUFDaEI7UUFDQTtZQUNJLGFBQWE7UUFDakI7SUFDSjs7QUFDQTtRQUNJO1lBQ0ksWUFBWTtRQUNoQjtJQUNKOztBQUVBO1FBQ0ksZUFBZTtRQUNmLE1BQU07UUFDTixPQUFPO1FBQ1AsV0FBVztRQUNYLFlBQVk7UUFDWiw4QkFBOEI7UUFDOUIsYUFBYTtJQUNqQjs7QUFFQTtRQUNJO1lBQ0ksc0JBQXNCO1lBQ3RCLGtCQUFrQjtRQUN0QjtJQUNKOztBQUNBOzs7UUFHSSx5QkFBeUI7SUFDN0I7O0FBQ0E7OztRQUdJLGtCQUFrQjtRQUNsQixRQUFRO1FBQ1IsU0FBUztRQUNULFdBQVc7UUFDWCxZQUFZO1FBQ1oscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0QixjQUFjO1FBQ2QsWUFBWTtRQUNaLHlCQUF5QjtRQUN6QixrQkFBa0I7UUFDbEIsOEJBQThCO1FBQzlCLCtCQUErQjtRQUMvQiw2Q0FBNkM7UUFDN0MsZ0RBQWdEO1FBQ2hELGlEQUFpRDtRQUNqRCxxREFBcUQ7UUFDckQsa0RBQWtEO0lBQ3REOztBQUVBO1FBQ0ksaUNBQWlDO1FBQ2pDLGlDQUFpQztRQUNqQyw4QkFBOEI7UUFDOUIsNEJBQTRCO1FBQzVCLGlCQUFpQjtJQUNyQjs7QUFDQTtRQUNJLGtCQUFrQjtRQUNsQixTQUFTO1FBQ1QsVUFBVTtRQUNWLGNBQWM7SUFDbEI7O0FBQ0E7UUFDSSxVQUFVO0lBQ2Q7O0FBRUE7UUFDSSwyQ0FBMkM7UUFDM0MsOEJBQThCO0lBQ2xDOztBQUVBO1FBQ0ksdUJBQXVCO0lBQzNCOztBQUNBO1FBQ0ksdUJBQXVCO0lBQzNCOztBQzNsQkE7UUFDSSw2QkFBNkI7SUFDakM7O0FBRUE7UUFDSSx5QkFBeUI7SUFDN0I7O0FBRUE7UUFDSSx5QkFBeUI7SUFDN0I7O0FBRUE7UUFDSSx5QkFBeUI7SUFDN0I7O0FBRUEsdUVBQXVFOztBQUN2RTs7Ozs7OztLQU9DOztBQUVEOztRQUVJLHFDQUFxQztRQUNyQyx3Q0FBd0M7SUFDNUM7O0FBQ0E7UUFDSSxzQ0FBc0M7SUFDMUM7O0FBQ0E7UUFDSSx1Q0FBdUM7SUFDM0M7O0FDckNBLFVBQVU7O0FBRVYsaUJBQWlCOztBQUViO0VBQUEsZUFPQTtFQVBBLHlCQU9BO0VBUEEsNkNBT0E7RUFQQSxrQkFPQTtFQVBBO0FBT0E7O0FBUEE7O0VBQUE7SUFBQSxtQkFPQTtJQVBBO0VBT0E7QUFBQTs7QUFQQTs7RUFBQTtJQUFBLGVBT0E7SUFQQTtFQU9BO0FBQUE7O0FBUEE7O0VBQUE7SUFBQSxrQkFPQTtJQVBBO0VBT0E7QUFBQTs7QUFJSixvQ0FBb0M7O0FBR2hDO0VBQUEsZ0JBWUE7RUFaQSx1RkFZQTtFQVpBLFlBWUE7RUFaQSxrQkFZQTtFQVpBLGtCQVlBO0VBWkEsd0JBWUE7RUFaQTtBQVlBOztBQVpBOztFQUFBO0lBQUEsZ0JBWUE7SUFaQSxnQkFZQTtJQVpBO0VBWUE7QUFBQTs7QUFaQTs7RUFBQTtJQUFBLDRCQVlBO0lBWkE7RUFZQTtBQUFBOztBQUdKLHFCQUFxQjs7QUFHakI7RUFBQSxnQkFJQTtFQUpBLFFBSUE7RUFKQTtBQUlBOztBQUtBO1FBQUEsVUFRQSxFQVJBLHVCQVFBO0lBQUE7O0FBR0osK0JBQStCOztBQUkzQjs7RUFBQSxnQkFJQTtFQUpBLFNBSUE7RUFKQTtBQUlBOztBQUlBO0VBQUEsd0NBSUE7RUFKQSxnQkFJQTtFQUpBO0FBSUE7O0FBSUE7RUFBQTtBQUVBOztBQUtBOztFQUFBLGlCQU1BO0VBTkEseUNBTUE7RUFOQSxxQkFNQTtFQU5BLHNCQU1BO0VBTkEsb0JBTUE7RUFOQSx1QkFNQTtFQU5BO0FBTUE7O0FBTkE7O0VBQUE7O0lBQUEsb0JBTUE7SUFOQSxxQkFNQTtJQU5BLG1CQU1BO0lBTkE7RUFNQTtBQUFBOztBQUdKLHVEQUF1RDs7QUFDdkQsNkJBQTZCOztBQUl6Qjs7RUFBQSxrQkFRMkI7RUFSM0IsVUFRMkI7RUFSM0IsZUFRMkI7RUFSM0I7QUFRMkI7O0FBRy9CLHdCQUF3Qjs7QUFDeEI7Ozs7Ozs7O0tBUUM7O0FBS0c7O0VBQUEseUJBR0E7RUFIQSxrQkFHQTtFQUhBO0FBR0E7O0FBS0E7RUFBQSxXQXFCQTtFQXJCQSxlQXFCQTtFQXJCQSxpQkFxQkE7RUFyQkEsNkNBcUJBO0VBckJBLGtCQXFCQTtFQXJCQTtBQXFCQTs7QUFyQkE7O0VBQUE7SUFBQSxlQXFCQTtJQXJCQTtFQXFCQTtBQUFBOztBQXJCQTs7RUFBQTtJQUFBLGVBcUJBO0lBckJBO0VBcUJBO0FBQUE7O0FBckJBOztFQUFBO0lBQUE7RUFxQkE7QUFBQTs7QUFHSix1Q0FBdUM7O0FBRW5DO0VBQUE7QUFJQTs7QUFJQTtFQUFBO0FBRUE7O0FBT0E7O0VBQUEsc0NBSUE7RUFKQSxtQkFJQTtFQUpBO0FBSUE7O0FBTUE7O0VBQUEsc0JBSUE7RUFKQTtBQUlBOztBQUpBOztFQUFBOztJQUFBO0VBSUE7QUFBQTs7QUFNQTs7RUFBQTtBQUVBOztBQUdKLGdCQUFnQjs7QUFJWjs7RUFBQSxpQkFPQTtFQVBBLDZDQU9BO0VBUEEsa0JBT0E7RUFQQTtBQU9BOztBQVBBOztFQUFBOztJQUFBO0VBT0E7QUFBQTs7QUFHSix1RUFBdUU7O0FBSW5FOztFQUFBLDZCQUdBO0VBSEEsb0VBR0E7RUFIQSwrQkFHQTtFQUhBO0FBR0E7O0FBR0osdUVBQXVFOztBQUluRTs7RUFBQSw2QkFFQTtFQUZBO0FBRUE7O0FBR0osaUdBQWlHOztBQUk3Rjs7RUFBQSw2QkFJQTtFQUpBLGtFQUlBO0VBSkEsK0JBSUE7RUFKQTtBQUlBOztBQU1BOztFQUFBLFlBTUE7RUFOQSxrQkFNQTtFQU5BLHNCQU1BO0VBTkEsZ0JBTUE7RUFOQTtBQU1BOztBQUdKLG9CQUFvQjs7QUFJaEI7O0VBQUEsaUJBS0E7RUFMQSw2Q0FLQTtFQUxBLGdCQUtBO0VBTEE7QUFLQTs7QUFHSix3QkFBd0I7O0FBSXBCOztFQUFBLGlCQUtBO0VBTEEsa0JBS0E7RUFMQSx5REFLQTtFQUxBLGtCQUtBO0VBTEE7QUFLQTs7QUFHSixrRUFBa0U7O0FBYzlEOzs7Ozs7Ozs7Ozs7RUFBQTtBQUVBOztBQUdKLCtCQUErQjs7QUFFM0I7RUFBQTtBQUVBOztBQUdKOztRQUlRO0lBQUE7RUFFQTs7UUFRQTs7OztJQUFBO0VBRUE7O0lBR1I7O0FDblVBLGdCQUFnQjs7QUFFWjtFQUFBLFdBR0E7RUFIQTtBQUdBOztBQUhBOztFQUFBO0lBQUEsa0JBR0E7SUFIQTtFQUdBO0FBQUE7O0FBSUE7RUFBQSxhQUlBO0VBSkE7QUFJQTs7QUFKQTtFQUFBO0FBSUE7O0FBSkE7RUFBQTtBQUlBOztBQUlBO1FBQUE7WUFBQSxhQUlBO1lBSkEscUJBSUE7UUFBQTtJQUFBOztBQUpBO0lBQUE7UUFBQSxVQUlBLEVBSkEsdUJBSUE7SUFBQTtJQUFBOztBQUpBO0VBQUEsdUJBSUE7RUFKQTtBQUlBOztBQUlBO0VBQUEsYUFNQTtFQU5BLFlBTUE7RUFOQSxvQkFNQTtFQU5BLG1CQU1BO0VBTkE7QUFNQTs7QUFHSiwwQkFBMEI7O0FBQzFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpQ0M7O0FkcENELG9GQUFvRjs7QUFDcEY7Ozs7S0FJQzs7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTRCQzs7QWV2RUw7RUFBQSxrQkFBbUI7RUFBbkIsVUFBbUI7RUFBbkIsV0FBbUI7RUFBbkIsVUFBbUI7RUFBbkIsWUFBbUI7RUFBbkIsZ0JBQW1CO0VBQW5CLHNCQUFtQjtFQUFuQixtQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsUUFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLGdCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSx5Q0FBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsbUNBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxlQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsZ0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLGdCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSx3Q0FBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsd0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBLDRCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQSwyQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsNkJBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLDhCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLHlCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSx5QkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEseUJBQW1CO0tBQW5CLHNCQUFtQjtVQUFuQjtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQSx3QkFBbUI7S0FBbkIscUJBQW1CO1VBQW5CO0FBQW1COztBQUFuQjtFQUFBLGVBQW1CO09BQW5CO0FBQW1COztBQUFuQjtFQUFBLDhCQUFtQjtPQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSwrQkFBbUI7T0FBbkI7QUFBbUI7O0FBQW5CO0VBQUEsK0JBQW1CO09BQW5CO0FBQW1COztBQUFuQjtFQUFBLDZCQUFtQjtPQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSw4QkFBbUI7T0FBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsd0JBQW1CO09BQW5CO0FBQW1COztBQUFuQjtFQUFBLHVCQUFtQjtPQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxxQkFBbUI7T0FBbkI7QUFBbUI7O0FBQW5CO0VBQUEsdUJBQW1CO09BQW5CO0FBQW1COztBQUFuQjtFQUFBLHFCQUFtQjtPQUFuQjtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsdURBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQix1REFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CLHNEQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsbURBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQiwyREFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CLGdFQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsK0RBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQiw0REFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CLDhEQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsNERBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLHdCQUFtQjtFQUFuQiwwREFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsd0JBQW1CO0VBQW5CLGtFQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBLGdCQUFtQjtFQUFuQix1QkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsb0NBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLGdDQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSwyQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsaUNBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLGdDQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsNkJBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBLDZCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQSw2QkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsNkJBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLDZCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSw2QkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsNkJBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBLDZCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQTtBQUFtQjs7QUFBbkI7RUFBQSxzQkFBbUI7S0FBbkI7QUFBbUI7O0FBQW5CO0VBQUEsb0JBQW1CO0tBQW5CO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBLDRCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLDBDQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxnQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBLDBCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSw2QkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsZUFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxnQ0FBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsK0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLCtCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSwrQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsK0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBO0FBQW1COztBQUFuQjtFQUFBLCtCQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUE7QUFBbUI7O0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1COztBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjs7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7O0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1COztB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VXNCQUE7O1F0QkFBOztZQUFBLHNDc0JBQTs7aUJ0QkFBLDBCc0JBQTtZdEJBQSwwQnNCQUE7O1NBQUE7O1F0QkFBOzs7Ozs7Ozs7Ozs7Ozs7O1VzQkFBOztRdEJBQTs7Ozs7OztVc0JBQTs7S0FBQTs7SXRCQUE7SUFBQSw2QnNCQUE7SXRCQUEscUJzQkFBO0l0QkFBLGNzQkFBO0l0QkFBO0dzQkFBO0l0QkFBOztJQUFBO01BQUEsNkJzQkFBO010QkFBO0tzQkFBOztJdEJBQTtNQUFBLDZCc0JBQTtNdEJBQTtLc0JBQTs7SXRCQUE7TUFBQSw2QnNCQUE7TXRCQUE7S3NCQUE7R0FBQTtJdEJBQTtJQUFBO0dzQkFBO0l0QkFBOztJQUFBO01BQUEsNkJzQkFBO010QkFBO0tzQkFBO0dBQUE7Q0FBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQSxtQnNCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUEsbUJzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBLGtCc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQSxtQnNCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUEsbUJzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBLG1Cc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQSxtQnNCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUEsK0JzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBLDRHc0JBQTtFdEJBQSwwR3NCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUEsNEdzQkFBO0V0QkFBLDBHc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQSxxQnNCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUEscUJzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBO0NzQkFBOztBdEJBQTtFQUFBO0NzQkFBOztBdEJBQTtFQUFBLHVCc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQSxtQnNCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUEsbUJzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBLG1Cc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQSxnQ3NCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUEsZ0NzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBLGdDc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQSxnQ3NCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUEscUJzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBO0NzQkFBOztBdEJBQTtFQUFBO0NzQkFBOztBdEJBQTtFQUFBO0NzQkFBOztBdEJBQTtFQUFBO0NzQkFBOztBdEJBQTtFQUFBLHFCc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQSxxQnNCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUEscUJzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBLHFCc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQSxxQnNCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUEscUJzQkFBO0V0QkFBO0NzQkFBOztBdEI4RUk7UUFDSSxxQkFBcUI7UUFDckIsd0JBQXdCO1FBQ3hCLG1CQUFtQjtJQUN2Qjs7QUFsRko7RUFBQSx1QnNCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUEsdUJzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBLHVCc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQSxxQnNCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUEsNEJzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBLDRCc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQSwrQnNCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUEsNEdzQkFBO0V0QkFBLDBHc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQSw0R3NCQUE7RXRCQUEsMEdzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBLHFCc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQSxxQnNCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUEscUJzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBO0NzQkFBOztBdEJBQTtFQUFBO0NzQkFBOztBdEJBQTtFQUFBO0NzQkFBOztBdEJBQTtFQUFBO0NzQkFBOztBdEJBQTtFQUFBLCtCc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQSxxQnNCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUEscUJzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBO0NzQkFBOztBdEJBQTtFQUFBO0NzQkFBOztBdEJBQTtFQUFBLDRHc0JBQTtFdEJBQSwwR3NCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUEscUJzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTtFQUFBO0NzQkFBOztBdEJBQTtFQUFBLG1Cc0JBQTtFdEJBQTtDc0JBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQTtDc0JBQTs7QXRCQUE7RUFBQSxxQnNCQUE7RXRCQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUE7Q3NCQUE7O0F0QkFBO0VBQUEscUJzQkFBO0V0QkFBO0NzQkFBOztBdEJBQTs7RUFBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBLG9Cc0JBQTtJdEJBQTtHc0JBQTtDQUFBOztBdEJBQTs7RUFBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBLGtCc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQSxtQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUEsbUJzQkFBO0l0QkFBO0dzQkFBO0NBQUE7O0F0QkFBOztFQUFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUEsbUJzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBLGtCc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQSxvQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUEsbUJzQkFBO0l0QkFBO0dzQkFBO0NBQUE7O0F0QkFBOztFQUFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUEsd0JzQkFBO1N0QkFBO0dzQkFBOztFdEJBQTtJQUFBLHNCc0JBQTtTdEJBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQSxtQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUEsb0JzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBLG9Cc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQSxnQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUEsb0JzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBO0NBQUE7O0F0QkFBOztFQUFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUEsaUJzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBLDBDc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQSx3QnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUEsc0JzQkFBO1N0QkFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBLHdCc0JBQTtJdEJBQSwrRHNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUEsd0JzQkFBO0l0QkFBLGdFc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQSxtQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUEsc0JzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBLHFCc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQSxvQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUEsb0JzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBLG1Cc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQSxnQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUEsb0JzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBLG1Cc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTtDQUFBOztBdEJBQTs7RUFBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBLCtEc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQSwwQ3NCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUEsZ0JzQkFBO1N0QkFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBLHNCc0JBQTtTdEJBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQSxtQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUEsa0JzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBLG1Cc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQSxnQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUEsb0JzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBO0NBQUE7O0F0QkFBOztFQUFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUEsaUJzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBLHdCc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQSxnQnNCQUE7U3RCQUE7R3NCQUE7O0V0QkFBO0lBQUEsZ0JzQkFBO1N0QkFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBLHNCc0JBQTtTdEJBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQSxrQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUEscUJzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBLHFCc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQSxtQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUEsb0JzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBLGtCc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQSxrQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUEsZ0JzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBLG9Cc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQSxvQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUEsb0JzQkFBO0l0QkFBO0dzQkFBO0NBQUE7O0F0QkFBOztFQUFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUEsbUJzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBLGdCc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQSxvQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7Q0FBQTs7QXRCQUE7O0VBQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQSxnQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7Q0FBQTs7QXRCQUE7O0VBQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTtDQUFBOztBdEJBQTs7RUFBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBLDZCc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQTtHc0JBQTs7RXRCQUE7SUFBQSxnQ3NCQUE7U3RCQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUEsdUJzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBLGtCc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQSxvQnNCQUE7SXRCQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUE7R3NCQUE7O0V0QkFBO0lBQUEsbUJzQkFBO0l0QkFBO0dzQkFBOztFdEJBQTtJQUFBO0dzQkFBOztFdEJBQTtJQUFBLHFCc0JBQTtJdEJBQTtHc0JBQTs7RXRCQUE7SUFBQSx1QnNCQUE7SXRCQUEsK0JzQkFBO0l0QkFBO0dzQkFBO0NBQUE7O0F0QkFBOztFQUFBO0lBQUE7R3NCQUE7Q0FBQTs7QXRCQUE7O0VBQUE7SUFBQTtHc0JBQTtDQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Nzcy9hcHAuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy90YWlsd2luZGNzcy9iYXNlLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdGFpbHdpbmRjc3MvY29tcG9uZW50cy5jc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Nzcy9fc25hcHNob3QuY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9jc3MvX2Zvcm1zLmNzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvY3NzL19jaGFydHMuY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9jc3MvX3NreXNjcmFwZXIuY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9jc3MvX2FiYy5jc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Nzcy9fbW9kdWxlcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Nzcy9fcHJpbnQuY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9jc3MvX3RhYmxlc19qcXVlcnktZGF0YXRhYmxlcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Nzcy9fdGFibGVzX2pxdWVyeS1kYXRhdGFibGVzLWJ1dHRvbnMuY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9jc3MvX3RhYmxlc19qcXVlcnktZGF0YXRhYmxlcy1maXhlZGNvbHVtbnMuY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9jc3MvX3RhYmxlc19mb25kc3ZlcmdsZWljaC1vdXRlci5jc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Nzcy9fdGFibGVzX2ZvbmRzdmVyZ2xlaWNoLWlubmVyLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdGFpbHdpbmRjc3MvdXRpbGl0aWVzLmNzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvY3NzL19pbnB1dHMuY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9jc3MvX2NvbG9ycy5jc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Nzcy9fdmFyaWFibGVzLmNzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvY3NzL19mb250cy5jc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Nzcy9fdG9nZ2xlLmNzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvY3NzL190eXBvZ3JhcGh5LmNzcyIsIndlYnBhY2s6Ly8vPG5vIHNvdXJjZT4iXSwic291cmNlc0NvbnRlbnQiOlsiLyogQVBQICovXHJcblxyXG5AaW1wb3J0IFwidGFpbHdpbmRjc3MvYmFzZVwiO1xyXG5AaW1wb3J0IFwidGFpbHdpbmRjc3MvY29tcG9uZW50c1wiO1xyXG5AaW1wb3J0IFwidGFpbHdpbmRjc3MvdXRpbGl0aWVzXCI7XHJcblxyXG4vKlJlaWhlbmZvbGdlIHdpY2h0aWcqL1xyXG5AaW1wb3J0IFwiX2NvbG9yc1wiO1xyXG5AaW1wb3J0IFwiX3ZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiX2ZvbnRzXCI7XHJcbkBpbXBvcnQgXCJfdG9nZ2xlXCI7XHJcbkBpbXBvcnQgXCJfdHlwb2dyYXBoeVwiO1xyXG5AaW1wb3J0IFwiX2lucHV0c1wiO1xyXG5AaW1wb3J0IFwiX3NuYXBzaG90XCI7XHJcbkBpbXBvcnQgXCJfZm9ybXNcIjtcclxuQGltcG9ydCBcIl9jaGFydHNcIjtcclxuQGltcG9ydCBcIl9za3lzY3JhcGVyXCI7XHJcbkBpbXBvcnQgXCJfYWJjXCI7XHJcbkBpbXBvcnQgXCJfbW9kdWxlc1wiO1xyXG5AaW1wb3J0IFwiX3ByaW50XCI7XHJcbkBpbXBvcnQgXCJfdGFibGVzX2pxdWVyeS1kYXRhdGFibGVzXCI7XHJcbkBpbXBvcnQgXCJfdGFibGVzX2pxdWVyeS1kYXRhdGFibGVzLWJ1dHRvbnNcIjtcclxuQGltcG9ydCBcIl90YWJsZXNfanF1ZXJ5LWRhdGF0YWJsZXMtZml4ZWRjb2x1bW5zLmNzc1wiO1xyXG5AaW1wb3J0IFwiX3RhYmxlc19mb25kc3ZlcmdsZWljaC1vdXRlclwiO1xyXG5AaW1wb3J0IFwiX3RhYmxlc19mb25kc3ZlcmdsZWljaC1pbm5lclwiO1xyXG5cclxuQGxheWVyIGJhc2Uge1xyXG5cclxuICAgIC8qbGVlciovXHJcblxyXG59XHJcblxyXG4vKkVESVRPUiovXHJcbi8qQW5wYXNzdW5nZW4gZsO8ciBkZW4gSFRNTC1Db2RlLCBkZXIgdm9tIEVkaXRvciBUaW55TUNFIGluIENNUy1Nb2R1bGVuIGVyemV1Z3Qgd2lyZC4qL1xyXG5AbGF5ZXIgY29tcG9uZW50cyB7XHJcblxyXG4gICAgLyogRGFzIG11c3MgdW0gamVkZSBUYWJlbGxlLCBkaWUgaW0gVGlueU1DRSBlcnpldWd0IHdpcmQsIHdpcmQgaW0gQ01TIGhpbnp1Z2Vmw7xndC4gKi9cclxuICAgIC8qXHJcbiAgICA8ZGl2IHN0eWxlPVwib3ZlcmZsb3c6IGF1dG87IGh5cGhlbnM6IGF1dG87IFwiPlxyXG4gICAgICAgIC4uLlxyXG4gICAgPC9kaXY+XHJcbiAgICAqL1xyXG5cclxuICAgIC8qXHJcbiAgICAuZWRpdG9yIGgyIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAgICAgbGVhZGluZy02XHJcbiAgICAgICAgICAgIHRleHQtc3BsaXRJbWFnZUFuZFRleHRUZXh0XHJcbiAgICAgICAgICAgIGZvbnQtc2VtaWJvbGRcclxuICAgICAgICAgICAgdHJhY2tpbmctd2lkZVxyXG4gICAgICAgICAgICB1cHBlcmNhc2VcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLmVkaXRvciBoMyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIG10LTJcclxuICAgICAgICAgICAgdGV4dC0zeGxcclxuICAgICAgICAgICAgbGVhZGluZy04XHJcbiAgICAgICAgICAgIGZvbnQtZXh0cmFib2xkXHJcbiAgICAgICAgICAgIHRyYWNraW5nLXRpZ2h0XHJcbiAgICAgICAgICAgIHNtOnRleHQtNHhsXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC5lZGl0b3IgcCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIG10LThcclxuICAgICAgICAgICAgdGV4dC14bFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuICAgICovXHJcblxyXG59XHJcblxyXG4vKk1FTlUqL1xyXG5AbGF5ZXIgdXRpbGl0aWVzIHtcclxuXHJcbiAgICAuYm9yZGVyLWJvdHRvbSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5kZWZhdWx0LXRyYW5zaXRpb24ge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHRyYW5zaXRpb24tYWxsXHJcbiAgICAgICAgZHVyYXRpb24tMzAwXHJcbiAgICAgICAgZWFzZS1saW5lYXJcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKkhJTEZTS0xBU1NFTiovXHJcbkBsYXllciB1dGlsaXRpZXMge1xyXG5cclxuICAgIC8qRHVtbXksIHdlaWwgbmljaHQtbGVlcmUgQGFwcGx5LUFud2Vpc3VuZ2VuIGluIFRhaWx3aW5kIHp1IEJ1aWxkYWJicsO8Y2hlbiBmw7xocmVuKi9cclxuICAgIC5kdW1teSB7XHJcbiAgICAgICAgLS1kdW1teTogMDsgLyogYmVsaWViaWdlIFZhcmlhYmxlICovXHJcbiAgICB9XHJcblxyXG4gICAgLypNaXQgZGllc2VyIEtsYXNzZSBrYW5uIGljaCBtb2R1bGUtaW5mby1ESVZzIHp3aXNjaGVuIGhpZGRlbiB1bmQgdmlzaWJsZSB0b2dnbGVuLiovXHJcbiAgICAubW9kdWxlLWluZm8taW5uZXItZGlzcGxheSB7XHJcbiAgICAgICAgZGlzcGxheTogdmFyKC0tbW9kdWxlLWluZm8taW5uZXItZGlzcGxheSwgbm9uZSlcclxuICAgIH1cclxuXHJcbiAgICAvKiBNT0RVTElORk8gKi9cclxuICAgIC8qTW9kdWxpbmZvIGluIE1vZHVsw7xiZXJzaWNodCBhdWYgSG9tZSovXHJcbiAgICAubW9kdWxlLWluZm8ge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICB0ZXh0LWNlbnRlclxyXG4gICAgICAgICAgICBiZy1ncmF5LTIwMFxyXG4gICAgICAgICAgICAvKmJnLW1lbnVCYWNrZ3JvdW5kSG92ZXIqL1xyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAubW9kdWxlLWluZm8tY2xvc2Uge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHRleHQtY2VudGVyXHJcbiAgICAgICAgYmctZ3JheS0yMDBcclxuICAgICAgICAvKmJnLW1lbnVCYWNrZ3JvdW5kSG92ZXIqL1xyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKlBmZWlsIGFid8OkcnRzKi9cclxuICAgIC5tb2R1bGUtaW5mbzo6YmVmb3JlLCAubW9kdWxlLWluZm86OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjE5M1wiO1xyXG4gICAgfVxyXG5cclxuICAgIC8qUGZlaWwgYXVmd8OkcnRzKi9cclxuICAgIC5tb2R1bGUtaW5mby1jbG9zZTo6YmVmb3JlLCAubW9kdWxlLWluZm8tY2xvc2U6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjE5MVwiO1xyXG4gICAgfVxyXG5cclxuICAgIC5tb2R1bGUtaW5mby1jYXRlZ29yeSB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIGdyaWRcclxuICAgICAgICAgICAgdy1mdWxsXHJcbiAgICAgICAgICAgIHRleHQteGxcclxuICAgICAgICAgICAgdGV4dC1jZW50ZXJcclxuICAgICAgICAgICAgYmctYW1iZXItMTAwXHJcbiAgICAgICAgICAgIHByaW50OmhpZGRlblxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKlRFU1QqL1xyXG4gICAgLnRlc3QtMSB7XHJcbiAgICAgICAgQGFwcGx5IHVwcGVyY2FzZTtcclxuICAgIH1cclxuXHJcbiAgICAudGVzdC0yIHtcclxuICAgICAgICBAYXBwbHkgbG93ZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qQUxQSU5FLVVUSUxJVFkqL1xyXG4gICAgLypcclxuICAgIFdpcmQgYmVuw7Z0aWd0LCB1bSB4LWNsb2FrIGFud2VuZGVuIHp1IGvDtm5uZW4sIG1pdCBkZW0gRWxlbWVudGUgdmVyYm9yZ2VuIHdlcmRlbiBrw7ZubmVuLFxyXG4gICAgYmlzIEFscGluZSB2b2xsIGdlbGFkZW4gaXN0LlxyXG4gICAgKi9cclxuXHJcbiAgICBbeC1jbG9ha10ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcblxyXG59XHJcbiIsIkB0YWlsd2luZCBiYXNlO1xuIiwiQHRhaWx3aW5kIGNvbXBvbmVudHM7XG4iLCIvKiBTTkFQU0hPVCAqL1xyXG5cclxuQGxheWVyIGNvbXBvbmVudHMge1xyXG5cclxuICAgIC8qUExBVFpJRVJVTkcgREVSIFNOQVBTSE9ULUNBUkRTIElOTkVSSEFMQiBERVMgR1JJRFMuKi9cclxuXHJcbiAgICAuc25hcHNob3QtY2FyZCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZ3JpZFxyXG4gICAgICAgIGNvbC1zdGFydC0xIGNvbC1zcGFuLTEyXHJcbiAgICAgICAgZ3JpZC1jb2xzLTEyXHJcbiAgICAgICAgaW52LWJyZWFrLWluc2lkZS1hdm9pZFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuc25hcHNob3QtY2FyZC1saW5rcyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZ3JpZFxyXG4gICAgICAgIGNvbC1zdGFydC0xIGNvbC1zcGFuLTZcclxuICAgICAgICBncmlkLWNvbHMtNlxyXG4gICAgICAgIGludi1icmVhay1pbnNpZGUtYXZvaWRcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLnNuYXBzaG90LWNhcmQtcmVjaHRzIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBncmlkXHJcbiAgICAgICAgY29sLXN0YXJ0LTcgY29sLXNwYW4tNlxyXG4gICAgICAgIGdyaWQtY29scy02XHJcbiAgICAgICAgaW52LWJyZWFrLWluc2lkZS1hdm9pZFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKkxhYmVsIGVpbmVyIEthdGVnb3JpZSB2b24gU25hcHNob3QtRGF0ZW4gd2llIFwiSVNJTlwiIG9kZXIgXCJUb3Bob2xkaW5nc1wiKi9cclxuICAgIC5zbmFwc2hvdC1jYXJkLWxhYmVsIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBncmlkXHJcbiAgICAgICAgY29sLXN0YXJ0LTEgY29sLXNwYW4tMTIgLyogbW9iaWw6IGdhbnplIEJyZWl0ZSBmw7xyIExhYmVsICovXHJcbiAgICAgICAgbGc6Y29sLXN0YXJ0LTEgbGc6Y29sLXNwYW4tMlxyXG4gICAgICAgIGZvbnQtYm9sZFxyXG4gICAgICAgIHB4LTRcclxuICAgICAgICBwcmludDpweC0wXHJcbiAgICAgICAgcHktNFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuICAgIC5zbmFwc2hvdC1jYXJkLWxhYmVsLWxpbmtzIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBsZzpjb2wtc3RhcnQtMSBsZzpjb2wtc3Bhbi0yXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgLnNuYXBzaG90LWNhcmQtbGFiZWwtcmVjaHRzIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBsZzpjb2wtc3RhcnQtNyBsZzpjb2wtc3Bhbi0yXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgLnNuYXBzaG90LWNhcmQtbGFiZWwtZmlsdGVyIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBncmlkXHJcbiAgICAgICAgY29sLXN0YXJ0LTEgY29sLXNwYW4tMTIgLyogbW9iaWw6IGdhbnplIEJyZWl0ZSBmw7xyIExhYmVsICovXHJcbiAgICAgICAgbWQ6Y29sLXN0YXJ0LTEgbWQ6Y29sLXNwYW4tMlxyXG4gICAgICAgIGZvbnQtYm9sZFxyXG4gICAgICAgIHB4LTRcclxuICAgICAgICBwcmludDpweC0wXHJcbiAgICAgICAgcHktNFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKlp1Z2Vow7ZyaWdlciBDb250ZW50Ki9cclxuICAgIC5zbmFwc2hvdC1jYXJkLWNvbnRlbnQge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGdyaWRcclxuICAgICAgICBjb2wtc3RhcnQtMSBjb2wtc3Bhbi0xMiAvKiBtb2JpbDogZ2FuemUgQnJlaXRlIGbDvHIgQ29udGVudCAqL1xyXG4gICAgICAgIGxnOmNvbC1zdGFydC0zIGxnOmNvbC1zcGFuLTEwXHJcbiAgICAgICAgcHgtNFxyXG4gICAgICAgIHByaW50OnB4LTBcclxuICAgICAgICBweS00XHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgLnNuYXBzaG90LWNhcmQtY29udGVudC1saW5rcyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgbGc6Y29sLXN0YXJ0LTMgbGc6Y29sLXNwYW4tNFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuICAgIC5zbmFwc2hvdC1jYXJkLWNvbnRlbnQtcmVjaHRzIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBsZzpjb2wtc3RhcnQtOSBsZzpjb2wtc3Bhbi00XHJcbiAgICAgICAgdy1mdWxsXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgLnNuYXBzaG90LWNhcmQtY29udGVudC1maWx0ZXIge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGdyaWRcclxuICAgICAgICBjb2wtc3RhcnQtMSBjb2wtc3Bhbi0xMiAvKiBtb2JpbDogZ2FuemUgQnJlaXRlIGbDvHIgQ29udGVudCAqL1xyXG4gICAgICAgIG1kOmNvbC1zdGFydC0zIG1kOmNvbC1zcGFuLTEwXHJcbiAgICAgICAgcHgtNFxyXG4gICAgICAgIHByaW50OnB4LTBcclxuICAgICAgICBweS00XHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qTGlua3MgaW0gQ29udGVudC1CZXJlaWNoIGVpbmVyIFNuYXBzaG90LUNhcmQqL1xyXG4gICAgLnNuYXBzaG90LWNhcmQtY29udGVudCBhIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICB1bmRlcmxpbmVcclxuICAgICAgICB0ZXh0LWZvb3RlckJ1dHRvblxyXG4gICAgICAgIGhvdmVyOnRleHQtZm9vdGVyVGV4dEhvdmVyXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qU1RSVUtUVVJUQUJFTExFTiBXSUUgXCJUT1BIT0xESU5HU1wiLCBcIlNUVUtUVVJEQVRFTlwiKi9cclxuXHJcbiAgICAvKlxyXG4gICAgLnNuYXBzaG90LXN0cnVrdHVydGFiZWxsZSB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgKi9cclxuXHJcbiAgICAvKlRSOiBIw7ZoZSB1bmQgRmFyYmUqL1xyXG4gICAgLnNuYXBzaG90LXN0cnVrdHVydGFiZWxsZSB0ciB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgaC02XHJcbiAgICAgICAgb2RkOmJnLXRhYmxlSW5uZXJPZGRcclxuICAgICAgICBldmVuOmJnLXRhYmxlSW5uZXJFdmVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qVFI6IEjDtmhlIHVuZCBGYXJiZSovXHJcbiAgICAuc25hcHNob3Qtc3RydWt0dXJ0YWJlbGxlIHRoIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBiZy10YWJsZUlubmVyRXZlbiAvKiBkdW5rbGVyICovXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKlREIG1pdCBGYXJienVvcmRudW5nKi9cclxuICAgIC5zbmFwc2hvdC1zdHJ1a3R1cnRhYmVsbGUgLnRkLWZhcmJrdWJ1cyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgbWluLXctWzI0cHhdXHJcbiAgICAgICAgdy1bMjRweF1cclxuICAgICAgICBweC1bNnB4XVxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKkltYWdlIG1pdCBGYXJia3VidXMqL1xyXG4gICAgLnNuYXBzaG90LXN0cnVrdHVydGFiZWxsZSAudGQtZmFyYmt1YnVzIGltZyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgdy1bMTJweF1cclxuICAgICAgICBoLVsxMnB4XVxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKlREIG1pdCBUZXh0IGRlcyBBbnRlaWxzKi9cclxuICAgIC5zbmFwc2hvdC1zdHJ1a3R1cnRhYmVsbGUgLnRkLWJlc2NocmVpYnVuZyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIC8qIFZpZXdwb3J0LUJyZWl0ZSBtaW51cyBNYXJnaW4gdW0gU25hcHNob3QtQ2FyZCAoMiAqIDE2cHgpIG1pbnVzIEJvcmRlciAoMiAqIDJweClcclxuICAgICAgICAgICAgbWludXMgS3VidXMgKDI0cHgpIG1pbnVzIFByb3plbnQgKDQwcHgpIHVuZCBlaW5lIG5pY2h0IGdhbnogbmFjaHZvbGx6aWVoYmFyZSBCcmVpdGUgdm9uIDI2cHgsXHJcbiAgICAgICAgICAgIGV4cGVyaW1lbnRlbGwgaGVyYXVzZ2VmdW5kZW4uICovXHJcbiAgICAgICAgbWF4LXctW2NhbGMoMTAwdnctMTZweC0ycHgtMjRweC00MHB4LTI2cHgtMnB4LTE2cHgpXVxyXG4gICAgICAgIHdoaXRlc3BhY2Utbm93cmFwXHJcbiAgICAgICAgZm9udC1tZWRpdW1cclxuICAgICAgICBhbGlnbi1taWRkbGVcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLnNuYXBzaG90LXN0cnVrdHVydGFiZWxsZSAudGQtYmVzY2hyZWlidW5nIHAge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHRleHQteHMgeGw6dGV4dC1zbVxyXG4gICAgICAgIHRydW5jYXRlXHJcbiAgICAgICAgbWItMFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKlREIG1pdCBQcm96ZW50YW5nYWJlKi9cclxuICAgIC5zbmFwc2hvdC1zdHJ1a3R1cnRhYmVsbGUgLnRkLXByb3plbnQge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIG1pbi13LVs0MHB4XVxyXG4gICAgICAgIHctWzQwcHhdXHJcbiAgICAgICAgcHgtWzZweF1cclxuICAgICAgICB3aGl0ZXNwYWNlLW5vd3JhcFxyXG4gICAgICAgIHRleHQtcmlnaHRcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLyogRsOcUiBJTk5FUkUgRk9ORFNTVEFNTURBVEVOLVRBQkVMTEUgSU0gU05BUFNIT1QgKi9cclxuXHJcbiAgICAuc25hcHNob3QtZm9uZHNzdGFtbWRhdGVuIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAvKnRhYmxlLWF1dG8qL1xyXG4gICAgICAgIHctZnVsbFxyXG4gICAgICAgIC8qM3hzOnctZml0Ki9cclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgIC5zbmFwc2hvdC1mb25kc3N0YW1tZGF0ZW4gdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAgICAgYmctdGItMjAwXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgKi9cclxuXHJcbiAgICAuc25hcHNob3QtZm9uZHNzdGFtbWRhdGVuIHRyIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBoLTZcclxuICAgICAgICBvZGQ6Ymctd2hpdGVcclxuICAgICAgICBldmVuOmJnLWdyYXktMTAwXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbmFwc2hvdC1mb25kc3N0YW1tZGF0ZW4gdGQge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHB4LTJcclxuICAgICAgICB3aGl0ZXNwYWNlLW5vcm1hbFxyXG4gICAgICAgIGZvbnQtbWVkaXVtXHJcbiAgICAgICAgbGlzdC1pdGVtXHJcbiAgICAgICAgM3hzOnRhYmxlLWNlbGxcclxuICAgICAgICBsaXN0LW5vbmVcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLypURCBtaXQgS2F0ZWdvcmllYmV6ZWljaG51bmcgZGVyIERldGFpbGluZm9ybWF0aW9uKi9cclxuICAgIC5zbmFwc2hvdC1mb25kc3N0YW1tZGF0ZW4gLnRkLWJlc2NocmVpYnVuZyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZm9udC1ib2xkXHJcbiAgICAgICAgd2hpdGVzcGFjZS1ub3dyYXAgbGc6d2hpdGVzcGFjZS1ub3JtYWxcclxuICAgICAgICAvKnctWzF2d10qL1xyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKlxyXG4gICAgLnNuYXBzaG90LWZvbmRzc3RhbW1kYXRlbiB0ZDpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIGZvbnQtbm9ybWFsXHJcbiAgICAgICAgICAgIHctbWluXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgLnNuYXBzaG90LWZvbmRzc3RhbW1kYXRlbiB0ZDpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICBwbC00XHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgKi9cclxuXHJcbn1cclxuIiwiLyogRk9STVMgKi9cclxuLyogRGllIFZhcmlhbnRlbiBtaXQgXCItMlwiIHNpbmQgZWlnZW50bGljaCBudXIgYmVpIGRlbiBGb3JtdWxhci1FbGVtZW50ZW4gXCJmb3JtdWxhci1lbGVtZW50LSpcIiBpbSBFaW5zYXR6LiAqL1xyXG5cclxuQGxheWVyIGNvbXBvbmVudHMge1xyXG5cclxuICAgIC8qUExBVFpJRVJVTkcgREVSIEZPUk0tQ0FSRFMgSU5ORVJIQUxCIERFUyBHUklEUy4qL1xyXG5cclxuICAgIC5mb3JtLWJsb2NrIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBweC00XHJcbiAgICAgICAgcHktNFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS13cmFwcGVyIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBmbGV4XHJcbiAgICAgICAgZmxleC13cmFwXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtLXdyYXBwZXItMiB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZmxleFxyXG4gICAgICAgIGZsZXgtd3JhcFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKlxyXG4gICAgRG9ydCBlaW5nZXNldHp0LCB3byAyIENvbnRhaW5lciBuZWJlbmVpbmFuZGVyIHN0ZWhlbiBzb2xsZW4gPSBkYWR1cmNoIG1hbnVlbGxlIEZlc3RsZWd1bmcsIHdlbGNoZSBGZWxkZXIgaW5cclxuICAgIHdlbGNoZW0gQ29udGFpbmVyIHVuZCBkYW1pdCBpbiB3ZWxjaGVyIFNwYWx0ZSBzdGVoZW4uXHJcbiAgICAqL1xyXG4gICAgLmZvcm0tY29udGFpbmVyIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICB3LWZ1bGxcclxuICAgICAgICBsZzp3LTEvMlxyXG4gICAgICAgIGdyaWRcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgIERvcnQgZWluZ2VzZXR6dCwgd28gQ29sdW1uLVdyYXAgZ3JlaWZ0IHVuZCBkZXIgSW5oYWx0IGVpbmVzIGZvcm0td3JhcHBlci1ESVZzIGJ6dy4gZWluZXIgRk9STSBzZWxic3RcclxuICAgIGF1dG9tYXRpc2NoIGF1ZiBTcGFsdGVuIHZlcnRlaWx0IHdpcmQuXHJcbiAgICAqL1xyXG4gICAgLmZvcm0tY29udGFpbmVyLWZ1bGwge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHctZnVsbFxyXG4gICAgICAgIGdyaWRcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tZWxlbWVudCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZ3JpZFxyXG4gICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICBhYndlY2hzZWxuZGUgRmFyYmUgZnVua3Rpb25pZXJ0IG51ciwgd2VubiBiZWkgbWVocmVyZW4gU3BhbHRlbiBnZXJhZGUgQW56YWhsIHZvbiBFbGVtZW50ZW4gcHJvIENvbnRhaW5lcixcclxuICAgICAgICAgICAgc29uc3Qga8O2bm5lbiB6d2VpIEZlbGRlciwgZGllIHVudGVyZWluYW5kZXIgdW1nZWJyb2NoZW4gd2VyZGVuLCBkaWUgZ2xlaWNoZSBGYXJiZSBlcmhhbHRlblxyXG4gICAgICAgICAgICAqL1xyXG4gICAgICAgIGV2ZW46YmctZ3JheS0yMDBcclxuICAgICAgICB4czpncmlkLWNvbHMtWzNmcl83ZnJdXHJcbiAgICAgICAgICAgIC8qa2VpbmUgRmFyYmUsIHdlbm4gSW5oYWx0IG5pY2h0IGF1ZiBTcGFsdGVuIHZlcnRlaWx0IHdpcmQqL1xyXG4gICAgICAgIHhzOmV2ZW46YmctdHJhbnNwYXJlbnRcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tZWxlbWVudC0yIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBncmlkXHJcbiAgICAgICAgeHM6Z3JpZC1jb2xzLVszZnJfN2ZyXVxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1lbGVtZW50LW9obmUtZmFyYndlY2hzZWwge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGdyaWRcclxuICAgICAgICB4czpncmlkLWNvbHMtWzNmcl83ZnJdXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qTGFiZWwgZWluZXMgRm9ybS1FbGVtZW50cyB6LkIuIGluIEZpbHRlcm4qL1xyXG4gICAgLmZvcm0tbGFiZWwge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGdyaWRcclxuICAgICAgICBjb2wtc3RhcnQtMSBjb2wtc3Bhbi0xXHJcbiAgICAgICAgZm9udC1ib2xkXHJcbiAgICAgICAgcHgtNFxyXG4gICAgICAgIHByaW50OnB4LTBcclxuICAgICAgICBweS0yXHJcbiAgICAgICAgLW1iLTMgeHM6bWItMFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKkxhYmVsIGVpbmVzIEZvcm0tRWxlbWVudHMgei5CLiBpbSBBZHJlc3Nmb3JtdWxhciovXHJcbiAgICAuZm9ybS1sYWJlbC0yIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBncmlkXHJcbiAgICAgICAgY29sLXN0YXJ0LTEgY29sLXNwYW4tMVxyXG4gICAgICAgIGZvbnQtc2VtaWJvbGRcclxuICAgICAgICAvKnB4LTQqL1xyXG4gICAgICAgIC8qcHJpbnQ6cHgtMCovXHJcbiAgICAgICAgcHktNCB4czpweS0yXHJcbiAgICAgICAgLW1iLTMgeHM6bWItMFxyXG4gICAgICAgIGh5cGhlbnNcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tbGFiZWwtcmFuZGxvcyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZ3JpZFxyXG4gICAgICAgIGNvbC1zdGFydC0xIGNvbC1zcGFuLTFcclxuICAgICAgICBmb250LWJvbGRcclxuICAgICAgICBweC0wXHJcbiAgICAgICAgcHktMlxyXG4gICAgICAgIC1tYi0zIHhzOm1iLTBcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tZmllbGQge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGdyaWRcclxuICAgICAgICBjb2wtc3RhcnQtMSBjb2wtc3Bhbi0xXHJcbiAgICAgICAgeHM6Y29sLXN0YXJ0LTIgY29sLXNwYW4tMVxyXG4gICAgICAgIHB4LTRcclxuICAgICAgICBwcmludDpweC0wXHJcbiAgICAgICAgcHktMlxyXG4gICAgICAgIG92ZXJmbG93LWhpZGRlblxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1maWVsZC0yIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBncmlkXHJcbiAgICAgICAgY29sLXN0YXJ0LTEgY29sLXNwYW4tMVxyXG4gICAgICAgIHhzOmNvbC1zdGFydC0yIGNvbC1zcGFuLTFcclxuICAgICAgICBweC0wIHhzOnB4LTRcclxuICAgICAgICBweS0yXHJcbiAgICAgICAgb3ZlcmZsb3ctaGlkZGVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtLWZpZWxkLXJhbmRsb3Mge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGdyaWRcclxuICAgICAgICBjb2wtc3RhcnQtMSBjb2wtc3Bhbi0xXHJcbiAgICAgICAgeHM6Y29sLXN0YXJ0LTIgY29sLXNwYW4tMVxyXG4gICAgICAgIHB4LTBcclxuICAgICAgICBweS0yXHJcbiAgICAgICAgb3ZlcmZsb3ctaGlkZGVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qTGlua3MgaW0gQ29udGVudC1CZXJlaWNoKi9cclxuICAgIC5mb3JtLWVsZW1lbnQgYSB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgdW5kZXJsaW5lXHJcbiAgICAgICAgdGV4dC1mb290ZXJCdXR0b25cclxuICAgICAgICBob3Zlcjp0ZXh0LWZvb3RlclRleHRIb3ZlclxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiLyogQ0hBUlRTICAqL1xyXG5AbGF5ZXIgY29tcG9uZW50cyB7XHJcblxyXG4gICAgLnplaXRyYXVtLXdyYXBwZXItZGl2IHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBmbGV4XHJcbiAgICAgICAgZmxleC13cmFwXHJcbiAgICAgICAgZ2FwLXktMVxyXG4gICAgICAgIGdhcC14LTJcclxuICAgICAgICBqdXN0aWZ5LWNlbnRlclxyXG4gICAgICAgIHB5LTJcclxuICAgICAgICBweC0yXHJcbiAgICAgICAgYmctc25hcHNob3RIZXJ2b3JoZWJ1bmdzQmFja2dyb3VuZFxyXG4gICAgICAgIGl0ZW1zLWNlbnRlclxyXG4gICAgICAgIHRleHQtc20gbWQ6dGV4dC1iYXNlXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC56ZWl0cmF1bS1kaXYge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHdoaXRlc3BhY2Utbm93cmFwXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC56ZWl0cmF1bS1saW5rIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBwci0yXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxufVxyXG4iLCIvKiBTS1lTQ1JBUEVSICovXHJcbkBsYXllciBjb21wb25lbnRzIHtcclxuXHJcbiAgICAuc2t5c2NyYXBlciB0ciB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgaC02XHJcbiAgICAgICAgb2RkOmJnLXRhYmxlSW5uZXJPZGRcclxuICAgICAgICBldmVuOmJnLXRhYmxlSW5uZXJFdmVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC5za3lzY3JhcGVyIHRoIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBiZy10YWJsZUlubmVyRXZlblxyXG4gICAgICAgIHdoaXRlc3BhY2Utbm93cmFwXHJcbiAgICAgICAgZm9udC1ib2xkXHJcbiAgICAgICAgYWxpZ24tbWlkZGxlXHJcbiAgICAgICAgcHgtMVxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuc2t5c2NyYXBlciB0ci50ci1oZWFkZXItemVpbGUtZWlucyB0aCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgYmctaGVhZGVyQmFja2dyb3VuZFxyXG4gICAgICAgIHRleHQtbGVmdFxyXG4gICAgICAgIHRleHQtd2hpdGVcclxuICAgICAgICB1cHBlcmNhc2VcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLnNreXNjcmFwZXIgdHIudHItaGVhZGVyLXplaWxlLXp3ZWkgdGgsXHJcbiAgICAuc2t5c2NyYXBlciB0ci50ci1oZWFkZXItemVpbGUtendlaSB0ZFxyXG4gICAge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGJnLXRhYmxlUHJpbWFyeVxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuc2t5c2NyYXBlciB0ci50ci1oZWFkZXItemVpbGUtZHJlaSB0aCxcclxuICAgIC5za3lzY3JhcGVyIHRyLnRyLWhlYWRlci16ZWlsZS1kcmVpIHRkXHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgYmctdGFibGVQcmltYXJ5RGFya1xyXG4gICAgICAgIDtcclxuICAgIH1cclxuICAgIC5za3lzY3JhcGVyIHRkIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAvKndoaXRlc3BhY2Utbm93cmFwKi9cclxuICAgICAgICBmb250LW1lZGl1bVxyXG4gICAgICAgIGFsaWduLW1pZGRsZVxyXG4gICAgICAgIHB4LTFcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLnNreXNjcmFwZXIgdGQgcCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgdGV4dC14cyB4bDp0ZXh0LXNtXHJcbiAgICAgICAgbWItMFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuc2t5c2NyYXBlciB0ZC50ZC1uYW1lIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBkdW1teVxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuc2t5c2NyYXBlciB0ZC50ZC1uYW1lIHAge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGR1bW15XHJcbiAgICAgICAgLyp0cnVuY2F0ZSovXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC5za3lzY3JhcGVyIHRkLnRkLW5hbWUgcCBhIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAhZm9udC1zZW1pYm9sZFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuc2t5c2NyYXBlciB0ZC50ZC13a24ge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHRleHQtcmlnaHRcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLypURCBtaXQgUHJvemVudGFuZ2FiZSovXHJcbiAgICAuc2t5c2NyYXBlciB0ZC50ZC1wcm96ZW50IHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAvKm1pbi13LVs0MHB4XSovXHJcbiAgICAgICAgLyp3LVs0MHB4XSovXHJcbiAgICAgICAgLypweC1bNnB4XSovXHJcbiAgICAgICAgdGV4dC1yaWdodFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKlBmZWlsIGFid8OkcnRzKi9cclxuICAgIC5za3lzY3JhcGVyLWFycm93LWRvd246OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjE5M1wiO1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIG1sLTJcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLypQZmVpbCBhdWZ3w6RydHMqL1xyXG4gICAgLnNreXNjcmFwZXItYXJyb3ctdXA6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjE5MVwiO1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIG1sLTJcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLypPcmFuZ2VuZSBDaGVja2JveGVuKi9cclxuICAgIC5za3lzY3JhcGVyIHRkIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICB0ZXh0LWludmV4dHJhT3JhbmdlXHJcbiAgICAgICAgZm9jdXM6b3V0bGluZS0wXHJcbiAgICAgICAgZm9jdXM6cmluZy0wXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxufVxyXG4iLCIvKiBBQkMsIHouQi4gR2xvc3NhciB1bmQgS0FHLUFCQyAqL1xyXG5cclxuQGxheWVyIGNvbXBvbmVudHMge1xyXG5cclxuICAgIC5hYmMgdGhlYWQgdHIge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIG9kZDpiZy10YWJsZVByaW1hcnlcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLmFiYyB0aGVhZCB0ciB0ZCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIGZvbnQtYm9sZFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuYWJjIHRyIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBoLTZcclxuICAgICAgICBvZGQ6YmctdGFibGVJbm5lck9kZFxyXG4gICAgICAgIGV2ZW46YmctdGFibGVJbm5lckV2ZW5cclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgIC5hYmMgdHI6bm90KFtzdHlsZT1cImRpc3BsYXk6IG5vbmVcIl0pIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBvZGQ6YmctdGFibGVJbm5lck9kZFxyXG4gICAgICAgIGV2ZW46YmctdGFibGVJbm5lckV2ZW5cclxuICAgICAgICA7XHJcbiAgICB9XHJcbiAgICAqL1xyXG5cclxuICAgIC5hYmMgdGgge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGJnLXRhYmxlSW5uZXJFdmVuXHJcbiAgICAgICAgd2hpdGVzcGFjZS1ub3dyYXBcclxuICAgICAgICBmb250LWJvbGRcclxuICAgICAgICBhbGlnbi1taWRkbGVcclxuICAgICAgICBweC0xXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC5hYmMgdGQge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIC8qd2hpdGVzcGFjZS1ub3dyYXAqL1xyXG4gICAgICAgIGZvbnQtbWVkaXVtXHJcbiAgICAgICAgYWxpZ24tbWlkZGxlXHJcbiAgICAgICAgcHgtMlxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuYWJjIHRkIHAge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHRleHQteHMgeGw6dGV4dC1zbVxyXG4gICAgICAgIG1iLTBcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLmFiYyB0ZC50ZC1uYW1lIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBkdW1teVxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuYWJjIHRkLnRkLW5hbWUgcCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZHVtbXlcclxuICAgICAgICAvKnRydW5jYXRlKi9cclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLmFiYyB0ZC50ZC1uYW1lIHAgYSB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgIWZvbnQtc2VtaWJvbGRcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLmFiYyB0ZC50ZC13a24ge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHRleHQtcmlnaHRcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLypURCBtaXQgUHJvemVudGFuZ2FiZSovXHJcbiAgICAuYWJjIHRkLnRkLXByb3plbnQge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIC8qbWluLXctWzQwcHhdKi9cclxuICAgICAgICAvKnctWzQwcHhdKi9cclxuICAgICAgICAvKnB4LVs2cHhdKi9cclxuICAgICAgICB0ZXh0LXJpZ2h0XHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC5hYmMtYnV0dG9ucyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZmxleFxyXG4gICAgICAgIGZsZXgtd3JhcFxyXG4gICAgICAgIGdhcC14LTZcclxuICAgICAgICBnYXAteS0yXHJcbiAgICAgICAgLypqdXN0aWZ5LWNlbnRlciovXHJcbiAgICAgICAgbXgtMlxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuYWJjLWJ1dHRvbnMgYnV0dG9uXHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgdGV4dC0yeGxcclxuICAgICAgICBmb250LWJvbGRcclxuICAgICAgICBtaW4taC1maXRcclxuICAgICAgICBoLTEwXHJcbiAgICAgICAgIWJvcmRlci0wXHJcbiAgICAgICAgIXJpbmctMFxyXG4gICAgICAgIGhvdmVyOnRleHQtc2xhdGUtMzAwXHJcbiAgICAgICAgdGV4dC1sZWZ0XHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC5hYmMtYnV0dG9ucyAuYWt0aXZlcy1lbGVtZW50XHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgIXRleHQtZ3JlZW4tNTAwXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC5hYmMtYnV0dG9ucyAuYWt0aXZlci1idWNoc3RhYmVcclxuICAgIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICB0ZXh0LTN4bFxyXG4gICAgICAgICF0ZXh0LWdyZWVuLTUwMFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuZ2xvc3Nhci1idWNoc3RhYmUtaW4taW5kZXhcclxuICAgIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBwdC00XHJcbiAgICAgICAgLypmaXJzdDpwdC0wKi9cclxuICAgICAgICB0ZXh0LTJ4bFxyXG4gICAgICAgICFmb250LWJvbGRcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLmdsb3NzYXItaW5kZXgtZWludHJhZ1xyXG4gICAge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGhvdmVyOiF0ZXh0LXNsYXRlLTUwMFxyXG4gICAgICAgIC8qaG92ZXI6IWZvbnQtYm9sZCovXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxufVxyXG4iLCIvKiBNT0RVTEUtU1BFWkZJU0NIICovXHJcblxyXG5AbGF5ZXIgY29tcG9uZW50cyB7XHJcblxyXG4gICAgLm0wMSBkaXYge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIG1iLTJcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLm0wMSBpbWcge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGZsb2F0LW5vbmVcclxuICAgICAgICBteS00XHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qaGlud2Vpc3BmZWlsLW1pdC10ZXh0Ki9cclxuICAgIC5tNDItZHJlaWVja3NwZmVpbC1nZWxiIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9zdmcvbTQyLWRyZWllY2tzcGZlaWwtZ2VsYi5zdmcnKTtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBtaW4taC1bNDBweF1cclxuICAgICAgICBtaW4tdy1bNDBweF1cclxuICAgICAgICA7XHJcbiAgICB9XHJcbiAgICAubTQyLWRyZWllY2tzcGZlaWwtb3JhbmdlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9zdmcvbTQyLWRyZWllY2tzcGZlaWwtb3JhbmdlLnN2ZycpO1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIG1pbi1oLVs0MHB4XVxyXG4gICAgICAgIG1pbi13LVs0MHB4XVxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKmljb25fY2xvdWQqL1xyXG4gICAgLm0wNS1pY29uLWRpdiB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgcHktMlxyXG4gICAgICAgIHB4LTJcclxuICAgICAgICA7XHJcbiAgICB9XHJcbiAgICAubTA1LWljb24taW1nIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICB3LVsxNDVweF1cclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLyogUmFobWVuOiBHcnVuZGRlZmluaXRpb24gKi9cclxuICAgIC5yYWhtZW4ge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGJvcmRlclxyXG4gICAgICAgIGJvcmRlci1ncmF5LTMwMFxyXG4gICAgICAgIHJvdW5kZWQtbGdcclxuICAgICAgICBzaGFkb3ctc21cclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLypSYWhtZW4gZsO8ciBlaW4gZWl6ZWxuZXMgTW9kdWwsIGFuYWxvZyB6dSBSYWhtZW4gYmVpIE5ld3MtSXRlbXMqL1xyXG4gICAgLypEdXJjaCBkYXMgUGFkZGluZyB3aXJkIEFic3RhbmQgendpc2NoZW4gSW5oYWx0IHVuZCBSYWhtZW4gZXJ6ZXVndC4qL1xyXG4gICAgLm1vZHVsLW1pdC1yYWhtZW4ge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHB4LTRcclxuICAgICAgICBweS00XHJcbiAgICAgICAgcmFobWVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qUmFobWVuIGbDvHIgQ29udGFpbmVyLVNla3Rpb24qL1xyXG4gICAgLypcclxuICAgIER1cmNoIGRpZSBNYXJnaW5zIHdpcmQgQWJzdGFuZCB6d2lzY2hlbiBTZWt0aW9uIHVuZCBhbmdyZW56ZW5kZW4gU2VrdGlvbmVuIGJ6dy4gQnJvd3NlcnJhbmQgZXJ6ZXVndC5cclxuICAgIEplIG5hY2hkZW0sIG9iIGVpbmUgU2VrdGlvbiBsaW5rcywgcmVjaHRzLCBtaXR0aWcgendpc2NoZW4gendlaSBhbmRlcmVuIFNla3Rpb25lbiBvZGVyIHNvbG8gdm9ya29tbXQsXHJcbiAgICBtdXNzIGRpZSBNYXJnaW4gdW50ZXJzY2hpZWRsaWNoIGJyZWl0IHNlaW4sIGRhbWl0IElubmVuLSB1bmQgQXXDn2VuYWJhYnN0w6RuZGUgw7xiZXJlaW5zdGltbWVuLlxyXG4gICAgKi9cclxuICAgIC5zZWt0aW9uLW1pdC1yYWhtZW4tc29sbyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgbXgtW3ZhcigtLW1vZHVsZS1pbm5lci1tYXJnaW4teCldXHJcbiAgICAgICAgbXktW3ZhcigtLW1vZHVsZS1pbm5lci1tYXJnaW4teSldXHJcbiAgICAgICAgcmFobWVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgLnNla3Rpb24tbWl0LXJhaG1lbi1saW5rcyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgbXgtW3ZhcigtLW1vZHVsZS1pbm5lci1tYXJnaW4teCldXHJcbiAgICAgICAgbGc6bXgtMFxyXG4gICAgICAgIGxnOm1sLVt2YXIoLS1tb2R1bGUtaW5uZXItbWFyZ2luLXgpXVxyXG4gICAgICAgIGxnOm1yLVtjYWxjKHZhcigtLW1vZHVsZS1pbm5lci1tYXJnaW4teCkvMildXHJcbiAgICAgICAgbXktW3ZhcigtLW1vZHVsZS1pbm5lci1tYXJnaW4teSldXHJcbiAgICAgICAgcmFobWVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgLnNla3Rpb24tbWl0LXJhaG1lbi1taXR0ZSB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgbXgtW3ZhcigtLW1vZHVsZS1pbm5lci1tYXJnaW4teCldXHJcbiAgICAgICAgbGc6bXgtMFxyXG4gICAgICAgIGxnOm1sLVtjYWxjKHZhcigtLW1vZHVsZS1pbm5lci1tYXJnaW4teCkvMildXHJcbiAgICAgICAgbGc6bXItW2NhbGModmFyKC0tbW9kdWxlLWlubmVyLW1hcmdpbi14KS8yKV1cclxuICAgICAgICBteS1bdmFyKC0tbW9kdWxlLWlubmVyLW1hcmdpbi15KV1cclxuICAgICAgICByYWhtZW5cclxuICAgICAgICA7XHJcbiAgICB9XHJcbiAgICAuc2VrdGlvbi1taXQtcmFobWVuLXJlY2h0cyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgbXgtW3ZhcigtLW1vZHVsZS1pbm5lci1tYXJnaW4teCldXHJcbiAgICAgICAgbGc6bXgtMFxyXG4gICAgICAgIGxnOm1sLVtjYWxjKHZhcigtLW1vZHVsZS1pbm5lci1tYXJnaW4teCkvMildXHJcbiAgICAgICAgbGc6bXItW3ZhcigtLW1vZHVsZS1pbm5lci1tYXJnaW4teCldXHJcbiAgICAgICAgbXktW3ZhcigtLW1vZHVsZS1pbm5lci1tYXJnaW4teSldXHJcbiAgICAgICAgcmFobWVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qVmVydGlrYWxlIFplbnRyaWVydW5nIGFsbGVyIEluaGFsdGUgaW4gZWluZXIgU2VrdGlvbiovXHJcbiAgICAuc2VrdGlvbi12ZXJ0aWthbC16ZW50cmllcnQtZmFsbHMtcmFobWVuLWRhbm4taG9laGUtdm9sbCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZ3JpZFxyXG4gICAgICAgIHNlbGYtc3RyZXRjaFxyXG4gICAgICAgIGl0ZW1zLWNlbnRlclxyXG4gICAgICAgIDtcclxuICAgIH1cclxuICAgIC5zZWt0aW9uLXZlcnRpa2FsLXplbnRyaWVydC1mYWxscy1yYWhtZW4tZGFubi1ob2VoZS1taW5pbWFsIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBzZWxmLWNlbnRlclxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBBYmdlcnVuZGV0LCBmw7xyIEJ1dHRvbnMgdS7DhC46IEdydW5kZGVmaW5pdGlvbiAqL1xyXG4gICAgLmFiZ2VydW5kZXQge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGJvcmRlci0wXHJcbiAgICAgICAgYm9yZGVyLXRyYW5zcGFyZW50XHJcbiAgICAgICAgcm91bmRlZC1tZFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKkxpbmtzIGluIFplaXRyYXVtLUxlaXN0ZW4qL1xyXG4gICAgLyptdXNzIGF1Y2ggI21haW4tTGlua3Mgw7xiZXJzY2hyZWliZW4qL1xyXG4gICAgLypha3RpdmUgTGlua3Mgd2VyZGVuIGR1cmNoIEx1Y2VlIG1hbnVlbGwgYXVmIGZvbnQtYm9sZCBnZXNldHp0Ki9cclxuICAgIC5pbnYtemVpdHJhdW0tbGVpc3RlIGEsXHJcbiAgICAjbWFpbiAuaW52LXplaXRyYXVtLWxlaXN0ZSBhXHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZm9udC1ub3JtYWxcclxuICAgICAgICB0ZXh0LWxpbmtcclxuICAgICAgICB2aXNpdGVkOnRleHQtbGlua1xyXG4gICAgICAgIGhvdmVyOmZvbnQtYm9sZFxyXG4gICAgICAgIGhvdmVyOnRleHQtYmxhY2tcclxuICAgICAgICBhY3RpdmU6Zm9udC1ib2xkXHJcbiAgICAgICAgYWN0aXZlOnRleHQtYmxhY2tcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLmludi16ZWl0cmF1bS1sZWlzdGUgYS5ha3RpdixcclxuICAgICNtYWluIC5pbnYtemVpdHJhdW0tbGVpc3RlIGEuYWt0aXZcclxuICAgIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBmb250LWJvbGRcclxuICAgICAgICB0ZXh0LWxpbmtaZWl0cmF1bUxlaXN0ZUFrdGl2XHJcbiAgICAgICAgdmlzaXRlZDp0ZXh0LWxpbmtaZWl0cmF1bUxlaXN0ZUFrdGl2XHJcbiAgICAgICAgaG92ZXI6dGV4dC1ibGFja1xyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcblxyXG59XHJcbiIsIi8qIFNOQVBTSE9UICovXHJcblxyXG5AbGF5ZXIgY29tcG9uZW50cyB7XHJcblxyXG4gICAgQG1lZGlhIHByaW50IHtcclxuXHJcbiAgICAgICAgLypQQUdFLUJSRUFLUyovXHJcblxyXG4gICAgICAgIC8qXHJcbiAgICAgICAgUGFnZS1CcmVha3MgZnVua3Rpb25pZXJlbiBiZWltIERydWNrZW4gaW4gbWVocmVyZW4gWnVzYW1tZW5ow6RuZ2VuIG5pY2h0IHdpZSBnZXfDvG5zY2h0OlxyXG4gICAgICAgIC0gQmVpbSBVbXNjaGFsdGVuIHZvbiBIb2NoLSBhdWYgUXVlcmZvcm1hdC5cclxuICAgICAgICAtIEluIENocm9tZS9FZGdlLCB3ZW5uIGlyZ2VuZGVpbiB1bWdlYmVuZGVzIERJViBlaW5lIEVpZ2Vuc2NoYWZ0IGRpc3BsYXk6Z3JpZCBvZGVyIGRpc3BsYXk6ZmxleCBoYXQsXHJcbiAgICAgICAgICB3YXMgYWJlciBmw7xyIGRlbiBBdWZiYXUgZGVzIFdlYnNpdGUtTGF5b3V0cyBzZWxic3QgYWJzb2x1dCB3ZXNlbnRsaWNoIGlzdCB1bmQgYXVmIGFsbGUgU2VpdGVuIHp1dHJpZmZ0LFxyXG4gICAgICAgICAgd2VpbCBzY2hvbiBkaWUgw6R1w59lcnN0ZW4gV3JhcHBlci1ESVZzIGRpZXNlIEVpZ2Vuc2NoYWZ0IGhhYmVuLiBFcyBpc3QgYmVrYW5udCwgZGFzcyBDaHJvbWUgaGllclxyXG4gICAgICAgICAgemllbWxpY2ggYnVnZ3kgaXN0IGJ6dy4gZGllc2UgRnVua3Rpb25hbGl0w6R0IG5vY2ggbmljaHQgYmlldGV0LlxyXG4gICAgICAgIC0gRGFkdXJjaCB3ZXJkZW4gbm90Z2VkcnVuZ2VuIEVsZW1lbnRlIG1hbmNobWFsIHVuZ8O8bnN0aWcgdW1nZWJyb2NoZW4gdW5kIGVzIGVudHN0ZWhlblxyXG4gICAgICAgICAgRG9wcGx1bmdlbiBpbiDDnGJlcnNjaHJpZnRlbiBldGMuXHJcbiAgICAgICAgKi9cclxuXHJcbiAgICAgICAgLmludi1icmVhay1hZnRlciB7XHJcblxyXG4gICAgICAgICAgICBicmVhay1hZnRlcjogICAgICAgIGFsd2F5czsgLyogRXhwZXJpbWVudGFsIEZlYXR1cmUgaW4gRmlyZWZveCAqL1xyXG4gICAgICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiAgIGFsd2F5czsgLyogQ2hyb21lICovXHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmludi1icmVhay1iZWZvcmUge1xyXG5cclxuICAgICAgICAgICAgYnJlYWstYmVmb3JlOiAgICAgIGFsd2F5cyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWdlLWJyZWFrLWJlZm9yZTogYWx3YXlzICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmludi1icmVhay1pbnNpZGUtYXZvaWQge1xyXG5cclxuICAgICAgICAgICAgYnJlYWstaW5zaWRlOiAgICAgICBhdm9pZDtcclxuICAgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6ICBhdm9pZDtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKlxyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgcGFnZS1icmVhay1hZnRlcjphdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOmF2b2lkO1xyXG4gICAgICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOmF1dG87XHJcbiAgICAgICAgICAgIGJyZWFrLWluc2lkZTphdm9pZDtcclxuICAgICAgICAgICAgYnJlYWstYWZ0ZXI6YXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTphdm9pZDtcclxuICAgICAgICAgICAgcGFnZS1icmVhay1hZnRlcjphdXRvO1xyXG4gICAgICAgICAgICBicmVhay1pbnNpZGU6YXZvaWQ7XHJcbiAgICAgICAgICAgIGJyZWFrLWFmdGVyOmF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICovXHJcblxyXG4gICAgICAgIC8qXHJcbiAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OnRhYmxlLWhlYWRlci1ncm91cDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGZvb3Qge1xyXG4gICAgICAgICAgICBkaXNwbGF5OnRhYmxlLWZvb3Rlci1ncm91cDtcclxuICAgICAgICB9XHJcbiAgICAgICAgKi9cclxuXHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8qIEpRVUVSWS1EQVRBVEFCTEVTICovXHJcbi8qIEJhc2VkIG9uOiBqcXVlcnkuZGF0YVRhYmxlcy5jc3MgKi9cclxuXHJcbkBsYXllciBjb21wb25lbnRzIHtcclxuXHJcbiAgICAvKlRBQkVMTEUsIE9ITkUgU1RFVUVSRUxFTUVOVEUqL1xyXG4gICAgdGFibGUuZGF0YVRhYmxlIHtcclxuICAgICAgICAvKm1hcmdpbjogMCBhdXRvOyovXHJcbiAgICAgICAgY2xlYXI6ICAgICAgICAgICBib3RoO1xyXG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XHJcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6ICAwO1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHctZnVsbFxyXG4gICAgICAgIC8qdy0xLzIqL1xyXG4gICAgICAgIGZvbnQtYm9sZFxyXG4gICAgICAgIHRleHQteHMgbGc6dGV4dC1zbVxyXG4gICAgICAgIHByaW50OnRleHQtMnhzXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZSAuY2hpbGQgLmR0ci10aXRsZSB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZm9udC1ib2xkXHJcbiAgICAgICAgYWZ0ZXI6Y29udGVudC1bJzonXVxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgLmNoaWxkIC5kdHItZGF0YSB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgIWZvbnQtbm9ybWFsXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qT3JhbmdlbmUgQ2hlY2tib3hlbiovXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGQgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHRleHQtaW52ZXh0cmFPcmFuZ2VcclxuICAgICAgICBmb2N1czpvdXRsaW5lLTBcclxuICAgICAgICBmb2N1czpyaW5nLTBcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoLmR0LWxlZnQsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGQuZHQtbGVmdCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGguZHQtY2VudGVyLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRkLmR0LWNlbnRlcixcclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0ZC5kYXRhVGFibGVzX2VtcHR5IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoLmR0LXJpZ2h0LFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRkLmR0LXJpZ2h0IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGguZHQtanVzdGlmeSxcclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1qdXN0aWZ5IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0aC5kdC1ub3dyYXAsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGQuZHQtbm93cmFwIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLWxlZnQsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGhlYWQgdGQuZHQtaGVhZC1sZWZ0LFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtbGVmdCxcclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLWxlZnQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLmR0LWhlYWQtY2VudGVyLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtY2VudGVyLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtY2VudGVyLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRmb290IHRkLmR0LWhlYWQtY2VudGVyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLmR0LWhlYWQtcmlnaHQsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGhlYWQgdGQuZHQtaGVhZC1yaWdodCxcclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLXJpZ2h0LFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRmb290IHRkLmR0LWhlYWQtcmlnaHQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLWp1c3RpZnksXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGhlYWQgdGQuZHQtaGVhZC1qdXN0aWZ5LFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtanVzdGlmeSxcclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLWp1c3RpZnkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLmR0LWhlYWQtbm93cmFwLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtbm93cmFwLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtbm93cmFwLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRmb290IHRkLmR0LWhlYWQtbm93cmFwIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5LWxlZnQsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1sZWZ0IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5LWNlbnRlcixcclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ZC5kdC1ib2R5LWNlbnRlciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5LXJpZ2h0LFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRib2R5IHRkLmR0LWJvZHktcmlnaHQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5LWp1c3RpZnksXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1qdXN0aWZ5IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5LW5vd3JhcCxcclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ZC5kdC1ib2R5LW5vd3JhcCB7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGQuZHQtY29udHJvbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGN1cnNvcjogICAgIHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRkLmR0LWNvbnRyb2w6YmVmb3JlIHtcclxuICAgICAgICBoZWlnaHQ6ICAgICAgICAgICAxZW07XHJcbiAgICAgICAgd2lkdGg6ICAgICAgICAgICAgMWVtO1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICAgICAgIC05cHg7XHJcbiAgICAgICAgZGlzcGxheTogICAgICAgICAgaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiAgICAgICAgICAgIHdoaXRlO1xyXG4gICAgICAgIGJvcmRlcjogICAgICAgICAgIDAuMTVlbSBzb2xpZCB3aGl0ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAgICAxZW07XHJcbiAgICAgICAgYm94LXNoYWRvdzogICAgICAgMCAwIDAuMmVtICM0NDQ7XHJcbiAgICAgICAgYm94LXNpemluZzogICAgICAgY29udGVudC1ib3g7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogICAgICAgY2VudGVyO1xyXG4gICAgICAgIHRleHQtaW5kZW50OiAgICAgIDAgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LWZhbWlseTogICAgICBcIkNvdXJpZXIgTmV3XCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogICAgICAxZW07XHJcbiAgICAgICAgY29udGVudDogICAgICAgICAgXCIrXCI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMxYjEzMTtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdHIuZHQtaGFzQ2hpbGQgdGQuZHQtY29udHJvbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICAgICAgICAgIFwiLVwiO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMzMzMzM7XHJcbiAgICB9XHJcblxyXG4gICAgLyogSGVhZGVyIGFuZCBmb290ZXIgKi9cclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aCxcclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkIHtcclxuICAgICAgICBwYWRkaW5nOiAgICAgICAxMHB4IDE4cHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxMTE7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgYmctdGFibGVQcmltYXJ5XHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aDphY3RpdmUsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGhlYWQgdGQ6YWN0aXZlIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aCxcclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZCB7XHJcbiAgICAgICAgcGFkZGluZzogICAgMTBweCAxOHB4IDZweCAxOHB4O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMTExO1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGJnLXRhYmxlUHJpbWFyeVxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmcsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2MsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2NfZGlzYWJsZWQge1xyXG4gICAgICAgIGN1cnNvcjogICAgICAgICAgICAgIHBvaW50ZXI7XHJcbiAgICAgICAgKmN1cnNvcjogICAgICAgICAgICAgaGFuZDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogICBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2RhdGF0YWJsZXMvc29ydF9ib3RoLnBuZ1wiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKlNwYWx0ZW5rb3BmIHZvbiBTcGFsdGVuLCBuYWNoIGRlbmVuIEFTQyBzb3J0aWVydCB3dXJkZSovXHJcbiAgICAvKlxyXG4gICAgSGllciBrw7ZubnRlIG1hbiBlaW5lIGFuZGVyZSBCRy1GYXJiZSBzZXR6ZW4sIHNvZmVybiBuYWNoIGRpZXNlciBTcGFsdGUgc29ydGllcnQgd2lyZCxcclxuICAgIGFiZXIgZGFzIGzDpHNzdCBzaWNoIGFuYWxvZyBOSUNIVCBpbiA8dGZvb3Q+IG1hY2hlbiwgZGEgZG9ydCBkaWUgdGgtWmVsbGVuIHZvbiBEVFxyXG4gICAgbmljaHQgZGllIHNvcnRpbmctS2xhc3NlIFwidmVycGFzc3RcIiBiZWtvbW1lbi4gRXZ0LiBrb21wbGl6aWVydCDDvGJlciBEVC1PcHRpb25zIG1nbC4/XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgYmctdGFibGVQcmltYXJ5RGFya1xyXG4gICAgICAgIDtcclxuICAgICovXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZGF0YXRhYmxlcy9zb3J0X2FzYy5wbmdcIikgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAvKlNwYWx0ZW5rb3BmIHZvbiBTcGFsdGVuLCBuYWNoIGRlbmVuIERFU0Mgc29ydGllcnQgd3VyZGUqL1xyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2Mge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kYXRhdGFibGVzL3NvcnRfZGVzYy5wbmdcIikgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZGF0YXRhYmxlcy9zb3J0X2FzY19kaXNhYmxlZC5wbmdcIik7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2NfZGlzYWJsZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kYXRhdGFibGVzL3NvcnRfZGVzY19kaXNhYmxlZC5wbmdcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyogQm9keSAqL1xyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRib2R5IHRyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ci5zZWxlY3RlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0IwQkVEOTtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGgsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8qS2xhc3NlIGluIEVudHdpY2tsdW5nLCB1bSBTcGFsdGVuIHNjaG1hbGVyIHp1IG1hY2hlbi4qL1xyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLm5vLXgtcGFkZGluZyxcclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5uby14LXBhZGRpbmcsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGgubm8teC1wYWRkaW5nLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRib2R5IHRkLm5vLXgtcGFkZGluZyxcclxuICAgIHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5uby14LXBhZGRpbmcsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQubm8teC1wYWRkaW5nXHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgIXB4LTBcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlLnJvdy1ib3JkZXIgdGJvZHkgdGgsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUucm93LWJvcmRlciB0Ym9keSB0ZCxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRoLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdGQge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRoLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLnJvdy1ib3JkZXIgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcclxuICAgICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0aCxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0ZCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogICAxcHggc29saWQgI2RkZDtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0ciB0aDpmaXJzdC1jaGlsZCxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuc3RyaXBlIHRib2R5IHRyLm9kZCxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLm9kZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuc3RyaXBlIHRib2R5IHRyLm9kZC5zZWxlY3RlZCxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLm9kZC5zZWxlY3RlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FjYmFkNDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FhYjdkMTtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uIHRib2R5IHRyID4gLnNvcnRpbmdfMSxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4gdGJvZHkgdHIgPiAuc29ydGluZ18yLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbiB0Ym9keSB0ciA+IC5zb3J0aW5nXzMsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ciA+IC5zb3J0aW5nXzEsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ciA+IC5zb3J0aW5nXzIsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ciA+IC5zb3J0aW5nXzMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbiB0Ym9keSB0ci5zZWxlY3RlZCA+IC5zb3J0aW5nXzEsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uIHRib2R5IHRyLnNlbGVjdGVkID4gLnNvcnRpbmdfMixcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4gdGJvZHkgdHIuc2VsZWN0ZWQgPiAuc29ydGluZ18zLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuc2VsZWN0ZWQgPiAuc29ydGluZ18xLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuc2VsZWN0ZWQgPiAuc29ydGluZ18yLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuc2VsZWN0ZWQgPiAuc29ydGluZ18zIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWNiYWQ1O1xyXG4gICAgfVxyXG5cclxuICAgIC8qU29ydGllcnNwYWx0ZSwgaW4gdW5nZXJhZGVuIFplaWxlbiovXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQgPiAuc29ydGluZ18xLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkID4gLnNvcnRpbmdfMSB7XHJcbiAgICAgICAgLypiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyovXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTFlMTtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQgPiAuc29ydGluZ18yLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkID4gLnNvcnRpbmdfMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQgPiAuc29ydGluZ18zLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkID4gLnNvcnRpbmdfMyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQuc2VsZWN0ZWQgPiAuc29ydGluZ18xLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkLnNlbGVjdGVkID4gLnNvcnRpbmdfMSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E2YjRjZDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQuc2VsZWN0ZWQgPiAuc29ydGluZ18yLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkLnNlbGVjdGVkID4gLnNvcnRpbmdfMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E4YjVjZjtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQuc2VsZWN0ZWQgPiAuc29ydGluZ18zLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkLnNlbGVjdGVkID4gLnNvcnRpbmdfMyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E5YjdkMTtcclxuICAgIH1cclxuXHJcbiAgICAvKlNvcnRpZXJzcGFsdGUsIGluIGdlcmFkZW4gWmVpbGVuKi9cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4gPiAuc29ydGluZ18xLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIuZXZlbiA+IC5zb3J0aW5nXzEge1xyXG4gICAgICAgIC8qYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsqL1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWUxZTE7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuZXZlbiA+IC5zb3J0aW5nXzIsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuID4gLnNvcnRpbmdfMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYztcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5ldmVuID4gLnNvcnRpbmdfMyxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLmV2ZW4gPiAuc29ydGluZ18zIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQgPiAuc29ydGluZ18xLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIuZXZlbi5zZWxlY3RlZCA+IC5zb3J0aW5nXzEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhY2JhZDU7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuZXZlbi5zZWxlY3RlZCA+IC5zb3J0aW5nXzIsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkID4gLnNvcnRpbmdfMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYmNkNjtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkID4gLnNvcnRpbmdfMyxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQgPiAuc29ydGluZ18zIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWZiZGQ4O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyID4gLnNvcnRpbmdfMSxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uaG92ZXIgdGJvZHkgdHI6aG92ZXIgPiAuc29ydGluZ18xIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyID4gLnNvcnRpbmdfMixcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uaG92ZXIgdGJvZHkgdHI6aG92ZXIgPiAuc29ydGluZ18yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyID4gLnNvcnRpbmdfMyxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uaG92ZXIgdGJvZHkgdHI6aG92ZXIgPiAuc29ydGluZ18zIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkID4gLnNvcnRpbmdfMSxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uaG92ZXIgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQgPiAuc29ydGluZ18xIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTJhZWM3O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkID4gLnNvcnRpbmdfMixcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uaG92ZXIgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQgPiAuc29ydGluZ18yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTNiMGM5O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkID4gLnNvcnRpbmdfMyxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uaG92ZXIgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQgPiAuc29ydGluZ18zIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTViMmNiO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5uby1mb290ZXIge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTExO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5ub3dyYXAgdGgsXHJcbiAgICB0YWJsZS5kYXRhVGFibGUubm93cmFwIHRkIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRoZWFkIHRoLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLmNvbXBhY3QgdGhlYWQgdGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDRweCAxN3B4O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRmb290IHRoLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlLmNvbXBhY3QgdGZvb3QgdGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDRweDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5kYXRhVGFibGUuY29tcGFjdCB0Ym9keSB0aCxcclxuICAgIHRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRib2R5IHRkIHtcclxuICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRoLFxyXG4gICAgdGFibGUuZGF0YVRhYmxlIHRkIHtcclxuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgIH1cclxuXHJcbiAgICAvKldSQVBQRVIgVU5EIFNURVVFUkVMRU1FTlRFKi9cclxuICAgIGRpdi5kYXRhVGFibGVzX3dyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjbGVhcjogICAgYm90aDtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICB0ZXh0LXhzIGxnOnRleHQtc21cclxuICAgICAgICBtdC0wXHJcbiAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgIFN0YXR0IHctc2NyZWVuIG5laG1lIGljaCBoaWVyIGRpZSBnYW56ZSBWaWV3cG9ydGJyZWl0ZSB1bmQgemllaGUgZGF2b25cclxuICAgICAgICAgICAgZGllIEJyZWl0ZSBkZXMgU2Nyb2xsYmFsa2VucyBhYiwgYXXDn2VyIGbDvHIgQlBzIHVudGVyIHNtICg2NDApID0gcmFuZGxvcy5cclxuICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgQnJlaXRlIGRlciBUYWJlbGxlOiBHYW56ZSBCcmVpdGUgYWJ6Z2wuIFNjcm9sbGJhclxyXG4gICAgICAgICAgICA6Ki9cclxuICAgICAgICB3LVtjYWxjKDEwMHZ3LXZhcigtLXNjcm9sbGJhci13aWR0aCkpXVxyXG4gICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICBBYiBzbSBzb2xsIGVzIGVpbmVuIFJhbmRhYnN0YW5kIG14IGdlYmVuLCBkZXIgZGVuIGFuZGVyZW4gTW9kdWxlbiBlbnRzcHJpY2h0LlxyXG4gICAgICAgICAgICBEYW5uIG11c3MgYmVpIGRlciBUYWJlbGxlbmJyZWl0ZSBkaWVzZXIgUmFuZGFic3RhbmQgMiB4IGFiZ2V6b2dlbiB3ZXJkZW4uXHJcbiAgICAgICAgICAgICovXHJcbiAgICAgICAgc206bXgtW3ZhcigtLW1vZHVsZS1pbm5lci1tYXJnaW4teCldXHJcbiAgICAgICAgc206dy1bY2FsYygxMDB2dy0oMip2YXIoLS1tb2R1bGUtaW5uZXItbWFyZ2luLXgpKS12YXIoLS1zY3JvbGxiYXItd2lkdGgpKV1cclxuICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgTWF4aW1hbGUgQnJlaXRlIGlzdCBkaWUgT2JlcmdyZW56ZSBpbiAxOTIwcHgsIGFiemdsLiBkZXMgYWIgQlAgc20gZ2VsdGVuZGVuXHJcbiAgICAgICAgICAgIE1vZHVsLVJhbmRhYnN0YW5kcy5cclxuICAgICAgICAgICAgKi9cclxuICAgICAgICBtYXgtdy1bY2FsYygxOTIwcHgtKDIqdmFyKC0tbW9kdWxlLWlubmVyLW1hcmdpbi14KSkpXVxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKlNlbGVjdCBmw7xyIEFuemFobCovXHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2xlbmd0aCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZmxvYXQtbm9uZVxyXG4gICAgICAgIDN4czpmbG9hdC1sZWZ0XHJcbiAgICAgICAgcHJpbnQ6aGlkZGVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfbGVuZ3RoIHNlbGVjdCB7XHJcbiAgICAgICAgYm9yZGVyOiAgICAgICAgICAgMXB4IHNvbGlkICNhYWE7XHJcbiAgICAgICAgLypib3JkZXItcmFkaXVzOiAgICAzcHg7Ki9cclxuICAgICAgICAvKnBhZGRpbmc6ICAgICAgICAgIDVweDsqL1xyXG4gICAgICAgIC8qYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ki9cclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICB0ZXh0LXhzIGxnOnRleHQtc21cclxuICAgICAgICBtYi0yXHJcbiAgICAgICAgbXItMlxyXG4gICAgICAgIHAtMVxyXG4gICAgICAgIGgtOVxyXG4gICAgICAgIG1pbi13LVs2MHB4XVxyXG4gICAgICAgIHNtOnctYXV0b1xyXG4gICAgICAgIGJnLXdoaXRlXHJcbiAgICAgICAgcm91bmRlZC1tZFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKklubmVyZSBTdWNoZSovXHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlciB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgaC04XHJcbiAgICAgICAgZmxvYXQtbm9uZVxyXG4gICAgICAgIDN4czpmbG9hdC1yaWdodFxyXG4gICAgICAgIDN4czp0ZXh0LXJpZ2h0XHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfZmlsdGVyIGlucHV0IHtcclxuICAgICAgICAvKmJvcmRlci1yYWRpdXM6ICAgIDNweDsqL1xyXG4gICAgICAgIC8qYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ki9cclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBiZy13aGl0ZVxyXG4gICAgICAgIG1sLTFcclxuICAgICAgICBwLTJcclxuICAgICAgICBtaW4taC1mdWxsXHJcbiAgICAgICAgdGV4dC14cyBsZzp0ZXh0LXNtXHJcbiAgICAgICAgcGxhY2Vob2xkZXI6dGV4dC14cyBwbGFjZWhvbGRlcjpsZzp0ZXh0LXNtXHJcbiAgICAgICAgcGxhY2Vob2xkZXI6Zm9jdXM6dGV4dC10cmFuc3BhcmVudFxyXG4gICAgICAgIHBsYWNlaG9sZGVyOnRleHQtY2VudGVyXHJcbiAgICAgICAgcHJpbnQ6aGlkZGVuXHJcbiAgICAgICAgcm91bmRlZC1tZFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKkluZm8genUgYWt0dWVsbCBnZXplaWd0ZW4gRGF0ZW5zw6R0emVuKi9cclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfaW5mbyB7XHJcbiAgICAgICAgLypcclxuICAgICAgICBjbGVhcjogICAgICAgYm90aDtcclxuICAgICAgICBmbG9hdDogICAgICAgbGVmdDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMC43NTVlbTtcclxuICAgICAgICAqL1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGdyaWRcclxuICAgICAgICBtdC0yXHJcbiAgICAgICAgcHQtMlxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKlBhZ2luaWVydW5nKi9cclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xyXG4gICAgICAgIC8qXHJcbiAgICAgICAgZmxvYXQ6ICAgICAgIHJpZ2h0O1xyXG4gICAgICAgIHRleHQtYWxpZ246ICByaWdodDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMC4yNWVtO1xyXG4gICAgICAgICovXHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgbXQtMlxyXG4gICAgICAgIGZsZXhcclxuICAgICAgICBnYXAteC0yXHJcbiAgICAgICAgcHJpbnQ6aGlkZGVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIExpbmtzIFBhZ2luaWVydW5nOiBDU1MtUmVnZWwgZsO8ciAjbWFpbiBhIMO8YmVyc2NocmVpYmVuLiAqL1xyXG4gICAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSBhIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAhZm9udC1ub3JtYWxcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uIHtcclxuICAgICAgICBib3gtc2l6aW5nOiAgICAgIGJvcmRlci1ib3g7XHJcbiAgICAgICAgZGlzcGxheTogICAgICAgICBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWluLXdpZHRoOiAgICAgICAxLjVlbTtcclxuICAgICAgICB0ZXh0LWFsaWduOiAgICAgIGNlbnRlcjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBjdXJzb3I6ICAgICAgICAgIHBvaW50ZXI7XHJcbiAgICAgICAgKmN1cnNvcjogICAgICAgICBoYW5kO1xyXG4gICAgICAgIGNvbG9yOiAgICAgICAgICAgIzMzMyAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlcjogICAgICAgICAgMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICAgMnB4O1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHB4LTJcclxuICAgICAgICBweS0yXHJcbiAgICAgICAgO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAvKiBadXLDvGNrLUJ1dHRvbiBsaW5rc2LDvG5kaWcgYW56ZWlnZW4gKi9cclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnByZXZpb3VzIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAtbXgtMlxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24uY3VycmVudCxcclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5jdXJyZW50OmhvdmVyIHtcclxuICAgICAgICAvKmNvbG9yOiAgICAgICAgICAgICMzMzMgIWltcG9ydGFudDsqL1xyXG4gICAgICAgIGNvbG9yOiAgICAgICAgICAgIGJsYWNrO1xyXG4gICAgICAgIC8qYm9yZGVyOiAgICAgICAgICAgMXB4IHNvbGlkICM5Nzk3OTc7Ki9cclxuICAgICAgICAvKmJhY2tncm91bmQtY29sb3I6IHdoaXRlOyovXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5kaXNhYmxlZCxcclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5kaXNhYmxlZDpob3ZlcixcclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5kaXNhYmxlZDphY3RpdmUge1xyXG4gICAgICAgIGN1cnNvcjogICAgIGRlZmF1bHQ7XHJcbiAgICAgICAgY29sb3I6ICAgICAgIzY2NiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlcjogICAgIDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbjpob3ZlciB7XHJcbiAgICAgICAgLypjb2xvcjogICAgICAgICAgICB3aGl0ZSAhaW1wb3J0YW50OyovXHJcbiAgICAgICAgLypib3JkZXI6ICAgICAgICAgICAxcHggc29saWQgIzExMTsqL1xyXG4gICAgICAgIC8qYmFja2dyb3VuZC1jb2xvcjogIzU4NTg1ODsqL1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgIH1cclxuXHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b246YWN0aXZlIHtcclxuICAgICAgICBvdXRsaW5lOiAgICAgICAgICBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjJiMmI7XHJcbiAgICB9XHJcblxyXG4gICAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAuZWxsaXBzaXMge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMWVtO1xyXG4gICAgfVxyXG5cclxuICAgIC8qUHJvY2Vzc2luZy1JbmZvKi9cclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcHJvY2Vzc2luZyB7XHJcbiAgICAgICAgcG9zaXRpb246ICAgICAgICAgYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAgICAgICAgICAgICAgNTAlO1xyXG4gICAgICAgIGxlZnQ6ICAgICAgICAgICAgIDUwJTtcclxuICAgICAgICB3aWR0aDogICAgICAgICAgICAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogICAgICAgICAgIDQwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICAgICAgLTUwJTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAgICAgICAtMjVweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogICAgICAyMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246ICAgICAgIGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6ICAgICAgICAxLjJlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAgICAgICAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSksIGNvbG9yLXN0b3AoMjUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkpLCBjb2xvci1zdG9wKDc1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogICAgICAgLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDI1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDc1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAgICAgICAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgMjUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgNzUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICAgICAgIC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDI1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDc1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAgICAgICAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDI1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDc1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAyNSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSA3NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgsXHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlcixcclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfaW5mbyxcclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcHJvY2Vzc2luZyxcclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xyXG4gICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qU2Nyb2xsdmVyaGFsdGVuKi9cclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIHtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAgICAgZHVtbXlcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLypBYnN0YW5kIHp3aXNjaGVuIFN1Y2hlcmdlYm5pcy1GaWx0ZXIgdW5kIFRhYmVsbGUuKi9cclxuICAgIC8qR3JlaWZ0IG51ciwgd2VubiBzY3JvbGxYOiB0cnVlLiovXHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbEhlYWRJbm5lciB7XHJcbiAgICB9XHJcblxyXG4gICAgLypBYnN0YW5kIHp3aXNjaGVuIFN1Y2hlcmdlYm5pcy1GaWx0ZXIgdW5kIFRhYmVsbGUuKi9cclxuICAgIC8qR3JlaWZ0IG51ciwgd2VubiBzY3JvbGxYOiB0cnVlLiovXHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbEZvb3RJbm5lciB7XHJcbiAgICB9XHJcblxyXG4gICAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSB7XHJcbiAgICAgICAgKm1hcmdpbi10b3A6ICAgICAgICAgICAgICAgIC0xcHg7XHJcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgPiB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgPiB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCxcclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgPiB0YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgPiB0YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5ID4gdGFibGUgPiB0aGVhZCA+IHRyID4gdGggPiBkaXYuZGF0YVRhYmxlc19zaXppbmcsXHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5ID4gdGFibGUgPiB0aGVhZCA+IHRyID4gdGQgPiBkaXYuZGF0YVRhYmxlc19zaXppbmcsXHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5ID4gdGFibGUgPiB0Ym9keSA+IHRyID4gdGggPiBkaXYuZGF0YVRhYmxlc19zaXppbmcsXHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5ID4gdGFibGUgPiB0Ym9keSA+IHRyID4gdGQgPiBkaXYuZGF0YVRhYmxlc19zaXppbmcge1xyXG4gICAgICAgIGhlaWdodDogICAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgbWFyZ2luOiAgIDAgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAgMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIubm8tZm9vdGVyIC5kYXRhVGFibGVzX3Njcm9sbEJvZHkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTExO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXIubm8tZm9vdGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEhlYWQgdGFibGUuZGF0YVRhYmxlLFxyXG4gICAgLmRhdGFUYWJsZXNfd3JhcHBlci5uby1mb290ZXIgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSA+IHRhYmxlIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXRhVGFibGVzX3dyYXBwZXI6YWZ0ZXIge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICBkaXNwbGF5OiAgICBibG9jaztcclxuICAgICAgICBjb250ZW50OiAgICBcIlwiO1xyXG4gICAgICAgIGNsZWFyOiAgICAgIGJvdGg7XHJcbiAgICAgICAgaGVpZ2h0OiAgICAgMDtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiLyogSlFVRVJZLURBVEFUQUJMRVM6IEJVVFRPTlMgKi9cclxuLyogQmFzZWQgb246IGJ1dHRvbnMuZGF0YVRhYmxlcy5jc3MgKi9cclxuXHJcbkBsYXllciBjb21wb25lbnRzIHtcclxuXHJcbiAgICBAa2V5ZnJhbWVzIGR0Yi1zcGlubmVyIHtcclxuICAgICAgICAxMDAlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBALW8ta2V5ZnJhbWVzIGR0Yi1zcGlubmVyIHtcclxuICAgICAgICAxMDAlIHtcclxuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBALW1zLWtleWZyYW1lcyBkdGItc3Bpbm5lciB7XHJcbiAgICAgICAgMTAwJSB7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBkdGItc3Bpbm5lciB7XHJcbiAgICAgICAgMTAwJSB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBALW1vei1rZXlmcmFtZXMgZHRiLXNwaW5uZXIge1xyXG4gICAgICAgIDEwMCUge1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgIGRpdi5kdC1idXR0b25zIHtcclxuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAgICAgZmxleFxyXG4gICAgICAgICAgICBmbGV4LXdyYXBcclxuICAgICAgICAgICAgZ2FwLTJcclxuICAgICAgICAgICAgbXgtW3ZhcigtLW1vZHVsZS1pbm5lci1tYXJnaW4teCldXHJcbiAgICAgICAgICAgIHNtOm14LTBcclxuICAgICAgICAgICAgcHJpbnQ6aGlkZGVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIGRpdi5kdC1idXR0b24taW5mbyB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjAwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzExMTtcclxuICAgICAgICBib3gtc2hhZG93OiAzcHggNHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHotaW5kZXg6IDIxO1xyXG4gICAgfVxyXG4gICAgZGl2LmR0LWJ1dHRvbi1pbmZvIGgyIHtcclxuICAgICAgICBwYWRkaW5nOiAwLjVlbTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xyXG4gICAgfVxyXG4gICAgZGl2LmR0LWJ1dHRvbi1pbmZvID4gZGl2IHtcclxuICAgICAgICBwYWRkaW5nOiAxZW07XHJcbiAgICB9XHJcblxyXG4gICAgZGl2LmR0Yi1wb3BvdmVyLWNsb3NlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgei1pbmRleDogMTI7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uLmR0Yi1oaWRlLWRyb3Age1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAwLjNlbSAwIDAuNWVtO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xyXG4gICAgfVxyXG5cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi10aXRsZTplbXB0eSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBzcGFuLmR0LWJ1dHRvbi1zcGFjZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDAuNWVtO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcbiAgICBzcGFuLmR0LWJ1dHRvbi1zcGFjZXIuYmFyIHtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41ZW07XHJcbiAgICB9XHJcbiAgICBzcGFuLmR0LWJ1dHRvbi1zcGFjZXIuYmFyOmVtcHR5IHtcclxuICAgICAgICBoZWlnaHQ6IDFlbTtcclxuICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gc3Bhbi5kdC1idXR0b24tc3BhY2VyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDAuNWVtIDA7XHJcbiAgICB9XHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gc3Bhbi5kdC1idXR0b24tc3BhY2VyOmVtcHR5IHtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gc3Bhbi5kdC1idXR0b24tc3BhY2VyLmJhciB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uLmR0LWJ1dHRvbixcclxuICAgIGRpdi5kdC1idXR0b24sXHJcbiAgICBhLmR0LWJ1dHRvbixcclxuICAgIGlucHV0LmR0LWJ1dHRvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIC8qYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjMpOyovXHJcbiAgICAgICAgLypib3JkZXItcmFkaXVzOiAycHg7Ki9cclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAgICAgLypteC0xKi9cclxuICAgICAgICAgICAgcHgtNCBweS0yXHJcbiAgICAgICAgICAgIGgtOVxyXG4gICAgICAgICAgICByb3VuZGVkLW1kXHJcbiAgICA7XHJcbiAgICB9XHJcbiAgICBidXR0b24uZHQtYnV0dG9uOmZpcnN0LWNoaWxkLFxyXG4gICAgZGl2LmR0LWJ1dHRvbjpmaXJzdC1jaGlsZCxcclxuICAgIGEuZHQtYnV0dG9uOmZpcnN0LWNoaWxkLFxyXG4gICAgaW5wdXQuZHQtYnV0dG9uOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuICAgIGJ1dHRvbi5kdC1idXR0b24uZGlzYWJsZWQsXHJcbiAgICBkaXYuZHQtYnV0dG9uLmRpc2FibGVkLFxyXG4gICAgYS5kdC1idXR0b24uZGlzYWJsZWQsXHJcbiAgICBpbnB1dC5kdC1idXR0b24uZGlzYWJsZWQge1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ICovXHJcbiAgICAvKiBDb250cm9sLUJ1dHRvbnM6ICAqL1xyXG4gICAgYnV0dG9uLmR0LWJ1dHRvbjphY3RpdmU6bm90KC5kaXNhYmxlZCksXHJcbiAgICBidXR0b24uZHQtYnV0dG9uLmFjdGl2ZTpub3QoLmRpc2FibGVkKSxcclxuICAgIGRpdi5kdC1idXR0b246YWN0aXZlOm5vdCguZGlzYWJsZWQpLFxyXG4gICAgZGl2LmR0LWJ1dHRvbi5hY3RpdmU6bm90KC5kaXNhYmxlZCksXHJcbiAgICBhLmR0LWJ1dHRvbjphY3RpdmU6bm90KC5kaXNhYmxlZCksXHJcbiAgICBhLmR0LWJ1dHRvbi5hY3RpdmU6bm90KC5kaXNhYmxlZCksXHJcbiAgICBpbnB1dC5kdC1idXR0b246YWN0aXZlOm5vdCguZGlzYWJsZWQpLFxyXG4gICAgaW5wdXQuZHQtYnV0dG9uLmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgfVxyXG4gICAgYnV0dG9uLmR0LWJ1dHRvbjphY3RpdmU6bm90KC5kaXNhYmxlZCk6aG92ZXI6bm90KC5kaXNhYmxlZCksXHJcbiAgICBidXR0b24uZHQtYnV0dG9uLmFjdGl2ZTpub3QoLmRpc2FibGVkKTpob3Zlcjpub3QoLmRpc2FibGVkKSxcclxuICAgIGRpdi5kdC1idXR0b246YWN0aXZlOm5vdCguZGlzYWJsZWQpOmhvdmVyOm5vdCguZGlzYWJsZWQpLFxyXG4gICAgZGl2LmR0LWJ1dHRvbi5hY3RpdmU6bm90KC5kaXNhYmxlZCk6aG92ZXI6bm90KC5kaXNhYmxlZCksXHJcbiAgICBhLmR0LWJ1dHRvbjphY3RpdmU6bm90KC5kaXNhYmxlZCk6aG92ZXI6bm90KC5kaXNhYmxlZCksXHJcbiAgICBhLmR0LWJ1dHRvbi5hY3RpdmU6bm90KC5kaXNhYmxlZCk6aG92ZXI6bm90KC5kaXNhYmxlZCksXHJcbiAgICBpbnB1dC5kdC1idXR0b246YWN0aXZlOm5vdCguZGlzYWJsZWQpOmhvdmVyOm5vdCguZGlzYWJsZWQpLFxyXG4gICAgaW5wdXQuZHQtYnV0dG9uLmFjdGl2ZTpub3QoLmRpc2FibGVkKTpob3Zlcjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgfVxyXG4gICAgYnV0dG9uLmR0LWJ1dHRvbjpob3ZlcixcclxuICAgIGRpdi5kdC1idXR0b246aG92ZXIsXHJcbiAgICBhLmR0LWJ1dHRvbjpob3ZlcixcclxuICAgIGlucHV0LmR0LWJ1dHRvbjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gICAgYnV0dG9uLmR0LWJ1dHRvbjpob3Zlcjpub3QoLmRpc2FibGVkKSxcclxuICAgIGRpdi5kdC1idXR0b246aG92ZXI6bm90KC5kaXNhYmxlZCksXHJcbiAgICBhLmR0LWJ1dHRvbjpob3Zlcjpub3QoLmRpc2FibGVkKSxcclxuICAgIGlucHV0LmR0LWJ1dHRvbjpob3Zlcjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgLypib3JkZXI6IDFweCBzb2xpZCAjNjY2OyovXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgfVxyXG4gICAgYnV0dG9uLmR0LWJ1dHRvbjpmb2N1czpub3QoLmRpc2FibGVkKSxcclxuICAgIGRpdi5kdC1idXR0b246Zm9jdXM6bm90KC5kaXNhYmxlZCksXHJcbiAgICBhLmR0LWJ1dHRvbjpmb2N1czpub3QoLmRpc2FibGVkKSxcclxuICAgIGlucHV0LmR0LWJ1dHRvbjpmb2N1czpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQyNmM5ZTtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjYzRkZWYxO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc5YWNlOTtcclxuICAgIH1cclxuICAgIC8qIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fiAqL1xyXG4gICAgLypBcnJvdyBqZXR6dCBoaWRkZW4hKi9cclxuICAgIGJ1dHRvbi5kdC1idXR0b24gc3Bhbi5kdC1kb3duLWFycm93LFxyXG4gICAgZGl2LmR0LWJ1dHRvbiBzcGFuLmR0LWRvd24tYXJyb3csXHJcbiAgICBhLmR0LWJ1dHRvbiBzcGFuLmR0LWRvd24tYXJyb3csXHJcbiAgICBpbnB1dC5kdC1idXR0b24gc3Bhbi5kdC1kb3duLWFycm93IHtcclxuICAgICAgICAvKlxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IC0ycHg7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoNzAsIDcwLCA3MCwgMC43NSk7XHJcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgKi9cclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAgICAgaGlkZGVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC5kdC1idXR0b24gZW1iZWQge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgZGl2LmR0LWJ1dHRvbnMge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgZGl2LmR0LWJ1dHRvbnMuYnV0dG9ucy1yaWdodCB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIGRpdi5kYXRhVGFibGVzX2xheW91dF9jZWxsIGRpdi5kdC1idXR0b25zIHtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgIH1cclxuICAgIGRpdi5kYXRhVGFibGVzX2xheW91dF9jZWxsIGRpdi5kdC1idXR0b25zLmJ1dHRvbnMtcmlnaHQge1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGRpdi5kdC1idG4tc3BsaXQtd3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIC8qd2lkdGg6IDIwMHB4OyovXHJcbiAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcclxuICAgICAgICBwYWRkaW5nOiA0cHggNHB4IDJweCA0cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB6LWluZGV4OiAyMDAyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBib3gtc2hhZG93OiAzcHggNHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgfVxyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIGJ1dHRvbi5kdC1idXR0b24sXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gZGl2LmR0LWJ1dHRvbixcclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBhLmR0LWJ1dHRvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiA0cHggMCAycHggMDtcclxuICAgIH1cclxuICAgIC8qIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fiAqL1xyXG4gICAgLyogQnV0dG9uczogYWt0aXZlIFNwYWx0ZW4gKi9cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBidXR0b24uZHQtYnV0dG9uOmFjdGl2ZTpub3QoLmRpc2FibGVkKSxcclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBidXR0b24uZHQtYnV0dG9uLmFjdGl2ZTpub3QoLmRpc2FibGVkKSxcclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBkaXYuZHQtYnV0dG9uOmFjdGl2ZTpub3QoLmRpc2FibGVkKSxcclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBkaXYuZHQtYnV0dG9uLmFjdGl2ZTpub3QoLmRpc2FibGVkKSxcclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBhLmR0LWJ1dHRvbjphY3RpdmU6bm90KC5kaXNhYmxlZCksXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gYS5kdC1idXR0b24uYWN0aXZlOm5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAgICAgYmctdG9nZ2xlRW5hYmxlZFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuICAgIC8qIEJ1dHRvbnM6IGFrdGl2ZSBTcGFsdGVuIGhvdmVyICovXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gYnV0dG9uLmR0LWJ1dHRvbjphY3RpdmU6bm90KC5kaXNhYmxlZCk6aG92ZXI6bm90KC5kaXNhYmxlZCksXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gYnV0dG9uLmR0LWJ1dHRvbi5hY3RpdmU6bm90KC5kaXNhYmxlZCk6aG92ZXI6bm90KC5kaXNhYmxlZCksXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gZGl2LmR0LWJ1dHRvbjphY3RpdmU6bm90KC5kaXNhYmxlZCk6aG92ZXI6bm90KC5kaXNhYmxlZCksXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gZGl2LmR0LWJ1dHRvbi5hY3RpdmU6bm90KC5kaXNhYmxlZCk6aG92ZXI6bm90KC5kaXNhYmxlZCksXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gYS5kdC1idXR0b246YWN0aXZlOm5vdCguZGlzYWJsZWQpOmhvdmVyOm5vdCguZGlzYWJsZWQpLFxyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIGEuZHQtYnV0dG9uLmFjdGl2ZTpub3QoLmRpc2FibGVkKTpob3Zlcjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIGJnLXRvZ2dsZUVuYWJsZWRIb3ZlclxyXG4gICAgICAgIDtcclxuICAgIH1cclxuICAgIC8qIEJ1dHRvbnM6IGluYWt0aXZlIFNwYWx0ZW4gKi9cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBidXR0b24uYnV0dG9ucy1jb2x1bW5WaXNpYmlsaXR5Om5vdChhY3RpdmUpOm5vdCguZGlzYWJsZWQpXHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIGJnLXRvZ2dsZURpc2FibGVkXHJcbiAgICAgICAgICAgIGxpbmUtdGhyb3VnaFxyXG4gICAgICAgIDtcclxuXHJcbiAgICB9XHJcbiAgICAvKiBCdXR0b25zOiBha3RpdmUgU3BhbHRlbiAqL1xyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIGJ1dHRvbi5idXR0b25zLWNvbHVtblZpc2liaWxpdHkuYWN0aXZlXHJcbiAgICB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IC8qw5xiZXJzdGV1ZXJ0IGRhcyBsaW5lLXRocm91Z2guKi9cclxuICAgIH1cclxuICAgIC8qIEJ1dHRvbnM6IGluYWt0aXZlIFNwYWx0ZW4gaG92ZXIgKi9cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBidXR0b24uYnV0dG9ucy1jb2x1bW5WaXNpYmlsaXR5Om5vdChhY3RpdmUpOmhvdmVyOm5vdCguZGlzYWJsZWQpICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIGJnLXRvZ2dsZURpc2FibGVkSG92ZXJcclxuICAgICAgICA7XHJcblxyXG4gICAgfVxyXG4gICAgLyogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ICovXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gYnV0dG9uLmR0LWJ1dHRvbjpmaXJzdC1jaGlsZCxcclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBkaXYuZHQtYnV0dG9uOmZpcnN0LWNoaWxkLFxyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIGEuZHQtYnV0dG9uOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcclxuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xyXG4gICAgfVxyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIGJ1dHRvbi5kdC1idXR0b246bGFzdC1jaGlsZCxcclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBkaXYuZHQtYnV0dG9uOmxhc3QtY2hpbGQsXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gYS5kdC1idXR0b246bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XHJcbiAgICB9XHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gZGl2LmR0LWJ0bi1zcGxpdC13cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gICAgICAgIG1hcmdpbjogNHB4IDAgMnB4IDA7XHJcbiAgICB9XHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gZGl2LmR0LWJ0bi1zcGxpdC13cmFwcGVyIGJ1dHRvbi5kdC1idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDUwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBkaXYuZHQtYnRuLXNwbGl0LXdyYXBwZXIgYnV0dG9uLmR0LWJ0bi1zcGxpdC1kcm9wIHtcclxuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XHJcbiAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XHJcbiAgICB9XHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gZGl2LmR0LWJ0bi1zcGxpdC13cmFwcGVyOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIGRpdi5kdC1idG4tc3BsaXQtd3JhcHBlcjpmaXJzdC1jaGlsZCBidXR0b24uZHQtYnV0dG9uIHtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XHJcbiAgICB9XHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gZGl2LmR0LWJ0bi1zcGxpdC13cmFwcGVyOmZpcnN0LWNoaWxkIGJ1dHRvbi5kdC1idG4tc3BsaXQtZHJvcCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBkaXYuZHQtYnRuLXNwbGl0LXdyYXBwZXI6bGFzdC1jaGlsZCBidXR0b24uZHQtYnV0dG9uIHtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XHJcbiAgICB9XHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gZGl2LmR0LWJ0bi1zcGxpdC13cmFwcGVyOmxhc3QtY2hpbGQgYnV0dG9uLmR0LWJ0bi1zcGxpdC1kcm9wIHtcclxuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xyXG4gICAgfVxyXG4gICAgLyogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ICovXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gZGl2LmR0LWJ0bi1zcGxpdC13cmFwcGVyOmFjdGl2ZTpub3QoLmRpc2FibGVkKSBidXR0b24uZHQtYnV0dG9uLFxyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIGRpdi5kdC1idG4tc3BsaXQtd3JhcHBlci5hY3RpdmU6bm90KC5kaXNhYmxlZCkgYnV0dG9uLmR0LWJ1dHRvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTtcclxuICAgIH1cclxuICAgIC8qIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fiAqL1xyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIGRpdi5kdC1idG4tc3BsaXQtd3JhcHBlcjphY3RpdmU6bm90KC5kaXNhYmxlZCkgYnV0dG9uLmR0LWJ0bi1zcGxpdC1kcm9wLFxyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIGRpdi5kdC1idG4tc3BsaXQtd3JhcHBlci5hY3RpdmU6bm90KC5kaXNhYmxlZCkgYnV0dG9uLmR0LWJ0bi1zcGxpdC1kcm9wIHtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmZpeGVkIC5kdC1idXR0b246Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5maXhlZCAuZHQtYnV0dG9uOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICB9XHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uZml4ZWQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC03NXB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5maXhlZC50d28tY29sdW1uIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTIwMHB4O1xyXG4gICAgfVxyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmZpeGVkLnRocmVlLWNvbHVtbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMjVweDtcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5maXhlZC5mb3VyLWNvbHVtbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zMDBweDtcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5maXhlZC5jb2x1bW5zIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTQwOXB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmZpeGVkLmNvbHVtbnMge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTMwOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcbiAgICAgICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmZpeGVkLmNvbHVtbnMge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIwM3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2MHB4KSB7XHJcbiAgICAgICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmZpeGVkLmNvbHVtbnMge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5maXhlZCA+IDpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi50d28tY29sdW1uID4gOmxhc3QtY2hpbGQsXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24udGhyZWUtY29sdW1uID4gOmxhc3QtY2hpbGQsXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uZm91ci1jb2x1bW4gPiA6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDhweDtcclxuICAgICAgICAtbW96LWNvbHVtbi1nYXA6IDhweDtcclxuICAgICAgICAtbXMtY29sdW1uLWdhcDogOHB4O1xyXG4gICAgICAgIC1vLWNvbHVtbi1nYXA6IDhweDtcclxuICAgICAgICBjb2x1bW4tZ2FwOiA4cHg7XHJcbiAgICB9XHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24udHdvLWNvbHVtbiA+IDpsYXN0LWNoaWxkID4gKixcclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi50aHJlZS1jb2x1bW4gPiA6bGFzdC1jaGlsZCA+ICosXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uZm91ci1jb2x1bW4gPiA6bGFzdC1jaGlsZCA+ICoge1xyXG4gICAgICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi50d28tY29sdW1uIHtcclxuICAgICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICB9XHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24udHdvLWNvbHVtbiA+IDpsYXN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xyXG4gICAgICAgIGNvbHVtbi1jb3VudDogMjtcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi50aHJlZS1jb2x1bW4ge1xyXG4gICAgICAgIHdpZHRoOiA0NTBweDtcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi50aHJlZS1jb2x1bW4gPiA6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFweDtcclxuICAgICAgICBjb2x1bW4tY291bnQ6IDM7XHJcbiAgICB9XHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uZm91ci1jb2x1bW4ge1xyXG4gICAgICAgIHdpZHRoOiA2MDBweDtcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5mb3VyLWNvbHVtbiA+IDpsYXN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xyXG4gICAgICAgIGNvbHVtbi1jb3VudDogNDtcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbiAuZHQtYnV0dG9uIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgfVxyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmNvbHVtbnMge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmNvbHVtbnMgPiA6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiA2cHg7XHJcbiAgICAgICAgd2lkdGg6IDgxOHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XHJcbiAgICB9XHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uY29sdW1ucyA+IDpsYXN0LWNoaWxkIC5kdC1idXR0b24ge1xyXG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgZmxleDogMCAxO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5jb2x1bW5zLmR0Yi1iMyA+IDpsYXN0LWNoaWxkLFxyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmNvbHVtbnMuZHRiLWIyID4gOmxhc3QtY2hpbGQsXHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uY29sdW1ucy5kdGItYjEgPiA6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgfVxyXG4gICAgZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmNvbHVtbnMuZHRiLWIzIC5kdC1idXR0b24ge1xyXG4gICAgICAgIGZsZXg6IDEgMSAzMiU7XHJcbiAgICB9XHJcbiAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uY29sdW1ucy5kdGItYjIgLmR0LWJ1dHRvbiB7XHJcbiAgICAgICAgZmxleDogMSAxIDQ4JTtcclxuICAgIH1cclxuICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5jb2x1bW5zLmR0Yi1iMSAuZHQtYnV0dG9uIHtcclxuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcclxuICAgIH1cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICAgICAgIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5jb2x1bW5zID4gOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICB3aWR0aDogNjEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAgICAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uY29sdW1ucyA+IDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQwNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uY29sdW1ucy5kdGItYjMgLmR0LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMSAzMiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYwcHgpIHtcclxuICAgICAgICBkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uY29sdW1ucyA+IDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkaXYuZHQtYnV0dG9uLWJhY2tncm91bmQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xyXG4gICAgICAgIHotaW5kZXg6IDIwMDE7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAgICAgICBkaXYuZHQtYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBidXR0b24uZHQtYnV0dG9uLnByb2Nlc3NpbmcsXHJcbiAgICBkaXYuZHQtYnV0dG9uLnByb2Nlc3NpbmcsXHJcbiAgICBhLmR0LWJ1dHRvbi5wcm9jZXNzaW5nIHtcclxuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgfVxyXG4gICAgYnV0dG9uLmR0LWJ1dHRvbi5wcm9jZXNzaW5nOmFmdGVyLFxyXG4gICAgZGl2LmR0LWJ1dHRvbi5wcm9jZXNzaW5nOmFmdGVyLFxyXG4gICAgYS5kdC1idXR0b24ucHJvY2Vzc2luZzphZnRlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luOiAtOHB4IDAgMCAtOHB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzI4MjgyODtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBkdGItc3Bpbm5lciAxNTAwbXMgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgICAgIC1vLWFuaW1hdGlvbjogZHRiLXNwaW5uZXIgMTUwMG1zIGluZmluaXRlIGxpbmVhcjtcclxuICAgICAgICAtbXMtYW5pbWF0aW9uOiBkdGItc3Bpbm5lciAxNTAwbXMgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBkdGItc3Bpbm5lciAxNTAwbXMgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgICAgIC1tb3otYW5pbWF0aW9uOiBkdGItc3Bpbm5lciAxNTAwbXMgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbi5kdC1idG4tc3BsaXQtZHJvcCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTFweCAtIDAuMzMzZW0pO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNWVtIC0gMXB4KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMXB4IDFweCAwcHg7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoNzAsIDcwLCA3MCwgMC45KTtcclxuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgIH1cclxuICAgIGJ1dHRvbi5kdC1idG4tc3BsaXQtZHJvcCBzcGFuLmR0LWJ0bi1zcGxpdC1kcm9wLWFycm93IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAtMXB4O1xyXG4gICAgICAgIGxlZnQ6IC0ycHg7XHJcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICB9XHJcbiAgICBidXR0b24uZHQtYnRuLXNwbGl0LWRyb3A6aG92ZXIge1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uLmJ1dHRvbnMtc3BsaXQge1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoNzAsIDcwLCA3MCwgMCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4IDBweCAwcHggMXB4O1xyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbi5kdC1idG4tc3BsaXQtZHJvcC1idXR0b24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgfVxyXG4gICAgYnV0dG9uLmR0LWJ0bi1zcGxpdC1kcm9wLWJ1dHRvbjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICB9XHJcblxyXG59IiwiLyogSlFVRVJZLURBVEFUQUJMRVM6IEZJWEVEQ09MVU1OUyAqL1xyXG4vKiBCYXNlZCBvbjogZml4ZWRjb2x1bW5zLmRhdGF0YWJsZXMuY3NzICovXHJcblxyXG5AbGF5ZXIgY29tcG9uZW50cyB7XHJcblxyXG4gICAgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuRFRGQ19Ob0RhdGEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHRyLmV2ZW4gdGQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgdHIub2RkIHRkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG4gICAgfVxyXG5cclxuICAgIHRyLnNlbGVjdGVkIHRkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZiNGNkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qQmVpw590IHNpY2ggbWl0IGRlbiB0aCdzIGluIGRlbiBXZXJ0ZW50d2lja2x1bmdzdGFiZWxsZW4gaW0gU25hcHNob3QuKi9cclxuICAgIC8qXHJcbiAgICB0aGVhZCB0aCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICB9XHJcbiAgICB0Zm9vdCB0aCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICB9XHJcbiAgICAqL1xyXG5cclxuICAgIHRyLmR0LXJvd1Jlb3JkZXItbW92aW5nIHRkLmR0ZmMtZml4ZWQtbGVmdCxcclxuICAgIHRyLmR0LXJvd1Jlb3JkZXItbW92aW5nIHRkLmR0ZmMtZml4ZWQtcmlnaHQge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjNTU1ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM1NTUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIHRyLmR0LXJvd1Jlb3JkZXItbW92aW5nIHRkLmR0ZmMtZml4ZWQtbGVmdDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjNTU1ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICB0ci5kdC1yb3dSZW9yZGVyLW1vdmluZyB0ZC5kdGZjLWZpeGVkLXJpZ2h0Omxhc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICM1NTUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbn0iLCIvKiBGT05EU1ZFUkdMRUlDSCBiencuIEJBTktFTi0vREVQT1RWRVJHTEVJQ0g6IEhBVVBUVEFCRUxMRSAqL1xyXG5cclxuQGxheWVyIGNvbXBvbmVudHMge1xyXG5cclxuICAgIC8qVEFCRUxMRSovXHJcblxyXG4gICAgLypUYWJlbGxlIHNlbGJzdCovXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2gge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICB0ZXh0LXhzIHNtOnRleHQtc20gbGc6dGV4dC1iYXNlXHJcbiAgICAgICAgICAgIHByaW50OnRleHQteHNcclxuICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlIC8qcHJpbnQ6Ym9yZGVyLXNlcGFyYXRlKi9cclxuICAgICAgICAgICAgbWF4LXctZnVsbFxyXG4gICAgICAgICAgICBiZy10YWJsZVRhYkJhY2tncm91bmRcclxuICAgICAgICAgICAgLypicmVhay1pbnNpZGUtYXV0byovXHJcbiAgICAgICAgO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAvKkVSU1RFIFNQQUxURSBTVElDS1kgVU5EIFNDUk9MTElORyovXHJcblxyXG4gICAgI3RhYmxlLXdyYXBwZXIge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICBtYXgtdy1bY2FsYygoMTkyMHB4LXZhcigtLXNjcm9sbGJhci13aWR0aCktKDIqdmFyKC0tbW9kdWxlLWlubmVyLW1hcmdpbi14KSkpKV1cclxuICAgICAgICAgICAgLyptaW4taC1bNzV2aF0qL1xyXG4gICAgICAgICAgICBtYXgtaC1bODV2aF0gLypsYW5kc2NhcGU6bWF4LWgtWzY1dmhdOiB0b3JwZWRpZXJ0IGluIGRpZXNlciBGb3JtIGRpZSBsZy1FaW5zdGVsbHVuZyAqL1xyXG4gICAgICAgICAgICBsZzptYXgtaC1mdWxsIC8qIGRpZXNlIEtsYXNzZSB2ZXJoaW5kZXJ0IGRpZSBTdGlja3ktRnVua3Rpb25hbGl0w6R0IGRlciBUYWJlbGxlIGFiIGxnICovXHJcbiAgICAgICAgICAgIC8qbGc6bWF4LWgtWzcwdmhdKi8gLyogZGFzIHBhc3N0IHNvIHVuZ2Vmw6RociwgZGFtaXQgZGllIGdhbnplIHNjcm9sbGJhcmUgVGFiZWxsZSB6d2lzY2hlbiBIZWFkZXIgdW5kIEZvb3RlciB6dSBzZWhlbiBpc3QgKi9cclxuICAgICAgICAgICAgcHJpbnQ6bWF4LWgtZml0IC8qIGRhbWl0IGltIERydWNrYmlsZCBuaWNodHMgaW4gZGVyIEzDpG5nZSBiZXNjaG5pdHRlbiB3aXJkICovXHJcbiAgICAgICAgICAgIG92ZXJmbG93LXgtc2Nyb2xsIGxnOm92ZXJmbG93LXgtYXV0b1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15LXNjcm9sbCBsZzpvdmVyZmxvdy15LWF1dG9cclxuICAgICAgICAgICAgZmxleC0xXHJcbiAgICAgICAgICAgIGJvcmRlci1iXHJcbiAgICAgICAgICAgIGJvcmRlci10YWJsZVRhYkJhY2tncm91bmRcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLypTdGlja3kgSGVhZC1aZWlsZW4qL1xyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRoZWFkXHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgc3RpY2t5XHJcbiAgICAgICAgei0yMFxyXG4gICAgICAgIHRvcC0wXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCB0clxyXG4gICAge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGR1bW15XHJcbiAgICAgICAgLyogb2huZSBFZmZla3Q6ICovXHJcbiAgICAgICAgLypcclxuICAgICAgICBicmVhay1pbnNpZGUtYXZvaWRcclxuICAgICAgICBicmVhay1iZWZvcmUtYXV0b1xyXG4gICAgICAgIGJyZWFrLWFmdGVyLWF1dG9cclxuICAgICAgICAqL1xyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKlN0aWNreSBlcnN0ZSBTcGFsdGUgaW4gdGJvZHkqL1xyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRoZWFkIHRyID4gOmZpcnN0LWNoaWxkLFxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRib2R5IHRyID4gOmZpcnN0LWNoaWxkXHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgc3RpY2t5XHJcbiAgICAgICAgei0xMFxyXG4gICAgICAgIGxlZnQtMFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdGgge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGJnLXRhYmxlU2Vjb25kYXJ5XHJcbiAgICAgICAgdGV4dC1sZWZ0XHJcbiAgICAgICAgZm9udC1ib2xkXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCB0ZCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIHotYXV0byAvKiBkdW1teSAqL1xyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdGgsXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdGQge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICBweC0xIGxnOnB4LTJcclxuICAgICAgICAgICAgcHktMSBsZzpweS0yXHJcbiAgICAgICAgICAgIGJvcmRlclxyXG4gICAgICAgICAgICBib3JkZXItdGFibGVUYWJCYWNrZ3JvdW5kXHJcbiAgICAgICAgICAgIGFsaWduLXRvcFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKkRhZHVyY2ggd2VyZGVuIGRpZSBTcGFsdGVuIHNjaG1hbCwgd2VubiBlaW5nZWtsYXBwdC4qL1xyXG4gICAgLyppbmtsLiBGYXJiYW5nbGVpY2h1bmcgVGV4dCovXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdHIgdGguZWluZ2VrbGFwcHQsXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdHIgdGQuZWluZ2VrbGFwcHRcclxuICAgIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBpbnZpc2libGVcclxuICAgICAgICB3LTBcclxuICAgICAgICBtYXgtdy0wXHJcbiAgICAgICAgYm9yZGVyLTBcclxuICAgICAgICAvKndoaXRlc3BhY2Utbm93cmFwKi9cclxuICAgICAgICAvKm92ZXJmbG93LWhpZGRlbiovXHJcbiAgICAgICAgLyohYmctdGFibGVUYWJCYWNrZ3JvdW5kKi9cclxuICAgICAgICAvKiF0ZXh0LXRhYmxlVGFiQmFja2dyb3VuZCovXHJcbiAgICB9XHJcblxyXG4gICAgLypGYXJiYW5nbGVpY2h1bmcgTGlua3MqL1xyXG4gICAgLypcclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCB0ciB0aC5laW5nZWtsYXBwdCBhLFxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRyIHRkLmVpbmdla2xhcHB0IGEge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGludmlzaWJsZVxyXG4gICAgICAgICF0ZXh0LXRhYmxlVGFiQmFja2dyb3VuZFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuICAgICovXHJcblxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRyIHRoLmF1c2dla2xhcHB0LFxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRyIHRkLmF1c2dla2xhcHB0XHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgYmctd2hpdGVcclxuICAgICAgICBicmVhay13b3Jkc1xyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdHIgdGguemVpbGVua29wZlxyXG4gICAge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICBtaW4tdy1bMzB2d11cclxuICAgICAgICAgICAgdy1bMzB2d11cclxuXHJcbiAgICAgICAgICAgIC8qc206bWluLXctWzMwdnddKi9cclxuICAgICAgICAgICAgLypzbTptYXgtdy1bMzB2d10qL1xyXG5cclxuICAgICAgICAgICAgbWQ6bWluLXctWzIwdnddXHJcbiAgICAgICAgICAgIG1kOm1heC13LVsyMHZ3XVxyXG5cclxuICAgICAgICAgICAgbGc6bWluLXctWzE1dnddXHJcbiAgICAgICAgICAgIGxnOm1heC13LVsxNXZ3XVxyXG5cclxuICAgICAgICAgICAgcHJpbnQ6bWluLXctMFxyXG5cclxuICAgICAgICAgICAgLyptYXgtdy1bY2FsYygoMTkyMHB4LXZhcigtLXNjcm9sbGJhci13aWR0aCktKDIqdmFyKC0tbW9kdWxlLWlubmVyLW1hcmdpbi14KSkpLzcpXSovXHJcblxyXG4gICAgICAgICAgICBhbGlnbi1taWRkbGVcclxuICAgICAgICAgICAgdGV4dC1jZW50ZXJcclxuICAgICAgICAgICAgYm9yZGVyLTBcclxuICAgICAgICAgICAgYmctdGFibGVUYWJCYWNrZ3JvdW5kIC8qIGdyw7xubGljaCB3aWUgRm9uZHNjaGFydHN2ZXJnbGVpY2ggKi9cclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLyogenVzw6R0emxpY2ggenUgemVpbGVua29wZiB2ZXJ3ZW5kZW4gKi9cclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCB0ciB0aC56ZWlsZW5rb3BmLWZvbmRzIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAgICAgYmctaW52ZXh0cmFPcmFuZ2VcclxuICAgICAgICAgICAgLypiZy10YWJsZVByaW1hcnlEYXJrKi9cclxuICAgICAgICAgICAgLypiZy10YWJsZVNlY29uZGFyeURhcmsqL1xyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdHIgdGguemVpbGVua29wZi1kZXBvdGJhbmtlbnZlcmdsZWljaCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIGJnLXRhYmxlUHJpbWFyeVxyXG4gICAgICAgIDtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRyIHRoLnNwYWx0ZW5rb3BmLWZvbmRzLFxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRyIHRkLnNwYWx0ZW5rb3BmLWZvbmRzXHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZm9udC1ib2xkXHJcbiAgICAgICAgYWxpZ24tdG9wXHJcbiAgICAgICAgYmctdGFibGVQcmltYXJ5XHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCB0ciB0aC5zcGFsdGVua29wZi10b2dnbGUsXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdHIgdGQuc3BhbHRlbmtvcGYtdG9nZ2xlXHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZm9udC1ib2xkXHJcbiAgICAgICAgYWxpZ24tbWlkZGxlXHJcbiAgICAgICAgcHJpbnQ6aGlkZGVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCB0ciB0aC5zcGFsdGVua29wZi10b2dnbGUtZWluZ2VrbGFwcHQsXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdHIgdGQuc3BhbHRlbmtvcGYtdG9nZ2xlLWVpbmdla2xhcHB0XHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIHRleHQtY2VudGVyXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qICsvLTogVG9nZ2xlcyovXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdGQuc3BhbHRlbmtvcGYtYmxvY2toZWFkZXIsXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdGguc3BhbHRlbmtvcGYtYmxvY2toZWFkZXJcclxuICAgIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAgICAgYWxpZ24tbWlkZGxlXHJcbiAgICAgICAgICAgIHRleHQtY2VudGVyXHJcbiAgICAgICAgICAgIGJvcmRlci0wXHJcbiAgICAgICAgICAgIGJnLXRhYmxlVGFiQmFja2dyb3VuZFxyXG4gICAgICAgICAgICAvKmJyZWFrLWJlZm9yZS1wYWdlKi9cclxuICAgICAgICAgICAgcHJpbnQ6aGlkZGVuXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qYWx0ZXJuaWVyZW5kZSBGYXJiZSAxIGbDvHIgQmxvY2vDvGJlcnNjaHJpZnRlbiBpbSBEZXBvdGJhbmtlbnZlcmdsZWljaCovXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdGQuc3BhbHRlbmtvcGYtYmxvY2toZWFkZXItYmctZmFyYmUtMSxcclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCB0aC5zcGFsdGVua29wZi1ibG9ja2hlYWRlci1iZy1mYXJiZS0xXHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgICFiZy1zbGF0ZS00MDBcclxuICAgICAgICAgICAgIXRleHQtd2hpdGVcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLyphbHRlcm5pZXJlbmRlIEZhcmJlIDIgZsO8ciBCbG9ja8O8YmVyc2NocmlmdGVuIGltIERlcG90YmFua2VudmVyZ2xlaWNoKi9cclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCB0ZC5zcGFsdGVua29wZi1ibG9ja2hlYWRlci1iZy1mYXJiZS0yLFxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRoLnNwYWx0ZW5rb3BmLWJsb2NraGVhZGVyLWJnLWZhcmJlLTJcclxuICAgIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAgICAgIWJnLXNsYXRlLTEwMFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKmtvbmRpdGlvbmFsZSBGYXJiZSBmw7xyIMOcYmVyc2NocmlmdGVuIHZvbiBCbMO2Y2tlbiBpbSBEZXBvdGJhbmtlbnZlcmdsZWljaCwgZGllIGF1Zmdla2xhcHB0IHNpbmQqL1xyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRkLnNwYWx0ZW5rb3BmLWJsb2NraGVhZGVyLWF1c2dla2xhcHB0LFxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRoLnNwYWx0ZW5rb3BmLWJsb2NraGVhZGVyLWF1c2dla2xhcHB0XHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgICFiZy1bIzM0MkE5MF0gLyogd2llIHZhcigtLWhlYWRlci1iYWNrZ3JvdW5kKSA9IHZhcigtLWMxKSAqL1xyXG4gICAgICAgICAgICAvKiFiZy1zbGF0ZS03MDAqL1xyXG4gICAgICAgICAgICAhdGV4dC1zbGF0ZS0yMDBcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIGRpdi5zcGFsdGVua29wZi1ibG9ja2hlYWRlcixcclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCBzcGFuLnNwYWx0ZW5rb3BmLWJsb2NraGVhZGVyXHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIGgtZnVsbFxyXG4gICAgICAgICAgICB0ZXh0LWNlbnRlclxyXG4gICAgICAgICAgICBhbGlnbi1taWRkbGVcclxuICAgICAgICAgICAgdXBwZXJjYXNlXHJcbiAgICAgICAgICAgIGZvbnQtYm9sZFxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKlwiQkFTSVNEQVRFTlwiIHouQi4qL1xyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRkLnNwYWx0ZW5rb3BmLWJsb2NraGVhZGVyLWJlemVpY2hudW5nLFxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRoLnNwYWx0ZW5rb3BmLWJsb2NraGVhZGVyLWJlemVpY2hudW5nXHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgYWxpZ24tbWlkZGxlXHJcbiAgICAgICAgdGV4dC1sZWZ0XHJcbiAgICAgICAgYm9yZGVyLTBcclxuICAgICAgICBiZy10YWJsZVRhYkJhY2tncm91bmRcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLyogbGVlcmUgWndpc2NoZW56ZWlsZSAqL1xyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRkLnp3aXNjaGVuemVpbGUsXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdGguendpc2NoZW56ZWlsZVxyXG4gICAge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGFsaWduLW1pZGRsZVxyXG4gICAgICAgIHRleHQtY2VudGVyXHJcbiAgICAgICAgYm9yZGVyLTBcclxuICAgICAgICBiZy13aGl0ZVxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBGYXJiZ2VidW5nIGbDvHIgZHVyY2hnZWbDpHJidGUgQmVyZWljaGUgei5CLiBpbiBCYW5rZW52ZXJnbGVpY2ggKi9cclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCB0ZC5mYXJiYmVyZWljaC0xLFxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRoLmZhcmJiZXJlaWNoLTEsXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdGQuZmFyYmJlcmVpY2gtMixcclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCB0aC5mYXJiYmVyZWljaC0yLFxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRkLmZhcmJiZXJlaWNoLTMsXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdGguZmFyYmJlcmVpY2gtMyxcclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCB0ZC5mYXJiYmVyZWljaC00LFxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRoLmZhcmJiZXJlaWNoLTQsXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdGQuZmFyYmJlcmVpY2gtNSxcclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCB0aC5mYXJiYmVyZWljaC01LFxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRkLmZhcmJiZXJlaWNoLTYsXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdGguZmFyYmJlcmVpY2gtNlxyXG4gICAge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGJvcmRlci0wXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qWkVMTEVOIElNIEFCU0NITklUVCBcIktBVUZFTlwiKi9cclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCB0ZC5oZXJ2b3JnZWhvYmVuIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBmb250LWJvbGRcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIHByaW50IHtcclxuXHJcbiAgICAgICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRyLnByaW50LWFsd2F5cy1yb3dcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICAhdGFibGUtcm93XHJcbiAgICAgICAgICAgIDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICN0YWJsZS13cmFwcGVyLFxyXG4gICAgICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaCxcclxuICAgICAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2ggdGgsXHJcbiAgICAgICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoIHRkXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBAYXBwbHlcclxuICAgICAgICAgICAgYm9yZGVyLTBcclxuICAgICAgICAgICAgO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8qIEZPTkRTVkVSR0xFSUNIIElOTkVSRSBUQUJFTExFTiBNSVQgU1RSVUtUVVJEQVRFTiAqL1xyXG5cclxuQGxheWVyIGNvbXBvbmVudHMge1xyXG5cclxuICAgIC8qRkxFWC1WQVJJQU5URSovXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2gtaW5uZXIge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHRleHQtMnhzIDN4czp0ZXh0LXhzXHJcbiAgICAgICAgdy1mdWxsXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaC1pbm5lciAudGZpLXRhYmxlLXJvdyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgb2RkOmJnLXRhYmxlSW5uZXJPZGRcclxuICAgICAgICBldmVuOmJnLXRhYmxlSW5uZXJFdmVuXHJcbiAgICAgICAgZmxleCBqdXN0aWZ5LWJldHdlZW5cclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYmxlLWZvbmRzdmVyZ2xlaWNoLWlubmVyIC50ZmktdGFibGUtY2VsbC1iZXNjaHJlaWJ1bmcge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGh5cGhlbnNcclxuICAgICAgICBmb250LW5vcm1hbFxyXG4gICAgICAgIHByLTAuNVxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAudGFibGUtZm9uZHN2ZXJnbGVpY2gtaW5uZXIgLnRmaS10YWJsZS1jZWxsLXByb3plbnQge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICBncmlkXHJcbiAgICAgICAgICAgIHRleHQtcmlnaHRcclxuICAgICAgICAgICAgd2hpdGVzcGFjZS1ub3dyYXBcclxuICAgICAgICAgICAgaC1mdWxsXHJcbiAgICAgICAgICAgIHNlbGYtZW5kXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qVkFSSUFOVEUgTUlUIExJU1QtSVRFTVMqL1xyXG4gICAgLypcclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaC1pbm5lciB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgbGc6dGFibGVcclxuICAgICAgICB0ZXh0LXhzXHJcbiAgICAgICAgdy1mdWxsXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaC1pbm5lciAudGZpLXRhYmxlLXJvdyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgb2RkOmJnLXRhYmxlSW5uZXJPZGRcclxuICAgICAgICBldmVuOmJnLXRhYmxlSW5uZXJFdmVuXHJcbiAgICAgICAgYmxvY2sgbGc6dGFibGUtcm93XHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaC1pbm5lciAudGZpLXRhYmxlLWNlbGwtYmVzY2hyZWlidW5nIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICBicmVhay13b3Jkc1xyXG4gICAgICAgIGxpc3QtaXRlbSBsZzp0YWJsZS1jZWxsXHJcbiAgICAgICAgbGlzdC1ub25lXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJsZS1mb25kc3ZlcmdsZWljaC1pbm5lciAudGZpLXRhYmxlLWNlbGwtcHJvemVudCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgdGV4dC1yaWdodFxyXG4gICAgICAgIHdoaXRlc3BhY2Utbm93cmFwXHJcbiAgICAgICAgbGlzdC1pdGVtIGxnOnRhYmxlLWNlbGxcclxuICAgICAgICBsaXN0LW5vbmVcclxuICAgICAgICA7XHJcbiAgICB9XHJcbiAgICAqL1xyXG5cclxufVxyXG4iLCJAdGFpbHdpbmQgdXRpbGl0aWVzO1xuIiwiLyogSU5QVVRTICovXHJcblxyXG5AbGF5ZXIgdXRpbGl0aWVzIHtcclxuXHJcbiAgICBidXR0b24uaW52LWJ1dHRvbiB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgZm9udC1tZWRpdW1cclxuICAgICAgICBiZy1idXR0b25cclxuICAgICAgICB0ZXh0LWJ1dHRvblRleHRcclxuXHJcbiAgICAgICAgcm91bmRlZC1tZFxyXG5cclxuICAgICAgICBob3ZlcjplbmFibGVkOmJnLWJ1dHRvbkhvdmVyXHJcbiAgICAgICAgaG92ZXI6ZW5hYmxlZDpvcGFjaXR5LTgwXHJcbiAgICAgICAgaG92ZXI6ZW5hYmxlZDp0ZXh0LWJ1dHRvbkhvdmVyVGV4dFxyXG4gICAgICAgIGhvdmVyOmVuYWJsZWQ6Zm9udC1zZW1pYm9sZFxyXG4gICAgICAgIGhvdmVyOmVuYWJsZWQ6cmluZy1idXR0b25SaW5nXHJcbiAgICAgICAgaG92ZXI6ZW5hYmxlZDpyaW5nLTFcclxuXHJcbiAgICAgICAgcHgtNFxyXG4gICAgICAgIHB5LTJcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uLmludi1idXR0b24tYmxhY2std2hpdGUge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGZvbnQtYm9sZFxyXG4gICAgICAgIGJnLWludmV4dHJhT3JhbmdlXHJcbiAgICAgICAgdGV4dC13aGl0ZVxyXG5cclxuICAgICAgICByb3VuZGVkLW1kXHJcbiAgICAgICAgcmluZy0xXHJcbiAgICAgICAgcmluZy1ibGFja1xyXG5cclxuICAgICAgICBob3ZlcjplbmFibGVkOmJnLWludmV4dHJhT3JhbmdlXHJcbiAgICAgICAgaG92ZXI6ZW5hYmxlZDpvcGFjaXR5LTgwXHJcbiAgICAgICAgaG92ZXI6ZW5hYmxlZDp0ZXh0LWJsYWNrXHJcbiAgICAgICAgaG92ZXI6ZW5hYmxlZDpyaW5nLWJsYWNrXHJcbiAgICAgICAgaG92ZXI6ZW5hYmxlZDpyaW5nLTFcclxuXHJcbiAgICAgICAgcHgtNFxyXG4gICAgICAgIHB5LTJcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIHRleHQtaW52ZXh0cmFPcmFuZ2VcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAvKkZlaGxlcmtsYXNzZSovXHJcbiAgIGlucHV0W3R5cGU9dGV4dF0uZXJyb3Ige1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgIGJnLXJlZC01MFxyXG4gICAgICAgIGJvcmRlclxyXG4gICAgICAgIGJvcmRlci1yZWQtNTAwXHJcbiAgICAgICAgdGV4dC1yZWQtOTAwXHJcbiAgICAgICAgcGxhY2Vob2xkZXItcmVkLTcwMFxyXG4gICAgICAgIGZvY3VzOnJpbmctcmVkLTUwMFxyXG4gICAgICAgIGZvY3VzOmJvcmRlci1yZWQtNTAwXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIFt0eXBlPVwidGV4dFwiXSxcclxuICAgIFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgICBbdHlwZT1cInVybFwiXSxcclxuICAgIFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbiAgICBbdHlwZT1cIm51bWJlclwiXSxcclxuICAgIFt0eXBlPVwiZGF0ZVwiXSxcclxuICAgIFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXHJcbiAgICBbdHlwZT1cIm1vbnRoXCJdLFxyXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0sXHJcbiAgICBbdHlwZT1cInRlbFwiXSxcclxuICAgIFt0eXBlPVwidGltZVwiXSxcclxuICAgIFt0eXBlPVwid2Vla1wiXSxcclxuICAgIFttdWx0aXBsZV0sXHJcbiAgICB0ZXh0YXJlYSxcclxuICAgIHNlbGVjdCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgICFiZy13aGl0ZVxyXG4gICAgICAgICAgICAhb3BhY2l0eS0xMDBcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgLyrDnGJlcnNjaHJlaWJ0IFRhaWx3aW5kLVZvcmVpbnN0ZWxsdW5nKi9cclxuICAgICAgICAvKm91dGxpbmUtbm9uZSA9IG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgb3V0bGluZS1vZmZzZXQ6IDJweDsqL1xyXG4gICAgICAgIC8qYm9yZGVyLTAgPSB1bnRlcmRyw7xja3QgZGllIG5hY2ggXCJyaW5nXCIgdmVyYmxlaWJlbmRlIGJsYXVlIGJvcmRlciovXHJcbiAgICAvKlxyXG4gICAgW3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxyXG4gICAgW3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcclxuICAgIFt0eXBlPVwidXJsXCJdOmZvY3VzLFxyXG4gICAgW3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcclxuICAgIFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxyXG4gICAgW3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxyXG4gICAgW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcclxuICAgIFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXHJcbiAgICBbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcclxuICAgIFt0eXBlPVwidGVsXCJdOmZvY3VzLFxyXG4gICAgW3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxyXG4gICAgW3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxyXG4gICAgW211bHRpcGxlXTpmb2N1cyxcclxuICAgIHRleHRhcmVhOmZvY3VzLFxyXG4gICAgc2VsZWN0OmZvY3VzXHJcbiAgICB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgb3V0bGluZS1ub25lXHJcbiAgICAgICAgYm9yZGVyLTBcclxuICAgICAgICByaW5nXHJcbiAgICAgICAgcmluZy1mb2N1c1xyXG4gICAgICAgIDtcclxuICAgIH1cclxuICAgICovXHJcblxyXG59XHJcbiIsIi8qIENPTE9SUyAqL1xyXG5cclxuQGxheWVyIGJhc2Uge1xyXG5cclxuICAgIDpyb290IHtcclxuXHJcbiAgICAgICAgLypDb2xvciBTY2hlbWUgMWEqL1xyXG5cclxuICAgICAgICAvKkF1ZmdlYmF1dCBhdXMgUGFsZXR0ZW4gYmVpIGZhcmJlLWFwcC5jb20uKi9cclxuXHJcbiAgICAgICAgLypjMTogYmF5LW9mLW1hbnkqL1xyXG4gICAgICAgIC0tYzE6ICAgICAgICMzNDJBOTA7XHJcbiAgICAgICAgLS1jMS1tMTogICAgIzJlMjU3ZjtcclxuICAgICAgICAtLWMxLW0yOiAgICAjMjkyMTcwO1xyXG4gICAgICAgIC0tYzEtbTM6ICAgICMyNDFkNjU7XHJcbiAgICAgICAgLS1jMS1tNDogICAgIzFkMTg1MTtcclxuICAgICAgICAtLWMxLXAxOiAgICAjNTA0OGEwO1xyXG4gICAgICAgIC0tYzEtcDI6ICAgICM2MTU5YTg7XHJcbiAgICAgICAgLS1jMS1wMzogICAgIzc5NzJiNjtcclxuICAgICAgICAtLWMxLXA0OiAgICAjYTZhMWNlO1xyXG5cclxuICAgICAgICAvKmMyOiBtYXV2ZSovXHJcbiAgICAgICAgLS1jMjogICAgICAgIzQ0NzFDNDtcclxuICAgICAgICAtLWMyLW0xOiAgICAjYzFhM2RmO1xyXG4gICAgICAgIC0tYzItbTI6ICAgICNhYjkwYzU7XHJcbiAgICAgICAgLS1jMi1tMzogICAgIzk5ODJiMTtcclxuICAgICAgICAtLWMyLW00OiAgICAjYzFhM2RmO1xyXG4gICAgICAgIC0tYzItcDE6ICAgICNlMGMzZmQ7XHJcbiAgICAgICAgLS1jMi1wMjogICAgI2UzYzhmZDtcclxuICAgICAgICAtLWMyLXAzOiAgICAjZTdkMWZlO1xyXG4gICAgICAgIC0tYzItcDQ6ICAgICNlZmUwZmU7XHJcblxyXG4gICAgICAgIC8qYzM6IGNpdHJvbiovXHJcbiAgICAgICAgLypcIktvbXBsZW1lbnTDpHJcIiAyIHp1IGMxLCB2b246IGh0dHBzOi8vY29sb3IuYWRvYmUuY29tL2RlL2NyZWF0ZS9jb2xvci13aGVlbCovXHJcbiAgICAgICAgLS1jMzogICAgICAgIzhEQTgyMDtcclxuICAgICAgICAtLWMzLW0xOiAgICAjN2M5NDFjO1xyXG4gICAgICAgIC0tYzMtbTI6ICAgICM2ZTgzMTk7XHJcbiAgICAgICAgLS1jMy1tMzogICAgIzYzNzYxNjtcclxuICAgICAgICAtLWMzLW00OiAgICAjNGY1ZTEyO1xyXG4gICAgICAgIC0tYzMtcDE6ICAgICM5ZGI0M2Y7XHJcbiAgICAgICAgLS1jMy1wMjogICAgI2E2YmI1MTtcclxuICAgICAgICAtLWMzLXAzOiAgICAjYjRjNjZjO1xyXG4gICAgICAgIC0tYzMtcDQ6ICAgICNjZGQ5OWQ7XHJcblxyXG4gICAgICAgIC8qYzQ6IGluZGlnbyovXHJcbiAgICAgICAgLypDb2xvcnBpY2sgYXVzIEt1bmRlbi1QREYqL1xyXG4gICAgICAgIC0tYzQ6ICAgICAgICM0MTQ4YmE7XHJcbiAgICAgICAgLS1jNC1tMTogICAgIzM5M2ZhNDtcclxuICAgICAgICAtLWM0LW0yOiAgICAjMzMzODkxO1xyXG4gICAgICAgIC0tYzQtbTM6ICAgICMyZTMyODI7XHJcbiAgICAgICAgLS1jNC1tNDogICAgIzI0Mjg2ODtcclxuICAgICAgICAtLWM0LXAxOiAgICAjNWM2MmM0O1xyXG4gICAgICAgIC0tYzQtcDI6ICAgICM2YjcwYzk7XHJcbiAgICAgICAgLS1jNC1wMzogICAgIzgyODZkMTtcclxuICAgICAgICAtLWM0LXA0OiAgICAjYzRjNmVhO1xyXG5cclxuICAgICAgICAvKmM1OiBqYWZmYSovXHJcbiAgICAgICAgLypDb2xvcnBpY2sgYXVzIEt1bmRlbi1QREYqL1xyXG4gICAgICAgIC0tYzU6ICAgICAgICNlYzdjMzA7XHJcbiAgICAgICAgLS1jNS1tMTogICAgI2QwNmQyYTtcclxuICAgICAgICAtLWM1LW0yOiAgICAjYjg2MTI1O1xyXG4gICAgICAgIC0tYzUtbTM6ICAgICNhNTU3MjI7XHJcbiAgICAgICAgLS1jNS1tNDogICAgIzg0NDUxYjtcclxuICAgICAgICAtLWM1LXAxOiAgICAjZWY4ZTRkO1xyXG4gICAgICAgIC0tYzUtcDI6ICAgICNmMDk5NWU7XHJcbiAgICAgICAgLS1jNS1wMzogICAgI2YyYTk3NjtcclxuICAgICAgICAtLWM1LXA0OiAgICAjZjdjNWE0O1xyXG5cclxuICAgICAgICAvKmM2OiBtaWQtZ3JheSovXHJcbiAgICAgICAgLS1jNjogICAgICAgIzViNWE2YTtcclxuICAgICAgICAtLWM2LW0xOiAgICAjNTA0ZjVkO1xyXG4gICAgICAgIC0tYzYtbTI6ICAgICM0NzQ2NTM7XHJcbiAgICAgICAgLS1jNi1tMzogICAgIzQwM2Y0YTtcclxuICAgICAgICAtLWM2LW00OiAgICAjMzMzMjNiO1xyXG4gICAgICAgIC0tYzYtcDE6ICAgICM3MjcxN2Y7XHJcbiAgICAgICAgLS1jNi1wMjogICAgIzdmN2U4YjtcclxuICAgICAgICAtLWM2LXAzOiAgICAjOTM5MjlkO1xyXG4gICAgICAgIC0tYzYtcDQ6ICAgICNiN2I2YmQ7XHJcblxyXG4gICAgICAgIC8qYzc6IG9saXZlLWdyZWVuKi9cclxuICAgICAgICAtLWM3OiAgICAgICAjYTFhZDRkO1xyXG4gICAgICAgIC0tYzctbTE6ICAgICM4ZTk4NDQ7XHJcbiAgICAgICAgLS1jNy1tMjogICAgIzdlODczYztcclxuICAgICAgICAtLWM3LW0zOiAgICAjNzE3OTM2O1xyXG4gICAgICAgIC0tYzctbTQ6ICAgICM1YTYxMmI7XHJcbiAgICAgICAgLS1jNy1wMTogICAgI2FlYjg2NjtcclxuICAgICAgICAtLWM3LXAyOiAgICAjYjZiZjc0O1xyXG4gICAgICAgIC0tYzctcDM6ICAgICNjMWM5OGE7XHJcbiAgICAgICAgLS1jNy1wNDogICAgI2Q2ZGJiMTtcclxuXHJcbiAgICAgICAgLyp0YiA9IEludmV4dHJhIHRiICh0ZXh0YmFzZSkgPSBUYWlsd2luZCBncmF5Ki9cclxuICAgICAgICAtLXRiLTUwOiAgICAgI2Y5ZmFmYjsgLypncmF5LTUwKi9cclxuICAgICAgICAtLXRiLTEwMDogICAgI2YzZjRmNjsgLypncmF5LTEwMCovXHJcbiAgICAgICAgLS10Yi0yMDA6ICAgICNlNWU3ZWI7IC8qZ3JheS0yMDAqL1xyXG4gICAgICAgIC0tdGItMzAwOiAgICAjZDFkNWRiOyAvKmdyYXktMzAwKi9cclxuICAgICAgICAtLXRiLTQwMDogICAgIzljYTNhZjsgLypncmF5LTQwMCovXHJcbiAgICAgICAgLS10Yi01MDA6ICAgICM2YjcyODA7IC8qZ3JheS01MDAqL1xyXG4gICAgICAgIC0tdGItNjAwOiAgICAjNGI1NTYzOyAvKmdyYXktNjAwKi9cclxuICAgICAgICAtLXRiLTcwMDogICAgIzM3NDE1MTsgLypncmF5LTcwMCovXHJcbiAgICAgICAgLS10Yi04MDA6ICAgICMxZjI5Mzc7IC8qZ3JheS04MDAqL1xyXG4gICAgICAgIC0tdGItOTAwOiAgICAjMTExODI3OyAvKmdyYXktOTAwKi9cclxuXHJcbiAgICAgICAgLyogQW5wYXNzdW5nIGFuIGVpZ2VudGxpY2hlIFZlcndlbmR1bmcsIHNvIGRhc3MgaW4gdGFpbHdpbmQuY29uZmlnLmpzIEZhcmJ6dW9yZG51bmcgw7xiZXIgZGllc2UgVmFyaWFibGVuIGVyZm9sZ2VuICAqL1xyXG4gICAgICAgIC8qIHVuZCBkYW1pdCBkaWUgaW4gZGVuIEhUTUwtVGFncyBiZW7DtnRpZ3RlbiBGYXJia2xhc3NlbiBlcnpldWd0IHdlcmRlbiBrw7ZubmVuLiAqL1xyXG5cclxuICAgICAgICAvKiBDSS1GQVJCRU4gKi9cclxuXHJcbiAgICAgICAgLS1pbnZleHRyYS1ibGF1OiAgICAgICAgICAgICAgICAgICAgICAgICM0NDcxQzQ7XHJcbiAgICAgICAgLS1pbnZleHRyYS1ncmF1OiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLXRiLTMwMCk7XHJcbiAgICAgICAgLS1pbnZleHRyYS1vcmFuZ2U6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLWM1KTtcclxuXHJcbiAgICAgICAgLyogQk9EWSwgSEVBREVSLCBGT09URVIgKi9cclxuXHJcbiAgICAgICAgLS1ib2R5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLXRiLTIwMCk7XHJcblxyXG4gICAgICAgIC0taGVhZGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICB2YXIoLS1jMSk7XHJcbiAgICAgICAgLS1oZWFkZXItdGV4dDogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLWMzLXA0KTtcclxuICAgICAgICAtLWhlYWRlci10ZXh0LWRvdDogICAgICAgICAgICAgICAgICAgICAgdmFyKC0taW52ZXh0cmEtb3JhbmdlKTtcclxuICAgICAgICAtLWhlYWRlci10ZXh0LWhvdmVyOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tYzctbTQpO1xyXG5cclxuICAgICAgICAtLWJyZWFkY3J1bWJzLXRleHQ6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tdGItNTAwKTtcclxuICAgICAgICAtLWJyZWFkY3J1bWJzLXRleHQtd2l0aG91dC10YXJnZXQ6ICAgICAgdmFyKC0tdGItNDAwKTtcclxuICAgICAgICAtLWJyZWFkY3J1bWJzLXRleHQtaG92ZXI6ICAgICAgICAgICAgICAgdmFyKC0tdGItODAwKTtcclxuXHJcbiAgICAgICAgLS1tZW51LWJhY2tncm91bmQtaG92ZXI6ICAgICAgICAgICAgICAgIHZhcigtLXRiLTMwMCk7XHJcbiAgICAgICAgLS1zdWJtZW51LWJhY2tncm91bmQtaG92ZXI6ICAgICAgICAgICAgIHZhcigtLWMzKTtcclxuXHJcbiAgICAgICAgLS1mb290ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIHZhcigtLWMxLW00KTtcclxuICAgICAgICAtLWZvb3Rlci10ZXh0OiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tYzItcDQpO1xyXG4gICAgICAgIC0tZm9vdGVyLXRleHQtaG92ZXI6ICAgICAgICAgICAgICAgICAgICB2YXIoLS10Yi01MDApO1xyXG4gICAgICAgIC0tZm9vdGVyLWJ1dHRvbjogICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS1jMS1wMSk7XHJcbiAgICAgICAgLS1mb290ZXItYnV0dG9uLWhvdmVyOiAgICAgICAgICAgICAgICAgIHZhcigtLWMxLXAzKTtcclxuXHJcbiAgICAgICAgLyogTU9EVUxFIERJVkVSUyAqL1xyXG5cclxuICAgICAgICAtLXNpbXBsZS1jZW50ZXItYnJhbmRlZC1iYWNrZ3JvdW5kOiAgICAgdmFyKC0tYzQtcDIpO1xyXG4gICAgICAgIC0tYmlsZC10ZXh0LXRleHQ6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS1jMSk7XHJcblxyXG4gICAgICAgIC8qIFRBQkVMTEVOIFVORCBTTkFQU0hPVCAqL1xyXG5cclxuICAgICAgICAvKlNuYXBzaG90Ki9cclxuICAgICAgICAtLXRhYmxlLWJhY2tncm91bmQtb3V0ZXI6ICAgICAgICAgICAgICAgd2hpdGU7XHJcbiAgICAgICAgLS10YWJsZS1iYWNrZ3JvdW5kLWhlYWRlcjogICAgICAgICAgICAgIHZhcigtLWMzLXA0KTtcclxuICAgICAgICAtLXRhYmxlLWJhY2tncm91bmQtaGlnaGxpZ2h0OiAgICAgICAgICAgdmFyKC0taW52ZXh0cmEtb3JhbmdlKTtcclxuICAgICAgICAtLXRhYmxlLXJvdy1iYWNrZ3JvdW5kLW9kZDogICAgICAgICAgICAgd2hpdGU7XHJcbiAgICAgICAgLS10YWJsZS1yb3ctYmFja2dyb3VuZC1ldmVuOiAgICAgICAgICAgIHdoaXRlO1xyXG5cclxuICAgICAgICAvKlNuYXBzaG90Ki9cclxuICAgICAgICAtLXNuYXBzaG90LWZvbmRzLXRpdGxlLWJhY2tncm91bmQ6ICAgICAgd2hpdGU7XHJcbiAgICAgICAgLS1zbmFwc2hvdC1mb25kcy10aXRsZS10ZXh0OiAgICAgICAgICAgIHZhcigtLXRiLTkwMCk7XHJcbiAgICAgICAgLS1zbmFwc2hvdC1oZXJ2b3JoZWJ1bmdzLWJhY2tncm91bmQ6ICAgIHZhcigtLXRiLTIwMCk7XHJcblxyXG4gICAgICAgIC8qRGF0YVRhYmxlcyovXHJcbiAgICAgICAgLS1kdC1oZWFkZXItZm9vdGVyLWJhY2tncm91bmQ6ICAgICAgICAgIHZhcigtLXRiLTIwMCk7XHJcblxyXG4gICAgICAgIC8qRGF0YVRhYmxlcyB1bmQgRm9uZHN2ZXJnbGVpY2gqL1xyXG4gICAgICAgIC0tdGFibGUtdGFiLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAjRTJFOEYwOyAvKiBzbGF0ZS0yMDAgKi9cclxuXHJcbiAgICAgICAgLS10YWJsZS1wcmltYXJ5OiAgICAgICAgICAgICAgICAgICAgICAgICNGRUYzQzc7IC8qYW1iZXItMTAwKi9cclxuICAgICAgICAtLXRhYmxlLXByaW1hcnktZGFyazogICAgICAgICAgICAgICAgICAgI0ZERTY4QTsgLyphbWJlci0yMDAqL1xyXG5cclxuICAgICAgICAtLXRhYmxlLXNlY29uZGFyeTogICAgICAgICAgICAgICAgICAgICAgI2Q2ZGJiMTsgLypjNy1wNCovXHJcbiAgICAgICAgLS10YWJsZS1zZWNvbmRhcnktZGFyazogICAgICAgICAgICAgICAgIHZhcigtLWMzKTtcclxuXHJcbiAgICAgICAgLypGb25kc3ZlcmdsZWljaCovXHJcbiAgICAgICAgLS10YWJsZS1pbm5lci1vZGQ6ICAgICAgICAgICAgICAgICAgICAgIHdoaXRlO1xyXG4gICAgICAgIC0tdGFibGUtaW5uZXItZXZlbjogICAgICAgICAgICAgICAgICAgICAjRTJFOEYwOyAvKiBzbGF0ZS0yMDAgKi9cclxuXHJcbiAgICAgICAgLypTdWNoZSovXHJcbiAgICAgICAgLS1zdWNoZS10YWItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICNFMkU4RjA7IC8qIHNsYXRlLTIwMCAqL1xyXG5cclxuICAgICAgICAvKklOUFVUUyBVTkQgQlVUVE9OUyovXHJcblxyXG4gICAgICAgIC8qU3RhbmRhcmQtQnV0dG9ucyovXHJcbiAgICAgICAgLS1idXR0b246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM4REE4MjA2MDsgLyogLS1jMy82MCAqL1xyXG4gICAgICAgIC0tYnV0dG9uLWhvdmVyOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS1jMyk7IC8qIGluIEJ1dHRvbi1LbGFzc2UgcmVkdXppZXJ0ZSBPcGF6aXTDpHQgKi9cclxuICAgICAgICAtLWJ1dHRvbi1yaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7XHJcbiAgICAgICAgLS1idXR0b24tdGV4dDogICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrO1xyXG4gICAgICAgIC0tYnV0dG9uLWhvdmVyLXRleHQ6ICAgICAgICAgICAgICAgICAgICB3aGl0ZTtcclxuXHJcbiAgICAgICAgLyogSGVydm9yZ2Vob2JlbmUgQnV0dG9ucywgYXVjaCBpbSBIZWFkZXIqL1xyXG4gICAgICAgIC0tZmVhdHVyZWQtYnV0dG9uOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS1jMyk7XHJcbiAgICAgICAgLS1mZWF0dXJlZC1idXR0b24tdGV4dDogICAgICAgICAgICAgICAgIHdoaXRlO1xyXG4gICAgICAgIC0tZmVhdHVyZWQtYnV0dG9uLWhvdmVyLXRleHQ6ICAgICAgICAgICB2YXIoLS10Yi05MDApO1xyXG5cclxuICAgICAgICAvKlZFUlNDSElFREVORVMqL1xyXG5cclxuICAgICAgICAtLWxpbms6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tYzEpO1xyXG4gICAgICAgIC0tbGluay12aXNpdGVkOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS1jNC1wMik7XHJcblxyXG4gICAgICAgIC0tbGluay16ZWl0cmF1bS1sZWlzdGUtYWt0aXY6ICAgICAgICAgICB2YXIoLS1pbnZleHRyYS1vcmFuZ2UpO1xyXG5cclxuICAgICAgICAtLXdhcm5pbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI0I5MUMxQzsgLypUVyByZWQtNzAwICovXHJcblxyXG4gICAgICAgIC8qTU9EVUwtU1BFWklGSVNDSCovXHJcblxyXG4gICAgICAgIC8qTGluay1Nb2R1bGUqL1xyXG4gICAgICAgIC0tbGluay1tb2R1bGUtMS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICB2YXIoLS10Yi00MDApO1xyXG4gICAgICAgIC0tbGluay1tb2R1bGUtMi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAjRkRFNjhBOyAvKmFtYmVyLTIwMCovXHJcbiAgICAgICAgLS1saW5rLW1vZHVsZS0zLWJhY2tncm91bmQ6ICAgICAgICAgICAgICM2MzY2RjE7IC8qd2llIE5ld3NsZXR0ZXItQnV0dG9uKi9cclxuICAgICAgICAtLWxpbmstbW9kdWxlLTQtYmFja2dyb3VuZDogICAgICAgICAgICAgI2Q2ZGJiMTsgLypjNy1wNCovIC8qIHdpZSB0YWJsZS1zZWNvbmRhcnkgKi8gLypyZ2IoMjE0LDIxOSwxNzcpKi9cclxuICAgIH1cclxuXHJcbiAgICAvKiBGYXJiYmVyZWljaGUgYW5hbG9nIHp1IGRlciDDpGx0ZXJlbiBEZWZpbml0aW9uIGluIF90YWJsZXNfZm9uZHN2ZXJnbGVpY2gtb3V0ZXIuY3NzICovXHJcbiAgICAvKiBGYXJiZ2VidW5nIGbDvHIgZHVyY2hnZWbDpHJidGUgQmVyZWljaGUgei5CLiBpbiBCYW5rZW52ZXJnbGVpY2ggKi9cclxuICAgIC5mYXJiYmVyZWljaC0xIHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAhYmctdGFibGVTZWNvbmRhcnlcclxuICAgICAgICA7XHJcbiAgICB9XHJcbiAgICAuZmFyYmJlcmVpY2gtMiB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgIWJnLWxpbWUtNTAwL1swLjhdXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgLmZhcmJiZXJlaWNoLTMge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICFiZy1pbmRpZ28tMjAwL1swLjhdXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgLmZhcmJiZXJlaWNoLTQge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICFiZy15ZWxsb3ctNTAwL1swLjhdXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgLmZhcmJiZXJlaWNoLTUge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICFiZy10YWJsZUlubmVyRXZlblxyXG4gICAgICAgIDtcclxuICAgIH1cclxuICAgIC5mYXJiYmVyZWljaC02IHtcclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAhYmctYW1iZXItMjAwL1swLjhdXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG4gICAgLypcclxuICAgIC5mYXJiYmVyZWljaC02LWIge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICFiZy1hbWJlci0zMDBcclxuICAgICAgICA7XHJcbiAgICB9XHJcbiAgICAqL1xyXG5cclxuICAgIC8qIFNDUk9MTEJBUiBWRVJHTEVJQ0hTVEFCRUxMRU4gTUlUIElOTkVSRVIgU0NST0xMQkFSICovXHJcblxyXG4gICAgLyogRm9yIEZpcmVmb3ggQnJvd3NlciAqL1xyXG5cclxuICAgIC5zY3JvbGxiYXItaGlnaGxpZ2h0ZWQge1xyXG4gICAgICAgIC8qc2Nyb2xsYmFyLXdpZHRoOiB0aGluOyovXHJcbiAgICAgICAgLyogdGh1bWIgLyB0cmFjayAqL1xyXG4gICAgICAgIC8qc2Nyb2xsYmFyLWNvbG9yOiAjOGU5ODQ0ICNkNmRiYjE7Ki8gLyogYzctbTEgLyB0YWJsZS1zZWNvbmRhcnkgPSBjNy1wNCAqLyAvKmdyw7xuKi9cclxuICAgICAgICAvKnNjcm9sbGJhci1jb2xvcjogI2VjN2MzMCAjZjdjNWE0OyovIC8qIGM1IC8gdGFibGUtc2Vjb25kYXJ5ID0gYzUtcDQgKi8gLyppbnZPcmFuZ2UqL1xyXG4gICAgICAgIHNjcm9sbGJhci1jb2xvcjogIzM0MkE5MCAjYTZhMWNlOyAvKiBjMSAvIHRhYmxlLXNlY29uZGFyeSA9IGMxLXA0ICovXHJcbiAgICB9XHJcblxyXG4gICAgLyogRm9yIENocm9tZSwgRURHRSwgT3BlcmEsIE90aGVycyAqL1xyXG5cclxuICAgIC8qXHJcbiAgICAuc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAqL1xyXG4gICAgLnNjcm9sbGJhci1oaWdobGlnaHRlZDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICAgIC8qYmFja2dyb3VuZDogI2Q2ZGJiMTsqLyAvKmdyw7xuKi9cclxuICAgICAgICAvKmJhY2tncm91bmQ6ICNlYzdjMzA7Ki8gLyppbnZPcmFuZ2UqL1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMzNDJBOTA7XHJcbiAgICB9XHJcbiAgICAuc2Nyb2xsYmFyLWhpZ2hsaWdodGVkOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgLypiYWNrZ3JvdW5kOiAjOGU5ODQ0OyovIC8qZ3LDvG4qL1xyXG4gICAgICAgIC8qYmFja2dyb3VuZDogI2Y3YzVhNDsqLyAvKmludk9yYW5nZSovXHJcbiAgICAgICAgYmFja2dyb3VuZDogI2E2YTFjZTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiLyogVkFSSUFCTEVTICovXHJcblxyXG4vKlxyXG5EZWZhdWx0LVRhaWx3aW5kLUJyZWFrcG9pbnRzOlxyXG5cclxuc21cdDY0MHB4XHRcdG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7IC4uLiB9XHJcbm1kXHQ3NjhweFx0XHRAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsgLi4uIH1cclxubGdcdDEwMjRweFx0XHRAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7IC4uLiB9XHJcbnhsXHQxMjgwcHhcdFx0QG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkgeyAuLi4gfVxyXG4yeGxcdDE1MzZweFx0XHRAbWVkaWEgKG1pbi13aWR0aDogMTUzNnB4KSB7IC4uLiB9XHJcbiovXHJcblxyXG5AbGF5ZXIgYmFzZSB7XHJcblxyXG4gICAgOnJvb3Qge1xyXG5cclxuICAgICAgICAvKlZhcmlhYmxlbiBmw7xyIEhhbWJ1cmdlci1NZW51Ki9cclxuICAgICAgICAtLXRvZ2dsZS13aWR0aDogIDFlbTtcclxuICAgICAgICAtLXRvZ2dsZS1oZWlnaHQ6IDFlbTtcclxuICAgICAgICAtLXRvZ2dsZS1zdHJva2U6IDAuMmVtO1xyXG4gICAgICAgIC0tdG9nZ2xlLXRpbWU6ICAgMC4ycztcclxuICAgICAgICAtLXRvZ2dsZS1kZWxheTogIDAuM3M7XHJcbiAgICAgICAgLS1ob3Zlci10aW1lOiAgICAwLjNzO1xyXG5cclxuICAgICAgICAvKiBXZW5uIGdlc2V0enQsIHdlcmRlbiBpbm5lcmUgTW9kdWxpbmZvcyBhbmdlemVpZ3QsIHNvbnN0IG5pY2h0ICovXHJcbiAgICAgICAgLyotLW1vZHVsZS1pbmZvLWlubmVyLWRpc3BsYXk6IGJsb2NrOyovXHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICBCYXNpc2Fic3RhbmQgaXN0IHJlc3BvbnNpdiB1bmQgYWJow6RuZ2lnIHZvbSBWaWV3cG9ydC5cclxuICAgIERlZmluaWVydCBhYiBtaW5pbWFsZXIgVmlld3BvcnQtQnJlaXRlIHVuZCBkYW5uIGZvbGdlbmQgYW5nZXBhc3N0LlxyXG5cclxuICAgIC0tbW9kdWxlLW1hcmdpbi14IGlzdCBlaW4gQWJzdGFuZCwgZGVyIG51ciBnYW56IHNlbHRlbiBlaW5nZXNldHp0IHdpcmQsXHJcbiAgICAgIHouQi4gaW4gY2FsbC10by1hY3Rpb24gdW5kIGZvbmRzdmVyZ2xlaWNoLlxyXG4gICAgLS1tb2R1bGUtaW5uZXItbWFyZ2luLXgveSBzaW5kIE1hcmdpbnMsIGRpZSB2LmEuIGlubmVyaGFsYiBkZXIgTW9kdWxlXHJcbiAgICAgIGVpbmdlc2V0enQgd2VyZGVuLCB1bSBNYXJnaW5zIHp1IEJyb3dzZXJib3JkZXIgdW5kIGFuZGVyZW4gTW9kdWxlbiBoZXJ6dXN0ZWxsZW4uXHJcbiAgICAtLXNjcm9sbGJhci13aWR0aCBmw7xyIEJyZWl0ZW5iZXJlY2hudW5nIERhdGF0YWJsZXNcclxuICAgICovXHJcblxyXG4gICAgOnJvb3Qge1xyXG4gICAgICAgIC0tc2Nyb2xsYmFyLXdpZHRoOiAwcHg7XHJcbiAgICAgICAgLS1tb2R1bGUtbWFyZ2luLXg6IDA7XHJcbiAgICAgICAgLS1tb2R1bGUtaW5uZXItbWFyZ2luLXg6IDFyZW07XHJcbiAgICAgICAgLS1tb2R1bGUtaW5uZXItbWFyZ2luLXk6IDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgQHNjcmVlbiBsZyB7XHJcbiAgICAgICAgOnJvb3Qge1xyXG4gICAgICAgICAgICAtLXNjcm9sbGJhci13aWR0aDogMHB4O1xyXG4gICAgICAgICAgICAtLW1vZHVsZS1tYXJnaW4teDogMnJlbTtcclxuICAgICAgICAgICAgLS1tb2R1bGUtaW5uZXItbWFyZ2luLXg6IDJyZW07XHJcbiAgICAgICAgICAgIC0tbW9kdWxlLWlubmVyLW1hcmdpbi15OiAycmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgcHJpbnQge1xyXG4gICAgICAgIDpyb290IHtcclxuICAgICAgICAgICAgLS1zY3JvbGxiYXItd2lkdGg6IDBweDtcclxuICAgICAgICAgICAgLS1tb2R1bGUtbWFyZ2luLXg6IDA7XHJcbiAgICAgICAgICAgIC0tbW9kdWxlLWlubmVyLW1hcmdpbi14OiAwO1xyXG4gICAgICAgICAgICAtLW1vZHVsZS1pbm5lci1tYXJnaW4teTogMnJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8qIEZPTlRTICovXHJcblxyXG5AbGF5ZXIgYmFzZSB7XHJcblxyXG4gICAgLypSRU1PVEUqL1xyXG4gICAgLypEb3dubG9hZCBiZWkgR29vZ2xlIChwZXIgVGFnIGluIDxoZWFkPikqL1xyXG4gICAgLypAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1SYWxld2F5Oml0YWwsd2dodEAwLDQwMDswLDUwMDswLDYwMDsxLDQwMDsxLDUwMDsxLDYwMCZkaXNwbGF5PXN3YXAnKTsqL1xyXG5cclxuICAgIC8qTE9LQUwqL1xyXG4gICAgLypGb250IGZpbGVzIGRvd25sb2FkZWQgaGVyZTogaHR0cHM6Ly93d3cuYXhsbGVudC5vcmcvY29kZS9nb29nbGUtZm9udC1kb3dubG9hZGVyLyovXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogICdSYWxld2F5JztcclxuICAgICAgICBmb250LXN0eWxlOiAgIG5vcm1hbDtcclxuICAgICAgICBmb250LXdlaWdodDogIDQwMDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICAgICAgc3JjOiAgICAgICAgICB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktUmVndWxhci5lb3QnKTsgLyogSUU5ICovXHJcbiAgICAgICAgc3JjOiAgICAgICAgICB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktUmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovIHVybCgnLi4vZm9udHMvUmFsZXdheS1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi8gdXJsKCcuLi9mb250cy9SYWxld2F5LVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi8gdXJsKCcuLi9mb250cy9SYWxld2F5LVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqLyB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktUmVndWxhci5zdmcjUmFsZXdheScpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICAgIH1cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAgJ1JhbGV3YXknO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICAgbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAgNTAwO1xyXG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICAgICAgICBzcmM6ICAgICAgICAgIHVybCgnLi4vZm9udHMvUmFsZXdheS01MDAuZW90Jyk7IC8qIElFOSAqL1xyXG4gICAgICAgIHNyYzogICAgICAgICAgdXJsKCcuLi9mb250cy9SYWxld2F5LTUwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovIHVybCgnLi4vZm9udHMvUmFsZXdheS01MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIE1vZGVybiBCcm93c2VycyAqLyB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktNTAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovIHVybCgnLi4vZm9udHMvUmFsZXdheS01MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqLyB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktNTAwLnN2ZyNSYWxld2F5JykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gICAgfVxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICAnUmFsZXdheSc7XHJcbiAgICAgICAgZm9udC1zdHlsZTogICBub3JtYWw7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICA2MDA7XHJcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gICAgICAgIHNyYzogICAgICAgICAgdXJsKCcuLi9mb250cy9SYWxld2F5LTYwMC5lb3QnKTsgLyogSUU5ICovXHJcbiAgICAgICAgc3JjOiAgICAgICAgICB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktNjAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi8gdXJsKCcuLi9mb250cy9SYWxld2F5LTYwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogTW9kZXJuIEJyb3dzZXJzICovIHVybCgnLi4vZm9udHMvUmFsZXdheS02MDAud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi8gdXJsKCcuLi9mb250cy9SYWxld2F5LTYwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovIHVybCgnLi4vZm9udHMvUmFsZXdheS02MDAuc3ZnI1JhbGV3YXknKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbiAgICB9XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogICdSYWxld2F5JztcclxuICAgICAgICBmb250LXN0eWxlOiAgIG5vcm1hbDtcclxuICAgICAgICBmb250LXdlaWdodDogIDcwMDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICAgICAgc3JjOiAgICAgICAgICB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktNzAwLmVvdCcpOyAvKiBJRTkgKi9cclxuICAgICAgICBzcmM6ICAgICAgICAgIHVybCgnLi4vZm9udHMvUmFsZXdheS03MDAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqLyB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi8gdXJsKCcuLi9mb250cy9SYWxld2F5LTcwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqLyB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktNzAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi8gdXJsKCcuLi9mb250cy9SYWxld2F5LTcwMC5zdmcjUmFsZXdheScpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICAgIH1cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAgJ1JhbGV3YXknO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICAgaXRhbGljO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAgNDAwO1xyXG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICAgICAgICBzcmM6ICAgICAgICAgIHVybCgnLi4vZm9udHMvUmFsZXdheS1JdGFsaWMuZW90Jyk7IC8qIElFOSAqL1xyXG4gICAgICAgIHNyYzogICAgICAgICAgdXJsKCcuLi9mb250cy9SYWxld2F5LUl0YWxpYy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovIHVybCgnLi4vZm9udHMvUmFsZXdheS1JdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIE1vZGVybiBCcm93c2VycyAqLyB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovIHVybCgnLi4vZm9udHMvUmFsZXdheS1JdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqLyB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktSXRhbGljLnN2ZyNSYWxld2F5JykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gICAgfVxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICAnUmFsZXdheSc7XHJcbiAgICAgICAgZm9udC1zdHlsZTogICBpdGFsaWM7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICA1MDA7XHJcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gICAgICAgIHNyYzogICAgICAgICAgdXJsKCcuLi9mb250cy9SYWxld2F5LTUwMGl0YWxpYy5lb3QnKTsgLyogSUU5ICovXHJcbiAgICAgICAgc3JjOiAgICAgICAgICB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktNTAwaXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi8gdXJsKCcuLi9mb250cy9SYWxld2F5LTUwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogTW9kZXJuIEJyb3dzZXJzICovIHVybCgnLi4vZm9udHMvUmFsZXdheS01MDBpdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi8gdXJsKCcuLi9mb250cy9SYWxld2F5LTUwMGl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovIHVybCgnLi4vZm9udHMvUmFsZXdheS01MDBpdGFsaWMuc3ZnI1JhbGV3YXknKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbiAgICB9XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogICdSYWxld2F5JztcclxuICAgICAgICBmb250LXN0eWxlOiAgIGl0YWxpYztcclxuICAgICAgICBmb250LXdlaWdodDogIDYwMDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICAgICAgc3JjOiAgICAgICAgICB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktNjAwaXRhbGljLmVvdCcpOyAvKiBJRTkgKi9cclxuICAgICAgICBzcmM6ICAgICAgICAgIHVybCgnLi4vZm9udHMvUmFsZXdheS02MDBpdGFsaWMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqLyB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktNjAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi8gdXJsKCcuLi9mb250cy9SYWxld2F5LTYwMGl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqLyB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktNjAwaXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi8gdXJsKCcuLi9mb250cy9SYWxld2F5LTYwMGl0YWxpYy5zdmcjUmFsZXdheScpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICAgIH1cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAgJ1JhbGV3YXknO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICAgaXRhbGljO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAgNzAwO1xyXG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICAgICAgICBzcmM6ICAgICAgICAgIHVybCgnLi4vZm9udHMvUmFsZXdheS03MDBpdGFsaWMuZW90Jyk7IC8qIElFOSAqL1xyXG4gICAgICAgIHNyYzogICAgICAgICAgdXJsKCcuLi9mb250cy9SYWxld2F5LTcwMGl0YWxpYy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovIHVybCgnLi4vZm9udHMvUmFsZXdheS03MDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIE1vZGVybiBCcm93c2VycyAqLyB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktNzAwaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovIHVybCgnLi4vZm9udHMvUmFsZXdheS03MDBpdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqLyB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktNzAwaXRhbGljLnN2ZyNSYWxld2F5JykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gICAgfVxyXG4gICAgLypcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAgICAnTWF0ZXJpYWwgSWNvbnMnO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICAgICBub3JtYWw7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICAgIDQwMDtcclxuICAgICAgICBzcmM6ICAgICAgICAgICAgdXJsKCcuLi9mb250cy9NYXRlcmlhbEljb25zLVJlZ3VsYXIuZW90Jyk7IC8tIEZvciBJRTYtOCAtL1xyXG4gICAgICAgIHNyYzogICAgICAgICAgICBsb2NhbCgnTWF0ZXJpYWwgSWNvbnMnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWwoJ01hdGVyaWFsSWNvbnMtUmVndWxhcicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwoJy4uL2ZvbnRzL01hdGVyaWFsSWNvbnMtUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsKCcuLi9mb250cy9NYXRlcmlhbEljb25zLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwoJy4uL2ZvbnRzL01hdGVyaWFsSWNvbnMtUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcbiAgICB9XHJcbiAgICAqL1xyXG4gICAgLypcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAgICAnTWF0ZXJpYWwgSWNvbnMgT3V0bGluZWQnO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICAgICBub3JtYWw7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICAgIDQwMDtcclxuICAgICAgICBzcmM6ICAgICAgICAgICAgdXJsKCcuLi9mb250cy9NYXRlcmlhbEljb25zT3V0bGluZWQtUmVndWxhci5lb3QnKTsgLy0gRm9yIElFNi04IC0vXHJcbiAgICAgICAgc3JjOiAgICAgICAgICAgIGxvY2FsKCdNYXRlcmlhbCBJY29ucycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbCgnTWF0ZXJpYWxJY29uc091dGxpbmVkLVJlZ3VsYXInKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsKCcuLi9mb250cy9NYXRlcmlhbEljb25zT3V0bGluZWQtUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsKCcuLi9mb250cy9NYXRlcmlhbEljb25zT3V0bGluZWQtUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybCgnLi4vZm9udHMvTWF0ZXJpYWxJY29uc091dGxpbmVkLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xyXG4gICAgfVxyXG4gICAgKi9cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIHNyYzogdXJsKCcuLi9mb250cy9NYXRlcmlhbEljb25zLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgICB9XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zIE91dGxpbmVkJztcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBzcmM6IHVybCgnLi4vZm9udHMvTWF0ZXJpYWxJY29uc091dGxpbmVkLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLm1hdGVyaWFsLWljb25zIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcclxuICAgICAgICBkaXJlY3Rpb246IGx0cjtcclxuICAgICAgICAtbW96LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xyXG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICB9XHJcblxyXG4gICAgLm1hdGVyaWFsLWljb25zLW91dGxpbmVkIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zIE91dGxpbmVkJztcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcclxuICAgICAgICBkaXJlY3Rpb246IGx0cjtcclxuICAgICAgICAtbW96LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xyXG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8qIFRPR0dMRSAqL1xyXG4vKiBIYW1idXJnZXItTWVudS1Ub2dnbGUgKi9cclxuXHJcbkBsYXllciBiYXNlIHtcclxuXHJcbiAgICAuY2MtdG9nZ2xlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6ICAgIHZhcigtLXRvZ2dsZS13aWR0aCk7XHJcbiAgICAgICAgaGVpZ2h0OiAgIHZhcigtLXRvZ2dsZS1oZWlnaHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYy10b2dnbGU6aG92ZXIgLmNjLXRvZ2dsZS0tbGluZSxcclxuICAgIC5jYy10b2dnbGU6aG92ZXIgLmNjLXRvZ2dsZS0taW5uZXI6OmFmdGVyLFxyXG4gICAgLmNjLXRvZ2dsZTpob3ZlciAuY2MtdG9nZ2xlLS1pbm5lcjo6YmVmb3JlLFxyXG4gICAgLmNjLXRvZ2dsZTphY3RpdmUgLmNjLXRvZ2dsZS0tbGluZSxcclxuICAgIC5jYy10b2dnbGU6YWN0aXZlIC5jYy10b2dnbGUtLWlubmVyOjphZnRlcixcclxuICAgIC5jYy10b2dnbGU6YWN0aXZlIC5jYy10b2dnbGUtLWlubmVyOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhlYWRlci10ZXh0LWhvdmVyKTtcclxuICAgICAgICBvdXRsaW5lOiAgICAgICAgICBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYy10b2dnbGUtLWxpbmUge1xyXG4gICAgICAgIGRpc3BsYXk6ICAgICAgICAgIGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiAgICAgICAgIGFic29sdXRlO1xyXG4gICAgICAgIGhlaWdodDogICAgICAgICAgIHZhcigtLXRvZ2dsZS1zdHJva2UpO1xyXG4gICAgICAgIHdpZHRoOiAgICAgICAgICAgIDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taGVhZGVyLXRleHQpO1xyXG4gICAgICAgIHRvcDogICAgICAgICAgICAgIGNhbGMoNTAlIC0gdmFyKC0tdG9nZ2xlLXN0cm9rZSkgLyAyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWhvdmVyLXRpbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYy10b2dnbGUtLWlubmVyIHtcclxuICAgICAgICB3aWR0aDogICAgICAxMDAlOyAvKiA9IHdpZHRoIG9mIHRoZSBzdHJva2VzICovXHJcbiAgICAgICAgaGVpZ2h0OiAgICAgODAlO1xyXG4gICAgICAgIHBhZGRpbmc6ICAgIDEwcHggMDtcclxuICAgICAgICBtYXJnaW46ICAgICAwIGF1dG87XHJcbiAgICAgICAgcG9zaXRpb246ICAgcmVsYXRpdmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiAgcm90YXRlKDBkZWcpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10b2dnbGUtdGltZSkgMHMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgdmFyKC0taG92ZXItdGltZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmNjLXRvZ2dsZS0taW5uZXI6YmVmb3JlLFxyXG4gICAgLmNjLXRvZ2dsZS0taW5uZXI6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICAgICAgICAgICcnO1xyXG4gICAgICAgIGRpc3BsYXk6ICAgICAgICAgIGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiAgICAgICAgIGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAgICAgICAgICAgIDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAgICAgICAgICAgdmFyKC0tdG9nZ2xlLXN0cm9rZSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taGVhZGVyLXRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIHRvcCAqL1xyXG4gICAgLmNjLXRvZ2dsZS0taW5uZXI6YmVmb3JlIHtcclxuICAgICAgICB0b3A6ICAgICAgICAwO1xyXG4gICAgICAgIG9wYWNpdHk6ICAgIDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIHZhcigtLXRvZ2dsZS10aW1lKSB2YXIoLS10b2dnbGUtZGVsYXkpIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDBzIDBzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWhvdmVyLXRpbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIGJvdHRvbSAqL1xyXG4gICAgLmNjLXRvZ2dsZS0taW5uZXI6YWZ0ZXIge1xyXG4gICAgICAgIGJvdHRvbTogICAgIDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIHZhcigtLXRvZ2dsZS10aW1lKSB2YXIoLS10b2dnbGUtZGVsYXkpIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gdmFyKC0tdG9nZ2xlLXRpbWUpIDBzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWhvdmVyLXRpbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5tb2JpbGUtbmF2LWlzLW9wZW4gLmNjLXRvZ2dsZS0tbGluZSB7XHJcbiAgICAgICAgLypiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyovXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taGVhZGVyLXRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5tb2JpbGUtbmF2LWlzLW9wZW4gLmNjLXRvZ2dsZS0taW5uZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRvZ2dsZS10aW1lKSB2YXIoLS10b2dnbGUtZGVsYXkpIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIHRvcCAqL1xyXG4gICAgLm1vYmlsZS1uYXYtaXMtb3BlbiAuY2MtdG9nZ2xlLS1pbm5lcjpiZWZvcmUge1xyXG4gICAgICAgIC8qYmFja2dyb3VuZC1jb2xvcjogIzAwMDsqL1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhlYWRlci10ZXh0KTtcclxuICAgICAgICB0b3A6ICAgICAgICAgICAgICBjYWxjKDUwJSAtIHZhcigtLXRvZ2dsZS1zdHJva2UpIC8gMik7XHJcbiAgICAgICAgb3BhY2l0eTogICAgICAgICAgMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiAgICAgICB0b3AgdmFyKC0tdG9nZ2xlLXRpbWUpIDBzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDBzIHZhcigtLXRvZ2dsZS1kZWxheSkgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgdmFyKC0taG92ZXItdGltZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogYm90dG9tICovXHJcbiAgICAubW9iaWxlLW5hdi1pcy1vcGVuIC5jYy10b2dnbGUtLWlubmVyOmFmdGVyIHtcclxuICAgICAgICAvKmJhY2tncm91bmQtY29sb3I6ICMwMDA7Ki9cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItdGV4dCk7XHJcbiAgICAgICAgYm90dG9tOiAgICAgICAgICAgY2FsYyg1MCUgLSB2YXIoLS10b2dnbGUtc3Ryb2tlKSAvIDIpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogICAgICAgIHJvdGF0ZSgtOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zaXRpb246ICAgICAgIGJvdHRvbSB2YXIoLS10b2dnbGUtdGltZSkgMHMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSB2YXIoLS10b2dnbGUtdGltZSkgdmFyKC0tdG9nZ2xlLWRlbGF5KSBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1ob3Zlci10aW1lKTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiLyogVFlQT0dSQVBIWSAqL1xyXG5cclxuQGxheWVyIGJhc2Uge1xyXG5cclxuICAgIC8qU0lMQkVOVFJFTk5VTkcvSFlQSEVOUyovXHJcblxyXG4gICAgLyogRsO8ciBCcm93c2VyLCBkaWUgaHlwaGVucyB1bnRlcnN0w7x0emVuLiAqL1xyXG4gICAgLyogU2FmYXJpOiAtd2Via2l0LWh5cGhlbnM6IGF1dG87ICovXHJcbiAgICBAc3VwcG9ydHMgKGh5cGhlbnM6IGF1dG8pIHtcclxuICAgICAgICAuaHlwaGVucyB7XHJcbiAgICAgICAgICAgIGh5cGhlbnM6IGF1dG87XHJcbiAgICAgICAgICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogRsO8ciBCcm93c2VyLCBkaWUgaHlwaGVucyBuaWNodCB1bnRlcnN0w7x0emVuLiBLbGFzc2UgbXVzcyBkZWZpbmllcnQgc2VpbiwgYXVjaCAqL1xyXG4gICAgLyogd2VubiBzaWUgbGVlciBpc3QsIHdlaWwgc29uc3QgZGllIFp1b3JkbnVuZyBhbiBhbmRlcmVyIFN0ZWxsZSDDvGJlciBAYXBwbHkgc2NoZWl0ZXJ0LiAqL1xyXG4gICAgLyogQWt0dWVsbCBkZWFrdGl2aWVydCwgZGEgc29uc3QgVW1icnVjaCBpbSBMb2dvdGV4dCBJTlZFU1QtTUVOVEZPTkRTLkRFIGF1ZiBpUGFkLiAqL1xyXG4gICAgLyogYnJlYWstYWxsLCB3ZWlsIGJyZWFrLXdvcmRzIG5pY2h0IHJlaWNodC4gKi9cclxuICAgIEBzdXBwb3J0cyBub3QgKGh5cGhlbnM6IGF1dG8pIHtcclxuICAgICAgICAuaHlwaGVucyB7XHJcbiAgICAgICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICAgICAgZHVtbXlcclxuICAgICAgICAgICAgO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubm8taHlwaGVucyB7XHJcbiAgICAgICAgaHlwaGVuczogbm9uZTtcclxuICAgICAgICAtd2Via2l0LWh5cGhlbnM6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLypIRUFESU5HUyBVTkQgUEFSQUdSQVBIKi9cclxuXHJcbiAgICBoMSB7XHJcbiAgICAgICAgLyp0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyovXHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIHRleHQtNHhsXHJcbiAgICAgICAgICAgIGZvbnQtYm9sZFxyXG4gICAgICAgICAgICBtYi0yXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgICAvKnRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Ki9cclxuICAgICAgICBAYXBwbHlcclxuICAgICAgICAgICAgdGV4dC0zeGxcclxuICAgICAgICAgICAgZm9udC1tZWRpdW1cclxuICAgICAgICAgICAgbWItMlxyXG4gICAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIHRleHQtMnhsXHJcbiAgICAgICAgICAgIGZvbnQtbWVkaXVtXHJcbiAgICAgICAgICAgIG1iLTJcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgaDQge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICB0ZXh0LXhsXHJcbiAgICAgICAgICAgIGZvbnQtbWVkaXVtXHJcbiAgICAgICAgICAgIG1iLTJcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgaDUge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICB0ZXh0LWxnXHJcbiAgICAgICAgICAgIGZvbnQtbWVkaXVtXHJcbiAgICAgICAgICAgIG1iLTFcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgaDYge1xyXG4gICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICB0ZXh0LWxnXHJcbiAgICAgICAgICAgIGZvbnQtbWVkaXVtXHJcbiAgICAgICAgICAgIG1iLTFcclxuICAgICAgICA7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIHRleHQtYmFzZVxyXG4gICAgICAgICAgICBtYi0yXHJcbiAgICAgICAgO1xyXG4gICAgfVxyXG5cclxuICAgIC8qQkVTQ0hSw4ROS1QgQVVGIENPTlRFTlQsIFVNIE5BVlMgQVVTWlVLTEFNTUVSTiovXHJcbiAgICAvKlNlbGVrdGllcnQgaWQ9XCJtYWluXCIgaW4gbGF5b3V0LiovXHJcblxyXG4gICAgI21haW4ge1xyXG5cclxuICAgICAgICAvKkxJTktTIEFMTEdFTUVJTiovXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICB0ZXh0LWxpbmtcclxuICAgICAgICAgICAgdmlzaXRlZDp0ZXh0LWxpbmtWaXNpdGVkXHJcbiAgICAgICAgICAgIGZvbnQtYm9sZFxyXG4gICAgICAgICAgICA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKkxJTktTIElOIEFOREVSRU4gVEFHUyovXHJcbiAgICAgICAgcCBhLFxyXG4gICAgICAgIHVsIGEsXHJcbiAgICAgICAgb2wgYSB7XHJcbiAgICAgICAgICAgIEBhcHBseVxyXG4gICAgICAgICAgICAgICAgdW5kZXJsaW5lXHJcbiAgICAgICAgICAgICAgICB0ZXh0LWxpbmtcclxuICAgICAgICAgICAgICAgIHZpc2l0ZWQ6dGV4dC1saW5rVmlzaXRlZFxyXG4gICAgICAgICAgICAgICAgZm9udC1ib2xkXHJcbiAgICAgICAgICAgIDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFVOT1JERVJFRCBMSVNUUyAqL1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIGxpc3QtZGlzY1xyXG4gICAgICAgICAgICBsaXN0LWluc2lkZVxyXG4gICAgICAgICAgICBtYi0yXHJcbiAgICAgICAgICAgIDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsIGxpIHtcclxuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDFyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBPUkRFUkVEIExJU1RTICovXHJcblxyXG4gICAgICAgIG9sIHtcclxuICAgICAgICAgICAgQGFwcGx5XHJcbiAgICAgICAgICAgIGxpc3QtZGVjaW1hbFxyXG4gICAgICAgICAgICBsaXN0LWluc2lkZVxyXG4gICAgICAgICAgICBtYi0yXHJcbiAgICAgICAgICAgIDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG9sIGxpIHtcclxuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDFyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKkxJU1QtSVRFTVMqL1xyXG4gICAgICAgIC8qTUlUIENIRUNLTUFSSyovXHJcblxyXG4gICAgICAgIC8qVmVyZXJidCBzaWNoIHp1IGxpKi9cclxuICAgICAgICAubGlzdC1jaGVja21hcmsgdWwge1xyXG4gICAgICAgICAgICBAYXBwbHlcclxuICAgICAgICAgICAgICAgIGxpc3Qtbm9uZVxyXG4gICAgICAgICAgICA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5saXN0LWNoZWNrbWFyayB1bCBsaSB7XHJcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAtMi42cmVtOyAvKiBrZXkgcHJvcGVydHkgKi9cclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIuM3JlbTsgLyoga2V5IHByb3BlcnR5ICovXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qTGlzdC1JdGVtcyBtaXQgQ2hlY2ttYXJrLiovXHJcbiAgICAgICAgLmxpc3QtY2hlY2ttYXJrIHVsIGxpOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zdmcvY2hlY2ttYXJrLnN2ZycpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDJyZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogMnJlbTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6IDAuNnJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjNyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/