@charset "UTF-8";
/*!
 * Porco CSS v0.0.1
 * Copyright 2026- - Licensed under MIT
 *
 * Based on Pico CSS v2.1.1
 * Copyright 2019-2025 - Licensed under MIT
 */
/**
 * Styles
 */
:root,
:host {
  --porco-font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --porco-font-family-sans-serif: system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial, "Helvetica Neue", sans-serif, var(--porco-font-family-emoji);
  --porco-font-family-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--porco-font-family-emoji);
  --porco-font-family: var(--porco-font-family-sans-serif);
  --porco-line-height: 1.5;
  --porco-font-weight: 400;
  --porco-font-size: 100%;
  --porco-text-underline-offset: 0.1rem;
  --porco-border-radius: 0.25rem;
  --porco-border-width: 0.0625rem;
  --porco-outline-width: 0.125rem;
  --porco-transition: 0.2s ease-in-out;
  --porco-spacing: 1rem;
  --porco-typography-spacing-vertical: 1rem;
  --porco-block-spacing-vertical: var(--porco-spacing);
  --porco-block-spacing-horizontal: var(--porco-spacing);
  --porco-grid-column-gap: var(--porco-spacing);
  --porco-grid-row-gap: var(--porco-spacing);
  --porco-form-element-spacing-vertical: 0.75rem;
  --porco-form-element-spacing-horizontal: 1rem;
  --porco-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --porco-group-box-shadow-focus-with-button: 0 0 0 var(--porco-outline-width) var(--porco-primary-focus);
  --porco-group-box-shadow-focus-with-input: 0 0 0 0.0625rem var(--porco-form-element-border-color);
  --porco-modal-overlay-backdrop-filter: blur(0.375rem);
  --porco-nav-element-spacing-vertical: 1rem;
  --porco-nav-element-spacing-horizontal: 0.5rem;
  --porco-nav-link-spacing-vertical: 0.5rem;
  --porco-nav-link-spacing-horizontal: 0.5rem;
  --porco-nav-breadcrumb-divider: ">";
  --porco-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --porco-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
  --porco-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  --porco-icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
  --porco-icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
  --porco-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
  --porco-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
  --porco-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E");
}
@media (min-width: 576px) {
  :root,
  :host {
    --porco-font-size: 106.25%;
  }
}
@media (min-width: 768px) {
  :root,
  :host {
    --porco-font-size: 112.5%;
  }
}
@media (min-width: 1024px) {
  :root,
  :host {
    --porco-font-size: 118.75%;
  }
}
@media (min-width: 1280px) {
  :root,
  :host {
    --porco-font-size: 125%;
  }
}
@media (min-width: 1536px) {
  :root,
  :host {
    --porco-font-size: 131.25%;
  }
}

a {
  --porco-text-decoration: underline;
}
a.secondary, a.contrast {
  --porco-text-decoration: underline;
}

small {
  --porco-font-size: 0.875em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  --porco-font-weight: 700;
}

h1 {
  --porco-font-size: 2rem;
  --porco-line-height: 1.125;
  --porco-typography-spacing-top: 3rem;
}

h2 {
  --porco-font-size: 1.75rem;
  --porco-line-height: 1.15;
  --porco-typography-spacing-top: 2.625rem;
}

h3 {
  --porco-font-size: 1.5rem;
  --porco-line-height: 1.175;
  --porco-typography-spacing-top: 2.25rem;
}

h4 {
  --porco-font-size: 1.25rem;
  --porco-line-height: 1.2;
  --porco-typography-spacing-top: 1.874rem;
}

h5 {
  --porco-font-size: 1.125rem;
  --porco-line-height: 1.225;
  --porco-typography-spacing-top: 1.6875rem;
}

h6 {
  --porco-font-size: 1rem;
  --porco-line-height: 1.25;
  --porco-typography-spacing-top: 1.5rem;
}

thead th,
thead td,
tfoot th,
tfoot td {
  --porco-font-weight: 600;
  --porco-border-width: 0.1875rem;
}

pre,
code,
kbd,
samp {
  --porco-font-family: var(--porco-font-family-monospace);
}

kbd {
  --porco-font-weight: bolder;
}

input:not([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:where(select, textarea) {
  --porco-outline-width: 0.0625rem;
}

[type=search] {
  --porco-border-radius: 5rem;
}

[type=checkbox],
[type=radio] {
  --porco-border-width: 0.125rem;
}

[type=checkbox][role=switch] {
  --porco-border-width: 0.1875rem;
}

details.dropdown summary:not([role=button]) {
  --porco-outline-width: 0.0625rem;
}

nav details.dropdown summary:focus-visible {
  --porco-outline-width: 0.125rem;
}

[role=search] {
  --porco-border-radius: 5rem;
}

[role=search]:has(button.secondary:focus,
[type=submit].secondary:focus,
[type=button].secondary:focus,
[role=button].secondary:focus),
[role=group]:has(button.secondary:focus,
[type=submit].secondary:focus,
[type=button].secondary:focus,
[role=button].secondary:focus) {
  --porco-group-box-shadow-focus-with-button: 0 0 0 var(--porco-outline-width) var(--porco-secondary-focus);
}
[role=search]:has(button.contrast:focus,
[type=submit].contrast:focus,
[type=button].contrast:focus,
[role=button].contrast:focus),
[role=group]:has(button.contrast:focus,
[type=submit].contrast:focus,
[type=button].contrast:focus,
[role=button].contrast:focus) {
  --porco-group-box-shadow-focus-with-button: 0 0 0 var(--porco-outline-width) var(--porco-contrast-focus);
}
[role=search] button,
[role=search] [type=submit],
[role=search] [type=button],
[role=search] [role=button],
[role=group] button,
[role=group] [type=submit],
[role=group] [type=button],
[role=group] [role=button] {
  --porco-form-element-spacing-horizontal: 2rem;
}

details summary[role=button]:not(.outline)::after {
  filter: brightness(0) invert(1);
}

[aria-busy=true]:not(input, select, textarea):is(button, [type=submit], [type=button], [type=reset], [role=button]):not(.outline)::before {
  filter: brightness(0) invert(1);
}

/**
 * Color schemes
 */
[data-theme=light],
:root:not([data-theme=dark]),
:host(:not([data-theme=dark])) {
  color-scheme: light;
  --porco-background-color: #fff;
  --porco-color: #373c44;
  --porco-text-selection-color: rgba(2, 154, 232, 0.25);
  --porco-muted-color: #646b79;
  --porco-muted-border-color: rgb(231, 234, 239.5);
  --porco-primary: #0172ad;
  --porco-primary-background: #0172ad;
  --porco-primary-border: var(--porco-primary-background);
  --porco-primary-underline: rgba(1, 114, 173, 0.5);
  --porco-primary-hover: #015887;
  --porco-primary-hover-background: #02659a;
  --porco-primary-hover-border: var(--porco-primary-hover-background);
  --porco-primary-hover-underline: var(--porco-primary-hover);
  --porco-primary-focus: rgba(2, 154, 232, 0.5);
  --porco-primary-inverse: #fff;
  --porco-secondary: #5d6b89;
  --porco-secondary-background: #525f7a;
  --porco-secondary-border: var(--porco-secondary-background);
  --porco-secondary-underline: rgba(93, 107, 137, 0.5);
  --porco-secondary-hover: #48536b;
  --porco-secondary-hover-background: #48536b;
  --porco-secondary-hover-border: var(--porco-secondary-hover-background);
  --porco-secondary-hover-underline: var(--porco-secondary-hover);
  --porco-secondary-focus: rgba(93, 107, 137, 0.25);
  --porco-secondary-inverse: #fff;
  --porco-contrast: #181c25;
  --porco-contrast-background: #181c25;
  --porco-contrast-border: var(--porco-contrast-background);
  --porco-contrast-underline: rgba(24, 28, 37, 0.5);
  --porco-contrast-hover: #000;
  --porco-contrast-hover-background: #000;
  --porco-contrast-hover-border: var(--porco-contrast-hover-background);
  --porco-contrast-hover-underline: var(--porco-secondary-hover);
  --porco-contrast-focus: rgba(93, 107, 137, 0.25);
  --porco-contrast-inverse: #fff;
  --porco-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024), 0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03), 0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036), 0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302), 0.5rem 1rem 6rem rgba(129, 145, 181, 0.06), 0 0 0 0.0625rem rgba(129, 145, 181, 0.015);
  --porco-h1-color: #2d3138;
  --porco-h2-color: #373c44;
  --porco-h3-color: #424751;
  --porco-h4-color: #4d535e;
  --porco-h5-color: #5c6370;
  --porco-h6-color: #646b79;
  --porco-mark-background-color: rgb(252.5, 230.5, 191.5);
  --porco-mark-color: #0f1114;
  --porco-ins-color: rgb(28.5, 105.5, 84);
  --porco-del-color: rgb(136, 56.5, 53);
  --porco-blockquote-border-color: var(--porco-muted-border-color);
  --porco-blockquote-footer-color: var(--porco-muted-color);
  --porco-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --porco-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --porco-table-border-color: var(--porco-muted-border-color);
  --porco-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375);
  --porco-code-background-color: rgb(243, 244.5, 246.75);
  --porco-code-color: #646b79;
  --porco-code-kbd-background-color: var(--porco-color);
  --porco-code-kbd-color: var(--porco-background-color);
  --porco-form-element-background-color: rgb(251, 251.5, 252.25);
  --porco-form-element-selected-background-color: #dfe3eb;
  --porco-form-element-border-color: #cfd5e2;
  --porco-form-element-color: #23262c;
  --porco-form-element-placeholder-color: var(--porco-muted-color);
  --porco-form-element-active-background-color: #fff;
  --porco-form-element-active-border-color: var(--porco-primary-border);
  --porco-form-element-focus-color: var(--porco-primary-border);
  --porco-form-element-disabled-opacity: 0.5;
  --porco-form-element-invalid-border-color: rgb(183.5, 105.5, 106.5);
  --porco-form-element-invalid-active-border-color: rgb(200.25, 79.25, 72.25);
  --porco-form-element-invalid-focus-color: var(--porco-form-element-invalid-active-border-color);
  --porco-form-element-valid-border-color: rgb(76, 154.5, 137.5);
  --porco-form-element-valid-active-border-color: rgb(39, 152.75, 118.75);
  --porco-form-element-valid-focus-color: var(--porco-form-element-valid-active-border-color);
  --porco-switch-background-color: #bfc7d9;
  --porco-switch-checked-background-color: var(--porco-primary-background);
  --porco-switch-color: #fff;
  --porco-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --porco-range-border-color: #dfe3eb;
  --porco-range-active-border-color: #bfc7d9;
  --porco-range-thumb-border-color: var(--porco-background-color);
  --porco-range-thumb-color: var(--porco-secondary-background);
  --porco-range-thumb-active-color: var(--porco-primary-background);
  --porco-accordion-border-color: var(--porco-muted-border-color);
  --porco-accordion-active-summary-color: var(--porco-primary-hover);
  --porco-accordion-close-summary-color: var(--porco-color);
  --porco-accordion-open-summary-color: var(--porco-muted-color);
  --porco-card-background-color: var(--porco-background-color);
  --porco-card-border-color: var(--porco-muted-border-color);
  --porco-card-box-shadow: var(--porco-box-shadow);
  --porco-card-sectioning-background-color: rgb(251, 251.5, 252.25);
  --porco-dropdown-background-color: #fff;
  --porco-dropdown-border-color: #eff1f4;
  --porco-dropdown-box-shadow: var(--porco-box-shadow);
  --porco-dropdown-color: var(--porco-color);
  --porco-dropdown-hover-background-color: #eff1f4;
  --porco-loading-spinner-opacity: 0.5;
  --porco-modal-overlay-background-color: rgba(232, 234, 237, 0.75);
  --porco-progress-background-color: #dfe3eb;
  --porco-progress-color: var(--porco-primary-background);
  --porco-tooltip-background-color: var(--porco-contrast-background);
  --porco-tooltip-color: var(--porco-contrast-inverse);
  --porco-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(76, 154.5, 137.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --porco-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200.25, 79.25, 72.25)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
}
[data-theme=light] input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:root:not([data-theme=dark]) input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:host(:not([data-theme=dark])) input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]) {
  --porco-form-element-focus-color: var(--porco-primary-focus);
}

@media only screen and (prefers-color-scheme: dark) {
  :root:not([data-theme]),
  :host(:not([data-theme])) {
    color-scheme: dark;
    --porco-background-color: rgb(19, 22.5, 30.5);
    --porco-color: #c2c7d0;
    --porco-text-selection-color: rgba(1, 170, 255, 0.1875);
    --porco-muted-color: #7b8495;
    --porco-muted-border-color: #202632;
    --porco-primary: #01aaff;
    --porco-primary-background: #0172ad;
    --porco-primary-border: var(--porco-primary-background);
    --porco-primary-underline: rgba(1, 170, 255, 0.5);
    --porco-primary-hover: #79c0ff;
    --porco-primary-hover-background: #017fc0;
    --porco-primary-hover-border: var(--porco-primary-hover-background);
    --porco-primary-hover-underline: var(--porco-primary-hover);
    --porco-primary-focus: rgba(1, 170, 255, 0.375);
    --porco-primary-inverse: #fff;
    --porco-secondary: #969eaf;
    --porco-secondary-background: #525f7a;
    --porco-secondary-border: var(--porco-secondary-background);
    --porco-secondary-underline: rgba(150, 158, 175, 0.5);
    --porco-secondary-hover: #b3b9c5;
    --porco-secondary-hover-background: #5d6b89;
    --porco-secondary-hover-border: var(--porco-secondary-hover-background);
    --porco-secondary-hover-underline: var(--porco-secondary-hover);
    --porco-secondary-focus: rgba(144, 158, 190, 0.25);
    --porco-secondary-inverse: #fff;
    --porco-contrast: #dfe3eb;
    --porco-contrast-background: #eff1f4;
    --porco-contrast-border: var(--porco-contrast-background);
    --porco-contrast-underline: rgba(223, 227, 235, 0.5);
    --porco-contrast-hover: #fff;
    --porco-contrast-hover-background: #fff;
    --porco-contrast-hover-border: var(--porco-contrast-hover-background);
    --porco-contrast-hover-underline: var(--porco-contrast-hover);
    --porco-contrast-focus: rgba(207, 213, 226, 0.25);
    --porco-contrast-inverse: #000;
    --porco-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
    --porco-h1-color: #f0f1f3;
    --porco-h2-color: #e0e3e7;
    --porco-h3-color: #c2c7d0;
    --porco-h4-color: #b3b9c5;
    --porco-h5-color: #a4acba;
    --porco-h6-color: #8891a4;
    --porco-mark-background-color: #014063;
    --porco-mark-color: #fff;
    --porco-ins-color: #62af9a;
    --porco-del-color: rgb(205.5, 126, 123);
    --porco-blockquote-border-color: var(--porco-muted-border-color);
    --porco-blockquote-footer-color: var(--porco-muted-color);
    --porco-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --porco-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --porco-table-border-color: var(--porco-muted-border-color);
    --porco-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375);
    --porco-code-background-color: rgb(26, 30.5, 40.25);
    --porco-code-color: #8891a4;
    --porco-code-kbd-background-color: var(--porco-color);
    --porco-code-kbd-color: var(--porco-background-color);
    --porco-form-element-background-color: rgb(28, 33, 43.5);
    --porco-form-element-selected-background-color: #2a3140;
    --porco-form-element-border-color: #2a3140;
    --porco-form-element-color: #e0e3e7;
    --porco-form-element-placeholder-color: #8891a4;
    --porco-form-element-active-background-color: rgb(26, 30.5, 40.25);
    --porco-form-element-active-border-color: var(--porco-primary-border);
    --porco-form-element-focus-color: var(--porco-primary-border);
    --porco-form-element-disabled-opacity: 0.5;
    --porco-form-element-invalid-border-color: rgb(149.5, 74, 80);
    --porco-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
    --porco-form-element-invalid-focus-color: var(--porco-form-element-invalid-active-border-color);
    --porco-form-element-valid-border-color: #2a7b6f;
    --porco-form-element-valid-active-border-color: rgb(22, 137, 105.5);
    --porco-form-element-valid-focus-color: var(--porco-form-element-valid-active-border-color);
    --porco-switch-background-color: #333c4e;
    --porco-switch-checked-background-color: var(--porco-primary-background);
    --porco-switch-color: #fff;
    --porco-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --porco-range-border-color: #202632;
    --porco-range-active-border-color: #2a3140;
    --porco-range-thumb-border-color: var(--porco-background-color);
    --porco-range-thumb-color: var(--porco-secondary-background);
    --porco-range-thumb-active-color: var(--porco-primary-background);
    --porco-accordion-border-color: var(--porco-muted-border-color);
    --porco-accordion-active-summary-color: var(--porco-primary-hover);
    --porco-accordion-close-summary-color: var(--porco-color);
    --porco-accordion-open-summary-color: var(--porco-muted-color);
    --porco-card-background-color: #181c25;
    --porco-card-border-color: var(--porco-card-background-color);
    --porco-card-box-shadow: var(--porco-box-shadow);
    --porco-card-sectioning-background-color: rgb(26, 30.5, 40.25);
    --porco-dropdown-background-color: #181c25;
    --porco-dropdown-border-color: #202632;
    --porco-dropdown-box-shadow: var(--porco-box-shadow);
    --porco-dropdown-color: var(--porco-color);
    --porco-dropdown-hover-background-color: #202632;
    --porco-loading-spinner-opacity: 0.5;
    --porco-modal-overlay-background-color: rgba(7.5, 8.5, 10, 0.75);
    --porco-progress-background-color: #202632;
    --porco-progress-color: var(--porco-primary-background);
    --porco-tooltip-background-color: var(--porco-contrast-background);
    --porco-tooltip-color: var(--porco-contrast-inverse);
    --porco-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    --porco-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
  }
  :root:not([data-theme]) input:is([type=submit],
  [type=button],
  [type=reset],
  [type=checkbox],
  [type=radio],
  [type=file]),
  :host(:not([data-theme])) input:is([type=submit],
  [type=button],
  [type=reset],
  [type=checkbox],
  [type=radio],
  [type=file]) {
    --porco-form-element-focus-color: var(--porco-primary-focus);
  }
  :root:not([data-theme]) details summary[role=button].contrast:not(.outline)::after,
  :host(:not([data-theme])) details summary[role=button].contrast:not(.outline)::after {
    filter: brightness(0);
  }
  :root:not([data-theme]) [aria-busy=true]:not(input, select, textarea).contrast:is(button,
  [type=submit],
  [type=button],
  [type=reset],
  [role=button]):not(.outline)::before,
  :host(:not([data-theme])) [aria-busy=true]:not(input, select, textarea).contrast:is(button,
  [type=submit],
  [type=button],
  [type=reset],
  [role=button]):not(.outline)::before {
    filter: brightness(0);
  }
}
[data-theme=dark] {
  color-scheme: dark;
  --porco-background-color: rgb(19, 22.5, 30.5);
  --porco-color: #c2c7d0;
  --porco-text-selection-color: rgba(1, 170, 255, 0.1875);
  --porco-muted-color: #7b8495;
  --porco-muted-border-color: #202632;
  --porco-primary: #01aaff;
  --porco-primary-background: #0172ad;
  --porco-primary-border: var(--porco-primary-background);
  --porco-primary-underline: rgba(1, 170, 255, 0.5);
  --porco-primary-hover: #79c0ff;
  --porco-primary-hover-background: #017fc0;
  --porco-primary-hover-border: var(--porco-primary-hover-background);
  --porco-primary-hover-underline: var(--porco-primary-hover);
  --porco-primary-focus: rgba(1, 170, 255, 0.375);
  --porco-primary-inverse: #fff;
  --porco-secondary: #969eaf;
  --porco-secondary-background: #525f7a;
  --porco-secondary-border: var(--porco-secondary-background);
  --porco-secondary-underline: rgba(150, 158, 175, 0.5);
  --porco-secondary-hover: #b3b9c5;
  --porco-secondary-hover-background: #5d6b89;
  --porco-secondary-hover-border: var(--porco-secondary-hover-background);
  --porco-secondary-hover-underline: var(--porco-secondary-hover);
  --porco-secondary-focus: rgba(144, 158, 190, 0.25);
  --porco-secondary-inverse: #fff;
  --porco-contrast: #dfe3eb;
  --porco-contrast-background: #eff1f4;
  --porco-contrast-border: var(--porco-contrast-background);
  --porco-contrast-underline: rgba(223, 227, 235, 0.5);
  --porco-contrast-hover: #fff;
  --porco-contrast-hover-background: #fff;
  --porco-contrast-hover-border: var(--porco-contrast-hover-background);
  --porco-contrast-hover-underline: var(--porco-contrast-hover);
  --porco-contrast-focus: rgba(207, 213, 226, 0.25);
  --porco-contrast-inverse: #000;
  --porco-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
  --porco-h1-color: #f0f1f3;
  --porco-h2-color: #e0e3e7;
  --porco-h3-color: #c2c7d0;
  --porco-h4-color: #b3b9c5;
  --porco-h5-color: #a4acba;
  --porco-h6-color: #8891a4;
  --porco-mark-background-color: #014063;
  --porco-mark-color: #fff;
  --porco-ins-color: #62af9a;
  --porco-del-color: rgb(205.5, 126, 123);
  --porco-blockquote-border-color: var(--porco-muted-border-color);
  --porco-blockquote-footer-color: var(--porco-muted-color);
  --porco-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --porco-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --porco-table-border-color: var(--porco-muted-border-color);
  --porco-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375);
  --porco-code-background-color: rgb(26, 30.5, 40.25);
  --porco-code-color: #8891a4;
  --porco-code-kbd-background-color: var(--porco-color);
  --porco-code-kbd-color: var(--porco-background-color);
  --porco-form-element-background-color: rgb(28, 33, 43.5);
  --porco-form-element-selected-background-color: #2a3140;
  --porco-form-element-border-color: #2a3140;
  --porco-form-element-color: #e0e3e7;
  --porco-form-element-placeholder-color: #8891a4;
  --porco-form-element-active-background-color: rgb(26, 30.5, 40.25);
  --porco-form-element-active-border-color: var(--porco-primary-border);
  --porco-form-element-focus-color: var(--porco-primary-border);
  --porco-form-element-disabled-opacity: 0.5;
  --porco-form-element-invalid-border-color: rgb(149.5, 74, 80);
  --porco-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
  --porco-form-element-invalid-focus-color: var(--porco-form-element-invalid-active-border-color);
  --porco-form-element-valid-border-color: #2a7b6f;
  --porco-form-element-valid-active-border-color: rgb(22, 137, 105.5);
  --porco-form-element-valid-focus-color: var(--porco-form-element-valid-active-border-color);
  --porco-switch-background-color: #333c4e;
  --porco-switch-checked-background-color: var(--porco-primary-background);
  --porco-switch-color: #fff;
  --porco-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --porco-range-border-color: #202632;
  --porco-range-active-border-color: #2a3140;
  --porco-range-thumb-border-color: var(--porco-background-color);
  --porco-range-thumb-color: var(--porco-secondary-background);
  --porco-range-thumb-active-color: var(--porco-primary-background);
  --porco-accordion-border-color: var(--porco-muted-border-color);
  --porco-accordion-active-summary-color: var(--porco-primary-hover);
  --porco-accordion-close-summary-color: var(--porco-color);
  --porco-accordion-open-summary-color: var(--porco-muted-color);
  --porco-card-background-color: #181c25;
  --porco-card-border-color: var(--porco-card-background-color);
  --porco-card-box-shadow: var(--porco-box-shadow);
  --porco-card-sectioning-background-color: rgb(26, 30.5, 40.25);
  --porco-dropdown-background-color: #181c25;
  --porco-dropdown-border-color: #202632;
  --porco-dropdown-box-shadow: var(--porco-box-shadow);
  --porco-dropdown-color: var(--porco-color);
  --porco-dropdown-hover-background-color: #202632;
  --porco-loading-spinner-opacity: 0.5;
  --porco-modal-overlay-background-color: rgba(7.5, 8.5, 10, 0.75);
  --porco-progress-background-color: #202632;
  --porco-progress-color: var(--porco-primary-background);
  --porco-tooltip-background-color: var(--porco-contrast-background);
  --porco-tooltip-color: var(--porco-contrast-inverse);
  --porco-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --porco-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
}
[data-theme=dark] input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]) {
  --porco-form-element-focus-color: var(--porco-primary-focus);
}
[data-theme=dark] details summary[role=button].contrast:not(.outline)::after {
  filter: brightness(0);
}
[data-theme=dark] [aria-busy=true]:not(input, select, textarea).contrast:is(button,
[type=submit],
[type=button],
[type=reset],
[role=button]):not(.outline)::before {
  filter: brightness(0);
}

progress,
[type=checkbox],
[type=radio],
[type=range] {
  accent-color: var(--porco-primary);
}

/**
 * Document
 * Content-box & Responsive typography
 */
*,
*::before,
*::after {
  box-sizing: border-box;
  background-repeat: no-repeat;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

:where(:root),
:where(:host) {
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  background-color: var(--porco-background-color);
  color: var(--porco-color);
  font-weight: var(--porco-font-weight);
  font-size: var(--porco-font-size);
  line-height: var(--porco-line-height);
  font-family: var(--porco-font-family);
  text-underline-offset: var(--porco-text-underline-offset);
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
  -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
}

/**
 * Landmarks
 */
body {
  width: 100%;
  margin: 0;
}

main {
  display: block;
}

body > header,
body > main,
body > footer {
  padding-block: var(--porco-block-spacing-vertical);
}

/**
 * Section
 */
section {
  margin-bottom: var(--porco-block-spacing-vertical);
}

/**
 * Container
 */
.container,
.container-fluid {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: var(--porco-spacing);
  padding-left: var(--porco-spacing);
}

@media (min-width: 576px) {
  .container {
    max-width: 510px;
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 700px;
  }
}
@media (min-width: 1024px) {
  .container {
    max-width: 950px;
  }
}
@media (min-width: 1280px) {
  .container {
    max-width: 1200px;
  }
}
@media (min-width: 1536px) {
  .container {
    max-width: 1450px;
  }
}

/**
 * Grid
 * Minimal grid system with auto-layout columns
 */
.grid {
  grid-column-gap: var(--porco-grid-column-gap);
  grid-row-gap: var(--porco-grid-row-gap);
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .grid {
    grid-template-columns: repeat(auto-fit, minmax(0%, 1fr));
  }
}
.grid > * {
  min-width: 0;
}

/**
 * Overflow auto
 */
.overflow-auto {
  overflow: auto;
}

/**
 * Typography
 */
b,
strong {
  font-weight: bolder;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

address,
blockquote,
dl,
ol,
p,
pre,
table,
ul {
  margin-top: 0;
  margin-bottom: var(--porco-typography-spacing-vertical);
  color: var(--porco-color);
  font-style: normal;
  font-weight: var(--porco-font-weight);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: var(--porco-typography-spacing-vertical);
  color: var(--porco-color);
  font-weight: var(--porco-font-weight);
  font-size: var(--porco-font-size);
  line-height: var(--porco-line-height);
  font-family: var(--porco-font-family);
}

h1 {
  --porco-color: var(--porco-h1-color);
}

h2 {
  --porco-color: var(--porco-h2-color);
}

h3 {
  --porco-color: var(--porco-h3-color);
}

h4 {
  --porco-color: var(--porco-h4-color);
}

h5 {
  --porco-color: var(--porco-h5-color);
}

h6 {
  --porco-color: var(--porco-h6-color);
}

:where(article, address, blockquote, dl, figure, form, ol, p, pre, table, ul) ~ :is(h1, h2, h3, h4, h5, h6) {
  margin-top: var(--porco-typography-spacing-top);
}

p {
  margin-bottom: var(--porco-typography-spacing-vertical);
}

hgroup {
  margin-bottom: var(--porco-typography-spacing-vertical);
}
hgroup > * {
  margin-top: 0;
  margin-bottom: 0;
}
hgroup > *:not(:first-child):last-child {
  --porco-color: var(--porco-muted-color);
  --porco-font-weight: unset;
  font-size: 1rem;
}

:where(ol, ul) li {
  margin-bottom: calc(var(--porco-typography-spacing-vertical) * 0.25);
}

:where(dl, ol, ul) :where(dl, ol, ul) {
  margin: 0;
  margin-top: calc(var(--porco-typography-spacing-vertical) * 0.25);
}

ul li {
  list-style: square;
}

mark {
  padding: 0.125rem 0.25rem;
  background-color: var(--porco-mark-background-color);
  color: var(--porco-mark-color);
  vertical-align: baseline;
}

blockquote {
  display: block;
  margin: var(--porco-typography-spacing-vertical) 0;
  padding: var(--porco-spacing);
  border-right: none;
  border-left: 0.25rem solid var(--porco-blockquote-border-color);
  border-inline-start: 0.25rem solid var(--porco-blockquote-border-color);
  border-inline-end: none;
}
blockquote footer {
  margin-top: calc(var(--porco-typography-spacing-vertical) * 0.5);
  color: var(--porco-blockquote-footer-color);
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none;
  cursor: help;
}

ins {
  color: var(--porco-ins-color);
  text-decoration: none;
}

del {
  color: var(--porco-del-color);
}

::-moz-selection {
  background-color: var(--porco-text-selection-color);
}

::selection {
  background-color: var(--porco-text-selection-color);
}

/**
 * Link
 */
:where(a:not([role=button])),
[role=link] {
  --porco-color: var(--porco-primary);
  --porco-background-color: transparent;
  --porco-underline: var(--porco-primary-underline);
  outline: none;
  background-color: var(--porco-background-color);
  color: var(--porco-color);
  -webkit-text-decoration: var(--porco-text-decoration);
          text-decoration: var(--porco-text-decoration);
  text-decoration-color: var(--porco-underline);
  text-underline-offset: 0.125em;
  transition: background-color var(--porco-transition), color var(--porco-transition), box-shadow var(--porco-transition), -webkit-text-decoration var(--porco-transition);
  transition: background-color var(--porco-transition), color var(--porco-transition), text-decoration var(--porco-transition), box-shadow var(--porco-transition);
  transition: background-color var(--porco-transition), color var(--porco-transition), text-decoration var(--porco-transition), box-shadow var(--porco-transition), -webkit-text-decoration var(--porco-transition);
}
:where(a:not([role=button])):is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --porco-color: var(--porco-primary-hover);
  --porco-underline: var(--porco-primary-hover-underline);
  --porco-text-decoration: underline;
}
:where(a:not([role=button])):focus-visible,
[role=link]:focus-visible {
  box-shadow: 0 0 0 var(--porco-outline-width) var(--porco-primary-focus);
}
:where(a:not([role=button])).secondary,
[role=link].secondary {
  --porco-color: var(--porco-secondary);
  --porco-underline: var(--porco-secondary-underline);
}
:where(a:not([role=button])).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link].secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --porco-color: var(--porco-secondary-hover);
  --porco-underline: var(--porco-secondary-hover-underline);
}
:where(a:not([role=button])).contrast,
[role=link].contrast {
  --porco-color: var(--porco-contrast);
  --porco-underline: var(--porco-contrast-underline);
}
:where(a:not([role=button])).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link].contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --porco-color: var(--porco-contrast-hover);
  --porco-underline: var(--porco-contrast-hover-underline);
}

a[role=button] {
  display: inline-block;
}

/**
 * Button
 */
button {
  margin: 0;
  overflow: visible;
  font-family: inherit;
  text-transform: none;
}

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

button,
[type=submit],
[type=reset],
[type=button],
[type=file]::file-selector-button,
[role=button] {
  --porco-background-color: var(--porco-primary-background);
  --porco-border-color: var(--porco-primary-border);
  --porco-color: var(--porco-primary-inverse);
  --porco-box-shadow: var(--porco-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  padding: var(--porco-form-element-spacing-vertical) var(--porco-form-element-spacing-horizontal);
  border: var(--porco-border-width) solid var(--porco-border-color);
  border-radius: var(--porco-border-radius);
  outline: none;
  background-color: var(--porco-background-color);
  box-shadow: var(--porco-box-shadow);
  color: var(--porco-color);
  font-weight: var(--porco-font-weight);
  font-size: 1rem;
  line-height: var(--porco-line-height);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color var(--porco-transition), border-color var(--porco-transition), color var(--porco-transition), box-shadow var(--porco-transition);
}
button:is([aria-current]:not([aria-current=false])), button:is(:hover, :active, :focus),
[type=submit]:is([aria-current]:not([aria-current=false])),
[type=submit]:is(:hover, :active, :focus),
[type=reset]:is([aria-current]:not([aria-current=false])),
[type=reset]:is(:hover, :active, :focus),
[type=button]:is([aria-current]:not([aria-current=false])),
[type=button]:is(:hover, :active, :focus),
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])),
[type=file]::file-selector-button:is(:hover, :active, :focus),
[role=button]:is([aria-current]:not([aria-current=false])),
[role=button]:is(:hover, :active, :focus) {
  --porco-background-color: var(--porco-primary-hover-background);
  --porco-border-color: var(--porco-primary-hover-border);
  --porco-box-shadow: var(--porco-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  --porco-color: var(--porco-primary-inverse);
}
button:focus, button:is([aria-current]:not([aria-current=false])):focus,
[type=submit]:focus,
[type=submit]:is([aria-current]:not([aria-current=false])):focus,
[type=reset]:focus,
[type=reset]:is([aria-current]:not([aria-current=false])):focus,
[type=button]:focus,
[type=button]:is([aria-current]:not([aria-current=false])):focus,
[type=file]::file-selector-button:focus,
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus,
[role=button]:focus,
[role=button]:is([aria-current]:not([aria-current=false])):focus {
  --porco-box-shadow: var(--porco-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--porco-outline-width) var(--porco-primary-focus);
}

[type=submit],
[type=reset],
[type=button] {
  margin-bottom: var(--porco-spacing);
}

:is(button, [type=submit], [type=button], [role=button]).secondary,
[type=reset],
[type=file]::file-selector-button {
  --porco-background-color: var(--porco-secondary-background);
  --porco-border-color: var(--porco-secondary-border);
  --porco-color: var(--porco-secondary-inverse);
  cursor: pointer;
}
:is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --porco-background-color: var(--porco-secondary-hover-background);
  --porco-border-color: var(--porco-secondary-hover-border);
  --porco-color: var(--porco-secondary-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).secondary:focus, :is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false])):focus,
[type=reset]:focus,
[type=reset]:is([aria-current]:not([aria-current=false])):focus,
[type=file]::file-selector-button:focus,
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus {
  --porco-box-shadow: var(--porco-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--porco-outline-width) var(--porco-secondary-focus);
}

:is(button, [type=submit], [type=button], [role=button]).contrast {
  --porco-background-color: var(--porco-contrast-background);
  --porco-border-color: var(--porco-contrast-border);
  --porco-color: var(--porco-contrast-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --porco-background-color: var(--porco-contrast-hover-background);
  --porco-border-color: var(--porco-contrast-hover-border);
  --porco-color: var(--porco-contrast-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).contrast:focus, :is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false])):focus {
  --porco-box-shadow: var(--porco-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--porco-outline-width) var(--porco-contrast-focus);
}

:is(button, [type=submit], [type=button], [role=button]).outline,
[type=reset].outline {
  --porco-background-color: transparent;
  --porco-color: var(--porco-primary);
  --porco-border-color: var(--porco-primary);
}
:is(button, [type=submit], [type=button], [role=button]).outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --porco-background-color: transparent;
  --porco-color: var(--porco-primary-hover);
  --porco-border-color: var(--porco-primary-hover);
}

:is(button, [type=submit], [type=button], [role=button]).outline.secondary,
[type=reset].outline {
  --porco-color: var(--porco-secondary);
  --porco-border-color: var(--porco-secondary);
}
:is(button, [type=submit], [type=button], [role=button]).outline.secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --porco-color: var(--porco-secondary-hover);
  --porco-border-color: var(--porco-secondary-hover);
}

:is(button, [type=submit], [type=button], [role=button]).outline.contrast {
  --porco-color: var(--porco-contrast);
  --porco-border-color: var(--porco-contrast);
}
:is(button, [type=submit], [type=button], [role=button]).outline.contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --porco-color: var(--porco-contrast-hover);
  --porco-border-color: var(--porco-contrast-hover);
}

:where(button, [type=submit], [type=reset], [type=button], [role=button])[disabled],
:where(fieldset[disabled]) :is(button, [type=submit], [type=button], [type=reset], [role=button]) {
  opacity: 0.5;
  pointer-events: none;
}

/**
 * Table
 */
:where(table) {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  text-indent: 0;
}

th,
td {
  padding: calc(var(--porco-spacing) / 2) var(--porco-spacing);
  border-bottom: var(--porco-border-width) solid var(--porco-table-border-color);
  background-color: var(--porco-background-color);
  color: var(--porco-color);
  font-weight: var(--porco-font-weight);
  text-align: left;
  text-align: start;
}

tfoot th,
tfoot td {
  border-top: var(--porco-border-width) solid var(--porco-table-border-color);
  border-bottom: 0;
}

table.striped tbody tr:nth-child(odd) th,
table.striped tbody tr:nth-child(odd) td {
  background-color: var(--porco-table-row-stripped-background-color);
}

/**
 * Embedded content
 */
:where(audio, canvas, iframe, img, svg, video) {
  vertical-align: middle;
}

audio,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

:where(iframe) {
  border-style: none;
}

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

:where(svg:not([fill])) {
  fill: currentColor;
}

svg:not(:root),
svg:not(:host) {
  overflow: hidden;
}

/**
 * Code
 */
pre,
code,
kbd,
samp {
  font-size: 0.875em;
  font-family: var(--porco-font-family);
}

pre code,
pre samp {
  font-size: inherit;
  font-family: inherit;
}

pre {
  -ms-overflow-style: scrollbar;
  overflow: auto;
}

pre,
code,
kbd,
samp {
  border-radius: var(--porco-border-radius);
  background: var(--porco-code-background-color);
  color: var(--porco-code-color);
  font-weight: var(--porco-font-weight);
  line-height: initial;
}

code,
kbd,
samp {
  display: inline-block;
  padding: 0.375rem;
}

pre {
  display: block;
  margin-bottom: var(--porco-spacing);
  overflow-x: auto;
}
pre > code,
pre > samp {
  display: block;
  padding: var(--porco-spacing);
  background: none;
  line-height: var(--porco-line-height);
}

kbd {
  background-color: var(--porco-code-kbd-background-color);
  color: var(--porco-code-kbd-color);
  vertical-align: baseline;
}

/**
 * Figure
 */
figure {
  display: block;
  margin: 0;
  padding: 0;
}
figure figcaption {
  padding: calc(var(--porco-spacing) * 0.5) 0;
  color: var(--porco-muted-color);
}

/**
 * Misc
 */
hr {
  height: 0;
  margin: var(--porco-typography-spacing-vertical) 0;
  border: 0;
  border-top: 1px solid var(--porco-muted-border-color);
  color: inherit;
}

[hidden],
template {
  display: none !important;
}

canvas {
  display: inline-block;
}

/**
 * Basics form elements
 */
input,
optgroup,
select,
textarea {
  margin: 0;
  font-size: 1rem;
  line-height: var(--porco-line-height);
  font-family: inherit;
  letter-spacing: inherit;
}

input {
  overflow: visible;
}

select {
  text-transform: none;
}

legend {
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  padding: 0;
}

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

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

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

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

:-moz-focusring {
  outline: none;
}

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

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

[type=file],
[type=range] {
  padding: 0;
  border-width: 0;
}

input:not([type=checkbox], [type=radio], [type=range]) {
  height: calc(1rem * var(--porco-line-height) + var(--porco-form-element-spacing-vertical) * 2 + var(--porco-border-width) * 2);
}

fieldset {
  width: 100%;
  margin: 0;
  margin-bottom: var(--porco-spacing);
  padding: 0;
  border: 0;
}

label,
fieldset legend {
  display: block;
  margin-bottom: calc(var(--porco-spacing) * 0.375);
  color: var(--porco-color);
  font-weight: var(--porco-form-label-font-weight, var(--porco-font-weight));
}

fieldset legend {
  margin-bottom: calc(var(--porco-spacing) * 0.5);
}

input:not([type=checkbox], [type=radio]),
button[type=submit],
select,
textarea {
  width: 100%;
}

input:not([type=checkbox], [type=radio], [type=range], [type=file]),
select,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: var(--porco-form-element-spacing-vertical) var(--porco-form-element-spacing-horizontal);
}

input,
select,
textarea {
  --porco-background-color: var(--porco-form-element-background-color);
  --porco-border-color: var(--porco-form-element-border-color);
  --porco-color: var(--porco-form-element-color);
  --porco-box-shadow: none;
  border: var(--porco-border-width) solid var(--porco-border-color);
  border-radius: var(--porco-border-radius);
  outline: none;
  background-color: var(--porco-background-color);
  box-shadow: var(--porco-box-shadow);
  color: var(--porco-color);
  font-weight: var(--porco-font-weight);
  transition: background-color var(--porco-transition), border-color var(--porco-transition), color var(--porco-transition), box-shadow var(--porco-transition);
}

input:not([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[readonly]):is(:active, :focus),
:where(select, textarea):not([readonly]):is(:active, :focus) {
  --porco-background-color: var(--porco-form-element-active-background-color);
}

input:not([type=submit], [type=button], [type=reset], [role=switch], [readonly]):is(:active, :focus),
:where(select, textarea):not([readonly]):is(:active, :focus) {
  --porco-border-color: var(--porco-form-element-active-border-color);
}

input:not([type=submit],
[type=button],
[type=reset],
[type=range],
[type=file],
[readonly]):focus,
:where(select, textarea):not([readonly]):focus {
  --porco-box-shadow: 0 0 0 var(--porco-outline-width) var(--porco-form-element-focus-color);
}

input:not([type=submit], [type=button], [type=reset])[disabled],
select[disabled],
textarea[disabled],
label[aria-disabled=true],
:where(fieldset[disabled]) :is(input:not([type=submit], [type=button], [type=reset]), select, textarea) {
  opacity: var(--porco-form-element-disabled-opacity);
  pointer-events: none;
}

label[aria-disabled=true] input[disabled] {
  opacity: 1;
}

:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid] {
  padding-right: calc(var(--porco-form-element-spacing-horizontal) + 1.5rem) !important;
  padding-left: var(--porco-form-element-spacing-horizontal);
  padding-inline-start: var(--porco-form-element-spacing-horizontal) !important;
  padding-inline-end: calc(var(--porco-form-element-spacing-horizontal) + 1.5rem) !important;
  background-position: center right 0.75rem;
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid=false]:not(select) {
  background-image: var(--porco-icon-valid);
}
:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid=true]:not(select) {
  background-image: var(--porco-icon-invalid);
}
:where(input, select, textarea)[aria-invalid=false] {
  --porco-border-color: var(--porco-form-element-valid-border-color);
}
:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus) {
  --porco-border-color: var(--porco-form-element-valid-active-border-color) !important;
}
:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus):not([type=checkbox], [type=radio]) {
  --porco-box-shadow: 0 0 0 var(--porco-outline-width) var(--porco-form-element-valid-focus-color) !important;
}
:where(input, select, textarea)[aria-invalid=true] {
  --porco-border-color: var(--porco-form-element-invalid-border-color);
}
:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus) {
  --porco-border-color: var(--porco-form-element-invalid-active-border-color) !important;
}
:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus):not([type=checkbox], [type=radio]) {
  --porco-box-shadow: 0 0 0 var(--porco-outline-width) var(--porco-form-element-invalid-focus-color) !important;
}

[dir=rtl] :where(input, select, textarea):not([type=checkbox], [type=radio]):is([aria-invalid], [aria-invalid=true], [aria-invalid=false]) {
  background-position: center left 0.75rem;
}

input::placeholder,
input::-webkit-input-placeholder,
textarea::placeholder,
textarea::-webkit-input-placeholder,
select:invalid {
  color: var(--porco-form-element-placeholder-color);
  opacity: 1;
}

input:not([type=checkbox], [type=radio]),
select,
textarea {
  margin-bottom: var(--porco-spacing);
}

select::-ms-expand {
  border: 0;
  background-color: transparent;
}
select:not([multiple], [size]) {
  padding-right: calc(var(--porco-form-element-spacing-horizontal) + 1.5rem);
  padding-left: var(--porco-form-element-spacing-horizontal);
  padding-inline-start: var(--porco-form-element-spacing-horizontal);
  padding-inline-end: calc(var(--porco-form-element-spacing-horizontal) + 1.5rem);
  background-image: var(--porco-icon-chevron);
  background-position: center right 0.75rem;
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
select[multiple] option:checked {
  background: var(--porco-form-element-selected-background-color);
  color: var(--porco-form-element-color);
}

[dir=rtl] select:not([multiple], [size]) {
  background-position: center left 0.75rem;
}

textarea {
  display: block;
  resize: vertical;
}
textarea[aria-invalid] {
  --porco-icon-height: calc(1rem * var(--porco-line-height) + var(--porco-form-element-spacing-vertical) * 2 + var(--porco-border-width) * 2);
  background-position: top right 0.75rem !important;
  background-size: 1rem var(--porco-icon-height) !important;
}

:where(input, select, textarea, fieldset, .grid) + small {
  display: block;
  width: 100%;
  margin-top: calc(var(--porco-spacing) * -0.75);
  margin-bottom: var(--porco-spacing);
  color: var(--porco-muted-color);
}
:where(input, select, textarea, fieldset, .grid)[aria-invalid=false] + small {
  color: var(--porco-ins-color);
}
:where(input, select, textarea, fieldset, .grid)[aria-invalid=true] + small {
  color: var(--porco-del-color);
}

label > :where(input, select, textarea) {
  margin-top: calc(var(--porco-spacing) * 0.25);
}

/**
 * Checkboxes, Radios and Switches
 */
label:has([type=checkbox], [type=radio]) {
  width: -moz-fit-content;
  width: fit-content;
  cursor: pointer;
}

[type=checkbox],
[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 1.25em;
  height: 1.25em;
  margin-top: -0.125em;
  margin-inline-end: 0.5em;
  border-width: var(--porco-border-width);
  vertical-align: middle;
  cursor: pointer;
}
[type=checkbox]::-ms-check,
[type=radio]::-ms-check {
  display: none;
}
[type=checkbox]:checked, [type=checkbox]:checked:active, [type=checkbox]:checked:focus,
[type=radio]:checked,
[type=radio]:checked:active,
[type=radio]:checked:focus {
  --porco-background-color: var(--porco-primary-background);
  --porco-border-color: var(--porco-primary-border);
  background-image: var(--porco-icon-checkbox);
  background-position: center;
  background-size: 0.75em auto;
  background-repeat: no-repeat;
}
[type=checkbox] ~ label,
[type=radio] ~ label {
  display: inline-block;
  margin-bottom: 0;
  cursor: pointer;
}
[type=checkbox] ~ label:not(:last-of-type),
[type=radio] ~ label:not(:last-of-type) {
  margin-inline-end: 1em;
}

[type=checkbox]:indeterminate {
  --porco-background-color: var(--porco-primary-background);
  --porco-border-color: var(--porco-primary-border);
  background-image: var(--porco-icon-minus);
  background-position: center;
  background-size: 0.75em auto;
  background-repeat: no-repeat;
}

[type=radio] {
  border-radius: 50%;
}
[type=radio]:checked, [type=radio]:checked:active, [type=radio]:checked:focus {
  --porco-background-color: var(--porco-primary-inverse);
  border-width: 0.35em;
  background-image: none;
}

[type=checkbox][role=switch] {
  --porco-background-color: var(--porco-switch-background-color);
  --porco-color: var(--porco-switch-color);
  width: 2.25em;
  height: 1.25em;
  border: var(--porco-border-width) solid var(--porco-border-color);
  border-radius: 1.25em;
  background-color: var(--porco-background-color);
  line-height: 1.25em;
}
[type=checkbox][role=switch]:not([aria-invalid]) {
  --porco-border-color: var(--porco-switch-background-color);
}
[type=checkbox][role=switch]:before {
  display: block;
  aspect-ratio: 1;
  height: 100%;
  border-radius: 50%;
  background-color: var(--porco-color);
  box-shadow: var(--porco-switch-thumb-box-shadow);
  content: "";
  transition: margin 0.1s ease-in-out;
}
[type=checkbox][role=switch]:focus {
  --porco-background-color: var(--porco-switch-background-color);
  --porco-border-color: var(--porco-switch-background-color);
}
[type=checkbox][role=switch]:checked {
  --porco-background-color: var(--porco-switch-checked-background-color);
  --porco-border-color: var(--porco-switch-checked-background-color);
  background-image: none;
}
[type=checkbox][role=switch]:checked::before {
  margin-inline-start: calc(2.25em - 1.25em);
}
[type=checkbox][role=switch][disabled] {
  --porco-background-color: var(--porco-border-color);
}

[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus,
[type=checkbox][role=switch][aria-invalid=false]:checked,
[type=checkbox][role=switch][aria-invalid=false]:checked:active,
[type=checkbox][role=switch][aria-invalid=false]:checked:focus {
  --porco-background-color: var(--porco-form-element-valid-border-color);
}
[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true],
[type=checkbox][role=switch]:checked[aria-invalid=true],
[type=checkbox][role=switch]:checked:active[aria-invalid=true],
[type=checkbox][role=switch]:checked:focus[aria-invalid=true] {
  --porco-background-color: var(--porco-form-element-invalid-border-color);
}

[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus,
[type=radio][aria-invalid=false]:checked,
[type=radio][aria-invalid=false]:checked:active,
[type=radio][aria-invalid=false]:checked:focus,
[type=checkbox][role=switch][aria-invalid=false]:checked,
[type=checkbox][role=switch][aria-invalid=false]:checked:active,
[type=checkbox][role=switch][aria-invalid=false]:checked:focus {
  --porco-border-color: var(--porco-form-element-valid-border-color);
}
[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true],
[type=radio]:checked[aria-invalid=true],
[type=radio]:checked:active[aria-invalid=true],
[type=radio]:checked:focus[aria-invalid=true],
[type=checkbox][role=switch]:checked[aria-invalid=true],
[type=checkbox][role=switch]:checked:active[aria-invalid=true],
[type=checkbox][role=switch]:checked:focus[aria-invalid=true] {
  --porco-border-color: var(--porco-form-element-invalid-border-color);
}

/**
 * Input type color
 */
[type=color]::-webkit-color-swatch-wrapper {
  padding: 0;
}
[type=color]::-moz-focus-inner {
  padding: 0;
}
[type=color]::-webkit-color-swatch {
  border: 0;
  border-radius: calc(var(--porco-border-radius) * 0.5);
}
[type=color]::-moz-color-swatch {
  border: 0;
  border-radius: calc(var(--porco-border-radius) * 0.5);
}

/**
 * Input type datetime
 */
input:not([type=checkbox], [type=radio], [type=range], [type=file]):is([type=date], [type=datetime-local], [type=month], [type=time], [type=week]) {
  --porco-icon-position: 0.75rem;
  --porco-icon-width: 1rem;
  padding-right: calc(var(--porco-icon-width) + var(--porco-icon-position));
  background-image: var(--porco-icon-date);
  background-position: center right var(--porco-icon-position);
  background-size: var(--porco-icon-width) auto;
  background-repeat: no-repeat;
}
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=time] {
  background-image: var(--porco-icon-time);
}

[type=date]::-webkit-calendar-picker-indicator,
[type=datetime-local]::-webkit-calendar-picker-indicator,
[type=month]::-webkit-calendar-picker-indicator,
[type=time]::-webkit-calendar-picker-indicator,
[type=week]::-webkit-calendar-picker-indicator {
  width: var(--porco-icon-width);
  margin-right: calc(var(--porco-icon-width) * -1);
  margin-left: var(--porco-icon-position);
  opacity: 0;
}

@-moz-document url-prefix() {
  [type=date],
  [type=datetime-local],
  [type=month],
  [type=time],
  [type=week] {
    padding-right: var(--porco-form-element-spacing-horizontal) !important;
    background-image: none !important;
  }
}
[dir=rtl] :is([type=date], [type=datetime-local], [type=month], [type=time], [type=week]) {
  text-align: right;
}

/**
 * Input type file
 */
[type=file] {
  --porco-color: var(--porco-muted-color);
  margin-left: calc(var(--porco-outline-width) * -1);
  padding: calc(var(--porco-form-element-spacing-vertical) * 0.5) 0;
  padding-left: var(--porco-outline-width);
  border: 0;
  border-radius: 0;
  background: none;
}
[type=file]::file-selector-button {
  margin-right: calc(var(--porco-spacing) / 2);
  padding: calc(var(--porco-form-element-spacing-vertical) * 0.5) var(--porco-form-element-spacing-horizontal);
}
[type=file]:is(:hover, :active, :focus)::file-selector-button {
  --porco-background-color: var(--porco-secondary-hover-background);
  --porco-border-color: var(--porco-secondary-hover-border);
}
[type=file]:focus::file-selector-button {
  --porco-box-shadow: var(--porco-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--porco-outline-width) var(--porco-secondary-focus);
}

/**
 * Input type range
 */
[type=range] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 1.25rem;
  background: none;
}
[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.375rem;
  border-radius: var(--porco-border-radius);
  background-color: var(--porco-range-border-color);
  -webkit-transition: background-color var(--porco-transition), box-shadow var(--porco-transition);
  transition: background-color var(--porco-transition), box-shadow var(--porco-transition);
}
[type=range]::-moz-range-track {
  width: 100%;
  height: 0.375rem;
  border-radius: var(--porco-border-radius);
  background-color: var(--porco-range-border-color);
  -moz-transition: background-color var(--porco-transition), box-shadow var(--porco-transition);
  transition: background-color var(--porco-transition), box-shadow var(--porco-transition);
}
[type=range]::-ms-track {
  width: 100%;
  height: 0.375rem;
  border-radius: var(--porco-border-radius);
  background-color: var(--porco-range-border-color);
  -ms-transition: background-color var(--porco-transition), box-shadow var(--porco-transition);
  transition: background-color var(--porco-transition), box-shadow var(--porco-transition);
}
[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: -0.4375rem;
  border: 2px solid var(--porco-range-thumb-border-color);
  border-radius: 50%;
  background-color: var(--porco-range-thumb-color);
  cursor: pointer;
  -webkit-transition: background-color var(--porco-transition), transform var(--porco-transition);
  transition: background-color var(--porco-transition), transform var(--porco-transition);
}
[type=range]::-moz-range-thumb {
  -webkit-appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: -0.4375rem;
  border: 2px solid var(--porco-range-thumb-border-color);
  border-radius: 50%;
  background-color: var(--porco-range-thumb-color);
  cursor: pointer;
  -moz-transition: background-color var(--porco-transition), transform var(--porco-transition);
  transition: background-color var(--porco-transition), transform var(--porco-transition);
}
[type=range]::-ms-thumb {
  -webkit-appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: -0.4375rem;
  border: 2px solid var(--porco-range-thumb-border-color);
  border-radius: 50%;
  background-color: var(--porco-range-thumb-color);
  cursor: pointer;
  -ms-transition: background-color var(--porco-transition), transform var(--porco-transition);
  transition: background-color var(--porco-transition), transform var(--porco-transition);
}
[type=range]:active, [type=range]:focus-within {
  --porco-range-border-color: var(--porco-range-active-border-color);
  --porco-range-thumb-color: var(--porco-range-thumb-active-color);
}
[type=range]:active::-webkit-slider-thumb {
  transform: scale(1.25);
}
[type=range]:active::-moz-range-thumb {
  transform: scale(1.25);
}
[type=range]:active::-ms-thumb {
  transform: scale(1.25);
}

/**
 * Input type search
 */
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] {
  padding-inline-start: calc(var(--porco-form-element-spacing-horizontal) + 1.75rem);
  background-image: var(--porco-icon-search);
  background-position: center left calc(var(--porco-form-element-spacing-horizontal) + 0.125rem);
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] {
  padding-inline-start: calc(var(--porco-form-element-spacing-horizontal) + 1.75rem) !important;
  background-position: center left 1.125rem, center right 0.75rem;
}
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=false] {
  background-image: var(--porco-icon-search), var(--porco-icon-valid);
}
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=true] {
  background-image: var(--porco-icon-search), var(--porco-icon-invalid);
}

[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] {
  background-position: center right 1.125rem;
}
[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] {
  background-position: center right 1.125rem, center left 0.75rem;
}

:root {
  interpolate-size: allow-keywords;
}

/**
 * Accordion (<details>)
 */
details {
  display: block;
  margin-bottom: var(--porco-spacing);
}
details summary {
  line-height: 1rem;
  list-style-type: none;
  cursor: pointer;
  transition: color var(--porco-transition);
}
details summary:not([role]) {
  color: var(--porco-accordion-close-summary-color);
}
details summary::-webkit-details-marker {
  display: none;
}
details summary::marker {
  display: none;
}
details summary::-moz-list-bullet {
  list-style-type: none;
}
details summary::after {
  display: block;
  width: 1rem;
  height: 1rem;
  margin-inline-start: calc(var(--porco-spacing, 1rem) * 0.5);
  float: right;
  transform: rotate(-90deg);
  background-image: var(--porco-icon-chevron);
  background-position: right center;
  background-size: 1rem auto;
  background-repeat: no-repeat;
  content: "";
  transition: transform var(--porco-transition);
}
details summary:focus {
  outline: none;
}
details summary:focus:not([role]) {
  color: var(--porco-accordion-active-summary-color);
}
details summary:focus-visible:not([role]) {
  outline: var(--porco-outline-width) solid var(--porco-primary-focus);
  outline-offset: calc(var(--porco-spacing, 1rem) * 0.5);
  color: var(--porco-primary);
}
details summary[role=button] {
  width: 100%;
  text-align: left;
}
details summary[role=button]::after {
  height: calc(1rem * var(--porco-line-height, 1.5));
}
details[open] > summary {
  margin-bottom: var(--porco-spacing);
}
details[open] > summary:not([role]):not(:focus) {
  color: var(--porco-accordion-open-summary-color);
}
details[open] > summary::after {
  transform: rotate(0);
}
details::details-content {
  overflow: hidden;
  height: 0;
  transition: height var(--porco-transition), content-visibility var(--porco-transition);
  transition-behavior: allow-discrete;
}
details[open]::details-content {
  height: auto;
}

[dir=rtl] details summary {
  text-align: right;
}
[dir=rtl] details summary::after {
  float: left;
  background-position: left center;
}

/**
 * Card (<article>)
 */
article {
  margin-bottom: var(--porco-block-spacing-vertical);
  padding: var(--porco-block-spacing-vertical) var(--porco-block-spacing-horizontal);
  border-radius: var(--porco-border-radius);
  background: var(--porco-card-background-color);
  box-shadow: var(--porco-card-box-shadow);
}
article > header,
article > footer {
  margin-right: calc(var(--porco-block-spacing-horizontal) * -1);
  margin-left: calc(var(--porco-block-spacing-horizontal) * -1);
  padding: calc(var(--porco-block-spacing-vertical) * 0.66) var(--porco-block-spacing-horizontal);
  background-color: var(--porco-card-sectioning-background-color);
}
article > header {
  margin-top: calc(var(--porco-block-spacing-vertical) * -1);
  margin-bottom: var(--porco-block-spacing-vertical);
  border-bottom: var(--porco-border-width) solid var(--porco-card-border-color);
  border-top-right-radius: var(--porco-border-radius);
  border-top-left-radius: var(--porco-border-radius);
}
article > footer {
  margin-top: var(--porco-block-spacing-vertical);
  margin-bottom: calc(var(--porco-block-spacing-vertical) * -1);
  border-top: var(--porco-border-width) solid var(--porco-card-border-color);
  border-bottom-right-radius: var(--porco-border-radius);
  border-bottom-left-radius: var(--porco-border-radius);
}

/**
 * Dropdown (details.dropdown)
 */
details.dropdown {
  position: relative;
  border-bottom: none;
}
details.dropdown > summary::after,
details.dropdown > button::after,
details.dropdown > a::after {
  display: block;
  width: 1rem;
  height: calc(1rem * var(--porco-line-height, 1.5));
  margin-inline-start: 0.25rem;
  float: right;
  transform: rotate(0deg) translateX(0.2rem);
  background-image: var(--porco-icon-chevron);
  background-position: right center;
  background-size: 1rem auto;
  background-repeat: no-repeat;
  content: "";
}

nav details.dropdown {
  margin-bottom: 0;
}

details.dropdown > summary:not([role]) {
  height: calc(1rem * var(--porco-line-height) + var(--porco-form-element-spacing-vertical) * 2 + var(--porco-border-width) * 2);
  padding: var(--porco-form-element-spacing-vertical) var(--porco-form-element-spacing-horizontal);
  border: var(--porco-border-width) solid var(--porco-form-element-border-color);
  border-radius: var(--porco-border-radius);
  background-color: var(--porco-form-element-background-color);
  color: var(--porco-form-element-placeholder-color);
  line-height: inherit;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color var(--porco-transition), border-color var(--porco-transition), color var(--porco-transition), box-shadow var(--porco-transition);
}
details.dropdown > summary:not([role]):active, details.dropdown > summary:not([role]):focus {
  border-color: var(--porco-form-element-active-border-color);
  background-color: var(--porco-form-element-active-background-color);
}
details.dropdown > summary:not([role]):focus {
  box-shadow: 0 0 0 var(--porco-outline-width) var(--porco-form-element-focus-color);
}
details.dropdown > summary:not([role]):focus-visible {
  outline: none;
}
details.dropdown > summary:not([role])[aria-invalid=false] {
  --porco-form-element-border-color: var(--porco-form-element-valid-border-color);
  --porco-form-element-active-border-color: var(--porco-form-element-valid-focus-color);
  --porco-form-element-focus-color: var(--porco-form-element-valid-focus-color);
}
details.dropdown > summary:not([role])[aria-invalid=true] {
  --porco-form-element-border-color: var(--porco-form-element-invalid-border-color);
  --porco-form-element-active-border-color: var(--porco-form-element-invalid-focus-color);
  --porco-form-element-focus-color: var(--porco-form-element-invalid-focus-color);
}

nav details.dropdown {
  display: inline;
  margin: calc(var(--porco-nav-element-spacing-vertical) * -1) 0;
}
nav details.dropdown > summary::after {
  transform: rotate(0deg) translateX(0rem);
}
nav details.dropdown > summary:not([role]) {
  height: calc(1rem * var(--porco-line-height) + var(--porco-nav-link-spacing-vertical) * 2);
  padding: calc(var(--porco-nav-link-spacing-vertical) - var(--porco-border-width) * 2) var(--porco-nav-link-spacing-horizontal);
}
nav details.dropdown > summary:not([role]):focus-visible {
  box-shadow: 0 0 0 var(--porco-outline-width) var(--porco-primary-focus);
}

details.dropdown > summary + ul {
  display: flex;
  z-index: 99;
  position: absolute;
  left: 0;
  flex-direction: column;
  width: 100%;
  min-width: -moz-fit-content;
  min-width: fit-content;
  margin: 0;
  margin-top: var(--porco-outline-width);
  padding: 0;
  border: var(--porco-border-width) solid var(--porco-dropdown-border-color);
  border-radius: var(--porco-border-radius);
  background-color: var(--porco-dropdown-background-color);
  box-shadow: var(--porco-dropdown-box-shadow);
  color: var(--porco-dropdown-color);
  white-space: nowrap;
  opacity: 0;
  transition: opacity var(--porco-transition), transform 0s ease-in-out 1s;
}
details.dropdown > summary + ul[dir=rtl] {
  right: 0;
  left: auto;
}
details.dropdown > summary + ul li {
  width: 100%;
  margin-bottom: 0;
  padding: calc(var(--porco-form-element-spacing-vertical) * 0.5) var(--porco-form-element-spacing-horizontal);
  list-style: none;
}
details.dropdown > summary + ul li:first-of-type {
  margin-top: calc(var(--porco-form-element-spacing-vertical) * 0.5);
}
details.dropdown > summary + ul li:last-of-type {
  margin-bottom: calc(var(--porco-form-element-spacing-vertical) * 0.5);
}
details.dropdown > summary + ul li a {
  display: block;
  margin: calc(var(--porco-form-element-spacing-vertical) * -0.5) calc(var(--porco-form-element-spacing-horizontal) * -1);
  padding: calc(var(--porco-form-element-spacing-vertical) * 0.5) var(--porco-form-element-spacing-horizontal);
  overflow: hidden;
  border-radius: 0;
  color: var(--porco-dropdown-color);
  text-decoration: none;
  text-overflow: ellipsis;
}
details.dropdown > summary + ul li a:hover, details.dropdown > summary + ul li a:focus, details.dropdown > summary + ul li a:active, details.dropdown > summary + ul li a:focus-visible, details.dropdown > summary + ul li a[aria-current]:not([aria-current=false]) {
  background-color: var(--porco-dropdown-hover-background-color);
}
details.dropdown > summary + ul li label {
  width: 100%;
}
details.dropdown > summary + ul li:has(label):hover {
  background-color: var(--porco-dropdown-hover-background-color);
}

details.dropdown[open] > summary {
  margin-bottom: 0;
}

details.dropdown[open] > summary + ul {
  transform: scaleY(1);
  opacity: 1;
  transition: opacity var(--porco-transition), transform 0s ease-in-out 0s;
}

details.dropdown[open] > summary::before {
  display: block;
  z-index: 1;
  position: fixed;
  width: 100vw;
  height: 100vh;
  inset: 0;
  background: none;
  content: "";
  cursor: default;
}

label > details.dropdown {
  margin-top: calc(var(--porco-spacing) * 0.25);
}

/**
 * Group ([role="group"], [role="search"])
 */
[role=search],
[role=group] {
  display: inline-flex;
  position: relative;
  width: 100%;
  margin-bottom: var(--porco-spacing);
  border-radius: var(--porco-border-radius);
  box-shadow: var(--porco-group-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  vertical-align: middle;
  transition: box-shadow var(--porco-transition);
}
[role=search] > *,
[role=search] input:not([type=checkbox], [type=radio]),
[role=search] select,
[role=group] > *,
[role=group] input:not([type=checkbox], [type=radio]),
[role=group] select {
  position: relative;
  flex: 1 1 auto;
  margin-bottom: 0;
}
[role=search] > *:not(:first-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=search] select:not(:first-child),
[role=group] > *:not(:first-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=group] select:not(:first-child) {
  margin-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
[role=search] > *:not(:last-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:last-child),
[role=search] select:not(:last-child),
[role=group] > *:not(:last-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:last-child),
[role=group] select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
[role=search] > *:focus,
[role=search] input:not([type=checkbox], [type=radio]):focus,
[role=search] select:focus,
[role=group] > *:focus,
[role=group] input:not([type=checkbox], [type=radio]):focus,
[role=group] select:focus {
  z-index: 2;
}
[role=search] button:not(:first-child),
[role=search] [type=submit]:not(:first-child),
[role=search] [type=reset]:not(:first-child),
[role=search] [type=button]:not(:first-child),
[role=search] [role=button]:not(:first-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=search] select:not(:first-child),
[role=group] button:not(:first-child),
[role=group] [type=submit]:not(:first-child),
[role=group] [type=reset]:not(:first-child),
[role=group] [type=button]:not(:first-child),
[role=group] [role=button]:not(:first-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=group] select:not(:first-child) {
  margin-left: calc(var(--porco-border-width) * -1);
}
[role=search] button,
[role=search] [type=submit],
[role=search] [type=reset],
[role=search] [type=button],
[role=search] [role=button],
[role=group] button,
[role=group] [type=submit],
[role=group] [type=reset],
[role=group] [type=button],
[role=group] [role=button] {
  width: auto;
}
@supports selector(:has(*)) {
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus),
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) {
    --porco-group-box-shadow: var(--porco-group-box-shadow-focus-with-button);
  }
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]),
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select,
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]),
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select {
    border-color: transparent;
  }
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus),
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) {
    --porco-group-box-shadow: var(--porco-group-box-shadow-focus-with-input);
  }
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) button,
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit],
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button],
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) button,
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button] {
    --porco-button-box-shadow: 0 0 0 var(--porco-border-width) var(--porco-primary-border);
    --porco-button-hover-box-shadow: 0 0 0 var(--porco-border-width) var(--porco-primary-hover-border);
  }
  [role=search] button:focus,
  [role=search] [type=submit]:focus,
  [role=search] [type=reset]:focus,
  [role=search] [type=button]:focus,
  [role=search] [role=button]:focus,
  [role=group] button:focus,
  [role=group] [type=submit]:focus,
  [role=group] [type=reset]:focus,
  [role=group] [type=button]:focus,
  [role=group] [role=button]:focus {
    box-shadow: none;
  }
}

[role=search] > *:first-child {
  border-top-left-radius: 5rem;
  border-bottom-left-radius: 5rem;
}
[role=search] > *:last-child {
  border-top-right-radius: 5rem;
  border-bottom-right-radius: 5rem;
}

/**
 * Loading ([aria-busy=true])
 */
[aria-busy=true]:not(input, select, textarea, html, form) {
  white-space: nowrap;
}
[aria-busy=true]:not(input, select, textarea, html, form)::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: var(--porco-icon-loading);
  background-size: 1em auto;
  background-repeat: no-repeat;
  content: "";
  vertical-align: -0.125em;
}
[aria-busy=true]:not(input, select, textarea, html, form):not(:empty)::before {
  margin-inline-end: calc(var(--porco-spacing) * 0.5);
}
[aria-busy=true]:not(input, select, textarea, html, form):empty {
  text-align: center;
}

button[aria-busy=true],
[type=submit][aria-busy=true],
[type=button][aria-busy=true],
[type=reset][aria-busy=true],
[role=button][aria-busy=true],
a[aria-busy=true] {
  pointer-events: none;
}

/**
 * Modal (<dialog>)
 */
:root,
:host {
  --porco-scrollbar-width: 0px;
}

dialog {
  display: flex;
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: inherit;
  min-width: 100%;
  height: inherit;
  min-height: 100%;
  padding: 0;
  border: 0;
  backdrop-filter: var(--porco-modal-overlay-backdrop-filter);
  background-color: var(--porco-modal-overlay-background-color);
  color: var(--porco-color);
}
dialog > article {
  width: 100%;
  max-height: calc(100vh - var(--porco-spacing) * 2);
  margin: var(--porco-spacing);
  overflow: auto;
}
@media (min-width: 576px) {
  dialog > article {
    max-width: 510px;
  }
}
@media (min-width: 768px) {
  dialog > article {
    max-width: 700px;
  }
}
dialog > article > header > * {
  margin-bottom: 0;
}
dialog > article > header .close, dialog > article > header :is(a, button)[rel=prev] {
  margin: 0;
  margin-left: var(--porco-spacing);
  padding: 0;
  float: right;
}
dialog > article > footer {
  text-align: right;
}
dialog > article > footer button,
dialog > article > footer [role=button] {
  margin-bottom: 0;
}
dialog > article > footer button:not(:first-of-type),
dialog > article > footer [role=button]:not(:first-of-type) {
  margin-left: calc(var(--porco-spacing) * 0.5);
}
dialog > article .close, dialog > article :is(a, button)[rel=prev] {
  display: block;
  width: 1rem;
  height: 1rem;
  margin-top: calc(var(--porco-spacing) * -1);
  margin-bottom: var(--porco-spacing);
  margin-left: auto;
  border: none;
  background-image: var(--porco-icon-close);
  background-position: center;
  background-size: auto 1rem;
  background-repeat: no-repeat;
  background-color: transparent;
  opacity: 0.5;
  transition: opacity var(--porco-transition);
}
dialog > article .close:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), dialog > article :is(a, button)[rel=prev]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  opacity: 1;
}
dialog:not([open]), dialog[open=false] {
  display: none;
}

.modal-is-open {
  padding-right: var(--porco-scrollbar-width, 0px);
  overflow: hidden;
  pointer-events: none;
  touch-action: none;
}
.modal-is-open dialog {
  pointer-events: auto;
  touch-action: auto;
}

:where(.modal-is-opening, .modal-is-closing) dialog,
:where(.modal-is-opening, .modal-is-closing) dialog > article {
  animation-duration: 0.2s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
}
:where(.modal-is-opening, .modal-is-closing) dialog {
  animation-duration: 0.8s;
  animation-name: modal-overlay;
}
:where(.modal-is-opening, .modal-is-closing) dialog > article {
  animation-delay: 0.2s;
  animation-name: modal;
}

.modal-is-closing dialog,
.modal-is-closing dialog > article {
  animation-delay: 0s;
  animation-direction: reverse;
}

@keyframes modal-overlay {
  from {
    backdrop-filter: none;
    background-color: transparent;
  }
}
@keyframes modal {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
}
/**
 * Nav
 */
:where(nav li)::before {
  float: left;
  content: "​";
}

nav,
nav ul {
  display: flex;
}

nav {
  justify-content: space-between;
  overflow: visible;
}
nav ol,
nav ul {
  align-items: center;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}
nav ol:first-of-type,
nav ul:first-of-type {
  margin-left: calc(var(--porco-nav-element-spacing-horizontal) * -1);
}
nav ol:last-of-type,
nav ul:last-of-type {
  margin-right: calc(var(--porco-nav-element-spacing-horizontal) * -1);
}
nav li {
  display: inline-block;
  margin: 0;
  padding: var(--porco-nav-element-spacing-vertical) var(--porco-nav-element-spacing-horizontal);
}
nav li :where(a, [role=link]) {
  display: inline-block;
  margin: calc(var(--porco-nav-link-spacing-vertical) * -1) calc(var(--porco-nav-link-spacing-horizontal) * -1);
  padding: var(--porco-nav-link-spacing-vertical) var(--porco-nav-link-spacing-horizontal);
  border-radius: var(--porco-border-radius);
}
nav li :where(a, [role=link]):not(:hover) {
  text-decoration: none;
}
nav li button,
nav li [role=button],
nav li [type=button],
nav li input:not([type=checkbox], [type=radio], [type=range], [type=file]),
nav li select {
  height: auto;
  margin-right: inherit;
  margin-bottom: 0;
  margin-left: inherit;
  padding: calc(var(--porco-nav-link-spacing-vertical) - var(--porco-border-width) * 2) var(--porco-nav-link-spacing-horizontal);
}
nav[aria-label=breadcrumb] {
  align-items: center;
  justify-content: start;
}
nav[aria-label=breadcrumb] ul li:not(:first-child) {
  margin-inline-start: var(--porco-nav-link-spacing-horizontal);
}
nav[aria-label=breadcrumb] ul li a {
  margin: calc(var(--porco-nav-link-spacing-vertical) * -1) 0;
  margin-inline-start: calc(var(--porco-nav-link-spacing-horizontal) * -1);
}
nav[aria-label=breadcrumb] ul li:not(:last-child)::after {
  display: inline-block;
  position: absolute;
  width: calc(var(--porco-nav-link-spacing-horizontal) * 4);
  margin: 0 calc(var(--porco-nav-link-spacing-horizontal) * -1);
  content: var(--porco-nav-breadcrumb-divider);
  color: var(--porco-muted-color);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]) {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}

aside nav,
aside ol,
aside ul,
aside li {
  display: block;
}
aside li {
  padding: calc(var(--porco-nav-element-spacing-vertical) * 0.5) var(--porco-nav-element-spacing-horizontal);
}
aside li a {
  display: block;
}
aside li [role=button] {
  margin: inherit;
}

[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after {
  content: "\\";
}

/**
 * Progress
 */
progress {
  display: inline-block;
  vertical-align: baseline;
}

progress {
  -webkit-appearance: none;
  -moz-appearance: none;
  display: inline-block;
  appearance: none;
  width: 100%;
  height: 0.5rem;
  margin-bottom: calc(var(--porco-spacing) * 0.5);
  overflow: hidden;
  border: 0;
  border-radius: var(--porco-border-radius);
  background-color: var(--porco-progress-background-color);
  color: var(--porco-progress-color);
}
progress::-webkit-progress-bar {
  border-radius: var(--porco-border-radius);
  background: none;
}
progress[value]::-webkit-progress-value {
  background-color: var(--porco-progress-color);
  -webkit-transition: inline-size var(--porco-transition);
  transition: inline-size var(--porco-transition);
}
progress::-moz-progress-bar {
  background-color: var(--porco-progress-color);
}
@media (prefers-reduced-motion: no-preference) {
  progress:indeterminate {
    background: var(--porco-progress-background-color) linear-gradient(to right, var(--porco-progress-color) 30%, var(--porco-progress-background-color) 30%) top left/150% 150% no-repeat;
    animation: progress-indeterminate 1s linear infinite;
  }
  progress:indeterminate[value]::-webkit-progress-value {
    background-color: transparent;
  }
  progress:indeterminate::-moz-progress-bar {
    background-color: transparent;
  }
}

@media (prefers-reduced-motion: no-preference) {
  [dir=rtl] progress:indeterminate {
    animation-direction: reverse;
  }
}

@keyframes progress-indeterminate {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
/**
 * Tooltip ([data-tooltip])
 */
[data-tooltip] {
  position: relative;
}
[data-tooltip]:not(a, button, input, [role=button]) {
  border-bottom: 1px dotted;
  text-decoration: none;
  cursor: help;
}
[data-tooltip][data-placement=top]::before, [data-tooltip][data-placement=top]::after, [data-tooltip]::before, [data-tooltip]::after {
  display: block;
  z-index: 99;
  position: absolute;
  bottom: 100%;
  left: 50%;
  padding: 0.25rem 0.5rem;
  overflow: hidden;
  transform: translate(-50%, -0.25rem);
  border-radius: var(--porco-border-radius);
  background: var(--porco-tooltip-background-color);
  content: attr(data-tooltip);
  color: var(--porco-tooltip-color);
  font-style: normal;
  font-weight: var(--porco-font-weight);
  font-size: 0.875rem;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
}
[data-tooltip][data-placement=top]::after, [data-tooltip]::after {
  padding: 0;
  transform: translate(-50%, 0rem);
  border-top: 0.3rem solid;
  border-right: 0.3rem solid transparent;
  border-left: 0.3rem solid transparent;
  border-radius: 0;
  background-color: transparent;
  content: "";
  color: var(--porco-tooltip-background-color);
}
[data-tooltip][data-placement=bottom]::before, [data-tooltip][data-placement=bottom]::after {
  top: 100%;
  bottom: auto;
  transform: translate(-50%, 0.25rem);
}
[data-tooltip][data-placement=bottom]:after {
  transform: translate(-50%, -0.3rem);
  border: 0.3rem solid transparent;
  border-bottom: 0.3rem solid;
}
[data-tooltip][data-placement=left]::before, [data-tooltip][data-placement=left]::after {
  top: 50%;
  right: 100%;
  bottom: auto;
  left: auto;
  transform: translate(-0.25rem, -50%);
}
[data-tooltip][data-placement=left]:after {
  transform: translate(0.3rem, -50%);
  border: 0.3rem solid transparent;
  border-left: 0.3rem solid;
}
[data-tooltip][data-placement=right]::before, [data-tooltip][data-placement=right]::after {
  top: 50%;
  right: auto;
  bottom: auto;
  left: 100%;
  transform: translate(0.25rem, -50%);
}
[data-tooltip][data-placement=right]:after {
  transform: translate(-0.3rem, -50%);
  border: 0.3rem solid transparent;
  border-right: 0.3rem solid;
}
[data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after {
  opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
  [data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after {
    --porco-tooltip-slide-to: translate(-50%, -0.25rem);
    transform: translate(-50%, 0.75rem);
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
    animation-name: tooltip-slide;
    opacity: 0;
  }
  [data-tooltip]:focus::after, [data-tooltip]:hover::after {
    --porco-tooltip-caret-slide-to: translate(-50%, 0rem);
    transform: translate(-50%, -0.25rem);
    animation-name: tooltip-caret-slide;
  }
  [data-tooltip][data-placement=bottom]:focus::before, [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:hover::before, [data-tooltip][data-placement=bottom]:hover::after {
    --porco-tooltip-slide-to: translate(-50%, 0.25rem);
    transform: translate(-50%, -0.75rem);
    animation-name: tooltip-slide;
  }
  [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:hover::after {
    --porco-tooltip-caret-slide-to: translate(-50%, -0.3rem);
    transform: translate(-50%, -0.5rem);
    animation-name: tooltip-caret-slide;
  }
  [data-tooltip][data-placement=left]:focus::before, [data-tooltip][data-placement=left]:focus::after, [data-tooltip][data-placement=left]:hover::before, [data-tooltip][data-placement=left]:hover::after {
    --porco-tooltip-slide-to: translate(-0.25rem, -50%);
    transform: translate(0.75rem, -50%);
    animation-name: tooltip-slide;
  }
  [data-tooltip][data-placement=left]:focus::after, [data-tooltip][data-placement=left]:hover::after {
    --porco-tooltip-caret-slide-to: translate(0.3rem, -50%);
    transform: translate(0.05rem, -50%);
    animation-name: tooltip-caret-slide;
  }
  [data-tooltip][data-placement=right]:focus::before, [data-tooltip][data-placement=right]:focus::after, [data-tooltip][data-placement=right]:hover::before, [data-tooltip][data-placement=right]:hover::after {
    --porco-tooltip-slide-to: translate(0.25rem, -50%);
    transform: translate(-0.75rem, -50%);
    animation-name: tooltip-slide;
  }
  [data-tooltip][data-placement=right]:focus::after, [data-tooltip][data-placement=right]:hover::after {
    --porco-tooltip-caret-slide-to: translate(-0.3rem, -50%);
    transform: translate(-0.05rem, -50%);
    animation-name: tooltip-caret-slide;
  }
}
@keyframes tooltip-slide {
  to {
    transform: var(--porco-tooltip-slide-to);
    opacity: 1;
  }
}
@keyframes tooltip-caret-slide {
  50% {
    opacity: 0;
  }
  to {
    transform: var(--porco-tooltip-caret-slide-to);
    opacity: 1;
  }
}

/**
 * Accessibility & User interaction
 */
[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
}

[dir=rtl] {
  direction: rtl;
}

/**
 * Reduce Motion Features
 */
@media (prefers-reduced-motion: reduce) {
  *:not([aria-busy=true]),
  :not([aria-busy=true])::before,
  :not([aria-busy=true])::after {
    background-attachment: initial !important;
    animation-duration: 1ms !important;
    animation-delay: -1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-delay: 0s !important;
    transition-duration: 0s !important;
  }
}

/*# sourceMappingURL=data:application/json;base64,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bkMsbUNBQW1DO0VBQ3JDO0VBQ0E7SUFDRSxrREFBa0Q7SUFDbEQsb0NBQW9DO0lBQ3BDLDZCQUE2QjtFQUMvQjtFQUNBO0lBQ0Usd0RBQXdEO0lBQ3hELG9DQUFvQztJQUNwQyxtQ0FBbUM7RUFDckM7QUFDRjtBQUNBO0VBQ0U7SUFDRSx3Q0FBd0M7SUFDeEMsVUFBVTtFQUNaO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsVUFBVTtFQUNaO0VBQ0E7SUFDRSw4Q0FBOEM7SUFDOUMsVUFBVTtFQUNaO0FBQ0Y7O0FBRUE7O0VBRUU7QUFDRjtFQUNFLGVBQWU7QUFDakI7O0FBRUE7O0VBRUUsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtBQUNwQjs7QUFFQTs7Ozs7Ozs7O0VBU0UsOEJBQThCO0FBQ2hDOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTs7RUFFRTtBQUNGO0VBQ0U7OztJQUdFLHlDQUF5QztJQUN6QyxrQ0FBa0M7SUFDbEMsZ0NBQWdDO0lBQ2hDLHVDQUF1QztJQUN2QyxnQ0FBZ0M7SUFDaEMsK0JBQStCO0lBQy9CLGtDQUFrQztFQUNwQztBQUNGIiwiZmlsZSI6InBvcmNvLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIVxuICogUG9yY28gQ1NTIHYwLjAuMVxuICogQ29weXJpZ2h0IDIwMjYtIC0gTGljZW5zZWQgdW5kZXIgTUlUXG4gKlxuICogQmFzZWQgb24gUGljbyBDU1MgdjIuMS4xXG4gKiBDb3B5cmlnaHQgMjAxOS0yMDI1IC0gTGljZW5zZWQgdW5kZXIgTUlUXG4gKi9cbi8qKlxuICogU3R5bGVzXG4gKi9cbjpyb290LFxuOmhvc3Qge1xuICAtLXBvcmNvLWZvbnQtZmFtaWx5LWVtb2ppOiBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIC0tcG9yY28tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogc3lzdGVtLXVpLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgSGVsdmV0aWNhLCBBcmlhbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmLCB2YXIoLS1wb3Jjby1mb250LWZhbWlseS1lbW9qaSk7XG4gIC0tcG9yY28tZm9udC1mYW1pbHktbW9ub3NwYWNlOiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBcIlNGIE1vbm9cIiwgTWVubG8sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBtb25vc3BhY2UsIHZhcigtLXBvcmNvLWZvbnQtZmFtaWx5LWVtb2ppKTtcbiAgLS1wb3Jjby1mb250LWZhbWlseTogdmFyKC0tcG9yY28tZm9udC1mYW1pbHktc2Fucy1zZXJpZik7XG4gIC0tcG9yY28tbGluZS1oZWlnaHQ6IDEuNTtcbiAgLS1wb3Jjby1mb250LXdlaWdodDogNDAwO1xuICAtLXBvcmNvLWZvbnQtc2l6ZTogMTAwJTtcbiAgLS1wb3Jjby10ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMXJlbTtcbiAgLS1wb3Jjby1ib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAtLXBvcmNvLWJvcmRlci13aWR0aDogMC4wNjI1cmVtO1xuICAtLXBvcmNvLW91dGxpbmUtd2lkdGg6IDAuMTI1cmVtO1xuICAtLXBvcmNvLXRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC0tcG9yY28tc3BhY2luZzogMXJlbTtcbiAgLS1wb3Jjby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWw6IDFyZW07XG4gIC0tcG9yY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbDogdmFyKC0tcG9yY28tc3BhY2luZyk7XG4gIC0tcG9yY28tYmxvY2stc3BhY2luZy1ob3Jpem9udGFsOiB2YXIoLS1wb3Jjby1zcGFjaW5nKTtcbiAgLS1wb3Jjby1ncmlkLWNvbHVtbi1nYXA6IHZhcigtLXBvcmNvLXNwYWNpbmcpO1xuICAtLXBvcmNvLWdyaWQtcm93LWdhcDogdmFyKC0tcG9yY28tc3BhY2luZyk7XG4gIC0tcG9yY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWw6IDAuNzVyZW07XG4gIC0tcG9yY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbDogMXJlbTtcbiAgLS1wb3Jjby1ncm91cC1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBvcmNvLWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDAgMCAwIHZhcigtLXBvcmNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBvcmNvLXByaW1hcnktZm9jdXMpO1xuICAtLXBvcmNvLWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1pbnB1dDogMCAwIDAgMC4wNjI1cmVtIHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3IpO1xuICAtLXBvcmNvLW1vZGFsLW92ZXJsYXktYmFja2Ryb3AtZmlsdGVyOiBibHVyKDAuMzc1cmVtKTtcbiAgLS1wb3Jjby1uYXYtZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsOiAxcmVtO1xuICAtLXBvcmNvLW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbDogMC41cmVtO1xuICAtLXBvcmNvLW5hdi1saW5rLXNwYWNpbmctdmVydGljYWw6IDAuNXJlbTtcbiAgLS1wb3Jjby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWw6IDAuNXJlbTtcbiAgLS1wb3Jjby1uYXYtYnJlYWRjcnVtYi1kaXZpZGVyOiBcIj5cIjtcbiAgLS1wb3Jjby1pY29uLWNoZWNrYm94OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDI1NSwgMjU1LCAyNTUpJyBzdHJva2Utd2lkdGg9JzQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzIwIDYgOSAxNyA0IDEyJyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcG9yY28taWNvbi1taW51czogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYigyNTUsIDI1NSwgMjU1KScgc3Ryb2tlLXdpZHRoPSc0JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDbGluZSB4MT0nNScgeTE9JzEyJyB4Mj0nMTknIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcG9yY28taWNvbi1jaGV2cm9uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDEzNiwgMTQ1LCAxNjQpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzYgOSAxMiAxNSAxOCA5JyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcG9yY28taWNvbi1kYXRlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDEzNiwgMTQ1LCAxNjQpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NyZWN0IHg9JzMnIHk9JzQnIHdpZHRoPScxOCcgaGVpZ2h0PScxOCcgcng9JzInIHJ5PScyJyUzRSUzQy9yZWN0JTNFJTNDbGluZSB4MT0nMTYnIHkxPScyJyB4Mj0nMTYnIHkyPSc2JyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nOCcgeTE9JzInIHgyPSc4JyB5Mj0nNiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzMnIHkxPScxMCcgeDI9JzIxJyB5Mj0nMTAnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAtLXBvcmNvLWljb24tdGltZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYigxMzYsIDE0NSwgMTY0KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDcG9seWxpbmUgcG9pbnRzPScxMiA2IDEyIDEyIDE2IDE0JyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcG9yY28taWNvbi1zZWFyY2g6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoMTM2LCAxNDUsIDE2NCknIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMScgY3k9JzExJyByPSc4JyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPScyMScgeTE9JzIxJyB4Mj0nMTYuNjUnIHkyPScxNi42NSclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcG9yY28taWNvbi1jbG9zZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYigxMzYsIDE0NSwgMTY0KScgc3Ryb2tlLXdpZHRoPSczJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDbGluZSB4MT0nMTgnIHkxPSc2JyB4Mj0nNicgeTI9JzE4JyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nNicgeTE9JzYnIHgyPScxOCcgeTI9JzE4JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgLS1wb3Jjby1pY29uLWxvYWRpbmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgZmlsbD0nbm9uZScgaGVpZ2h0PScyNCcgd2lkdGg9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgJTNFJTNDc3R5bGUlM0UgZyAlN0IgYW5pbWF0aW9uOiByb3RhdGUgMnMgbGluZWFyIGluZmluaXRlOyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyAlN0QgY2lyY2xlICU3QiBzdHJva2UtZGFzaGFycmF5OiA3NSwxMDA7IHN0cm9rZS1kYXNob2Zmc2V0OiAtNTsgYW5pbWF0aW9uOiBkYXNoIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IHN0cm9rZS1saW5lY2FwOiByb3VuZDsgJTdEIEBrZXlmcmFtZXMgcm90YXRlICU3QiAwJTI1ICU3QiB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgJTdEIDEwMCUyNSAlN0IgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgJTdEICU3RCBAa2V5ZnJhbWVzIGRhc2ggJTdCIDAlMjUgJTdCIHN0cm9rZS1kYXNoYXJyYXk6IDEsMTAwOyBzdHJva2UtZGFzaG9mZnNldDogMDsgJTdEIDUwJTI1ICU3QiBzdHJva2UtZGFzaGFycmF5OiA0NC41LDEwMDsgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0xNy41OyAlN0QgMTAwJTI1ICU3QiBzdHJva2UtZGFzaGFycmF5OiA0NC41LDEwMDsgc3Ryb2tlLWRhc2hvZmZzZXQ6IC02MjsgJTdEICU3RCAlM0Mvc3R5bGUlM0UlM0NnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoMTM2LCAxNDUsIDE2NCknIHN0cm9rZS13aWR0aD0nNCcgLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICA6cm9vdCxcbiAgOmhvc3Qge1xuICAgIC0tcG9yY28tZm9udC1zaXplOiAxMDYuMjUlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgOnJvb3QsXG4gIDpob3N0IHtcbiAgICAtLXBvcmNvLWZvbnQtc2l6ZTogMTEyLjUlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIDpyb290LFxuICA6aG9zdCB7XG4gICAgLS1wb3Jjby1mb250LXNpemU6IDExOC43NSU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgOnJvb3QsXG4gIDpob3N0IHtcbiAgICAtLXBvcmNvLWZvbnQtc2l6ZTogMTI1JTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE1MzZweCkge1xuICA6cm9vdCxcbiAgOmhvc3Qge1xuICAgIC0tcG9yY28tZm9udC1zaXplOiAxMzEuMjUlO1xuICB9XG59XG5cbmEge1xuICAtLXBvcmNvLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuYS5zZWNvbmRhcnksIGEuY29udHJhc3Qge1xuICAtLXBvcmNvLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5zbWFsbCB7XG4gIC0tcG9yY28tZm9udC1zaXplOiAwLjg3NWVtO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICAtLXBvcmNvLWZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmgxIHtcbiAgLS1wb3Jjby1mb250LXNpemU6IDJyZW07XG4gIC0tcG9yY28tbGluZS1oZWlnaHQ6IDEuMTI1O1xuICAtLXBvcmNvLXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDNyZW07XG59XG5cbmgyIHtcbiAgLS1wb3Jjby1mb250LXNpemU6IDEuNzVyZW07XG4gIC0tcG9yY28tbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC0tcG9yY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogMi42MjVyZW07XG59XG5cbmgzIHtcbiAgLS1wb3Jjby1mb250LXNpemU6IDEuNXJlbTtcbiAgLS1wb3Jjby1saW5lLWhlaWdodDogMS4xNzU7XG4gIC0tcG9yY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogMi4yNXJlbTtcbn1cblxuaDQge1xuICAtLXBvcmNvLWZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgLS1wb3Jjby1saW5lLWhlaWdodDogMS4yO1xuICAtLXBvcmNvLXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDEuODc0cmVtO1xufVxuXG5oNSB7XG4gIC0tcG9yY28tZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgLS1wb3Jjby1saW5lLWhlaWdodDogMS4yMjU7XG4gIC0tcG9yY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogMS42ODc1cmVtO1xufVxuXG5oNiB7XG4gIC0tcG9yY28tZm9udC1zaXplOiAxcmVtO1xuICAtLXBvcmNvLWxpbmUtaGVpZ2h0OiAxLjI1O1xuICAtLXBvcmNvLXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDEuNXJlbTtcbn1cblxudGhlYWQgdGgsXG50aGVhZCB0ZCxcbnRmb290IHRoLFxudGZvb3QgdGQge1xuICAtLXBvcmNvLWZvbnQtd2VpZ2h0OiA2MDA7XG4gIC0tcG9yY28tYm9yZGVyLXdpZHRoOiAwLjE4NzVyZW07XG59XG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgLS1wb3Jjby1mb250LWZhbWlseTogdmFyKC0tcG9yY28tZm9udC1mYW1pbHktbW9ub3NwYWNlKTtcbn1cblxua2JkIHtcbiAgLS1wb3Jjby1mb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1maWxlXSksXG46d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSkge1xuICAtLXBvcmNvLW91dGxpbmUtd2lkdGg6IDAuMDYyNXJlbTtcbn1cblxuW3R5cGU9c2VhcmNoXSB7XG4gIC0tcG9yY28tYm9yZGVyLXJhZGl1czogNXJlbTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgLS1wb3Jjby1ib3JkZXItd2lkdGg6IDAuMTI1cmVtO1xufVxuXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdIHtcbiAgLS1wb3Jjby1ib3JkZXItd2lkdGg6IDAuMTg3NXJlbTtcbn1cblxuZGV0YWlscy5kcm9wZG93biBzdW1tYXJ5Om5vdChbcm9sZT1idXR0b25dKSB7XG4gIC0tcG9yY28tb3V0bGluZS13aWR0aDogMC4wNjI1cmVtO1xufVxuXG5uYXYgZGV0YWlscy5kcm9wZG93biBzdW1tYXJ5OmZvY3VzLXZpc2libGUge1xuICAtLXBvcmNvLW91dGxpbmUtd2lkdGg6IDAuMTI1cmVtO1xufVxuXG5bcm9sZT1zZWFyY2hdIHtcbiAgLS1wb3Jjby1ib3JkZXItcmFkaXVzOiA1cmVtO1xufVxuXG5bcm9sZT1zZWFyY2hdOmhhcyhidXR0b24uc2Vjb25kYXJ5OmZvY3VzLFxuW3R5cGU9c3VibWl0XS5zZWNvbmRhcnk6Zm9jdXMsXG5bdHlwZT1idXR0b25dLnNlY29uZGFyeTpmb2N1cyxcbltyb2xlPWJ1dHRvbl0uc2Vjb25kYXJ5OmZvY3VzKSxcbltyb2xlPWdyb3VwXTpoYXMoYnV0dG9uLnNlY29uZGFyeTpmb2N1cyxcblt0eXBlPXN1Ym1pdF0uc2Vjb25kYXJ5OmZvY3VzLFxuW3R5cGU9YnV0dG9uXS5zZWNvbmRhcnk6Zm9jdXMsXG5bcm9sZT1idXR0b25dLnNlY29uZGFyeTpmb2N1cykge1xuICAtLXBvcmNvLWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDAgMCAwIHZhcigtLXBvcmNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBvcmNvLXNlY29uZGFyeS1mb2N1cyk7XG59XG5bcm9sZT1zZWFyY2hdOmhhcyhidXR0b24uY29udHJhc3Q6Zm9jdXMsXG5bdHlwZT1zdWJtaXRdLmNvbnRyYXN0OmZvY3VzLFxuW3R5cGU9YnV0dG9uXS5jb250cmFzdDpmb2N1cyxcbltyb2xlPWJ1dHRvbl0uY29udHJhc3Q6Zm9jdXMpLFxuW3JvbGU9Z3JvdXBdOmhhcyhidXR0b24uY29udHJhc3Q6Zm9jdXMsXG5bdHlwZT1zdWJtaXRdLmNvbnRyYXN0OmZvY3VzLFxuW3R5cGU9YnV0dG9uXS5jb250cmFzdDpmb2N1cyxcbltyb2xlPWJ1dHRvbl0uY29udHJhc3Q6Zm9jdXMpIHtcbiAgLS1wb3Jjby1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtYnV0dG9uOiAwIDAgMCB2YXIoLS1wb3Jjby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1wb3Jjby1jb250cmFzdC1mb2N1cyk7XG59XG5bcm9sZT1zZWFyY2hdIGJ1dHRvbixcbltyb2xlPXNlYXJjaF0gW3R5cGU9c3VibWl0XSxcbltyb2xlPXNlYXJjaF0gW3R5cGU9YnV0dG9uXSxcbltyb2xlPXNlYXJjaF0gW3JvbGU9YnV0dG9uXSxcbltyb2xlPWdyb3VwXSBidXR0b24sXG5bcm9sZT1ncm91cF0gW3R5cGU9c3VibWl0XSxcbltyb2xlPWdyb3VwXSBbdHlwZT1idXR0b25dLFxuW3JvbGU9Z3JvdXBdIFtyb2xlPWJ1dHRvbl0ge1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWw6IDJyZW07XG59XG5cbmRldGFpbHMgc3VtbWFyeVtyb2xlPWJ1dHRvbl06bm90KC5vdXRsaW5lKTo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuXG5bYXJpYS1idXN5PXRydWVdOm5vdChpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSk6aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbdHlwZT1yZXNldF0sIFtyb2xlPWJ1dHRvbl0pOm5vdCgub3V0bGluZSk6OmJlZm9yZSB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG5cbi8qKlxuICogQ29sb3Igc2NoZW1lc1xuICovXG5bZGF0YS10aGVtZT1saWdodF0sXG46cm9vdDpub3QoW2RhdGEtdGhlbWU9ZGFya10pLFxuOmhvc3QoOm5vdChbZGF0YS10aGVtZT1kYXJrXSkpIHtcbiAgY29sb3Itc2NoZW1lOiBsaWdodDtcbiAgLS1wb3Jjby1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAtLXBvcmNvLWNvbG9yOiAjMzczYzQ0O1xuICAtLXBvcmNvLXRleHQtc2VsZWN0aW9uLWNvbG9yOiByZ2JhKDIsIDE1NCwgMjMyLCAwLjI1KTtcbiAgLS1wb3Jjby1tdXRlZC1jb2xvcjogIzY0NmI3OTtcbiAgLS1wb3Jjby1tdXRlZC1ib3JkZXItY29sb3I6IHJnYigyMzEsIDIzNCwgMjM5LjUpO1xuICAtLXBvcmNvLXByaW1hcnk6ICMwMTcyYWQ7XG4gIC0tcG9yY28tcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMDE3MmFkO1xuICAtLXBvcmNvLXByaW1hcnktYm9yZGVyOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAtLXBvcmNvLXByaW1hcnktdW5kZXJsaW5lOiByZ2JhKDEsIDExNCwgMTczLCAwLjUpO1xuICAtLXBvcmNvLXByaW1hcnktaG92ZXI6ICMwMTU4ODc7XG4gIC0tcG9yY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjMDI2NTlhO1xuICAtLXBvcmNvLXByaW1hcnktaG92ZXItYm9yZGVyOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBvcmNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWhvdmVyKTtcbiAgLS1wb3Jjby1wcmltYXJ5LWZvY3VzOiByZ2JhKDIsIDE1NCwgMjMyLCAwLjUpO1xuICAtLXBvcmNvLXByaW1hcnktaW52ZXJzZTogI2ZmZjtcbiAgLS1wb3Jjby1zZWNvbmRhcnk6ICM1ZDZiODk7XG4gIC0tcG9yY28tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICM1MjVmN2E7XG4gIC0tcG9yY28tc2Vjb25kYXJ5LWJvcmRlcjogdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICAtLXBvcmNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHJnYmEoOTMsIDEwNywgMTM3LCAwLjUpO1xuICAtLXBvcmNvLXNlY29uZGFyeS1ob3ZlcjogIzQ4NTM2YjtcbiAgLS1wb3Jjby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogIzQ4NTM2YjtcbiAgLS1wb3Jjby1zZWNvbmRhcnktaG92ZXItYm9yZGVyOiB2YXIoLS1wb3Jjby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tc2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgLS1wb3Jjby1zZWNvbmRhcnktZm9jdXM6IHJnYmEoOTMsIDEwNywgMTM3LCAwLjI1KTtcbiAgLS1wb3Jjby1zZWNvbmRhcnktaW52ZXJzZTogI2ZmZjtcbiAgLS1wb3Jjby1jb250cmFzdDogIzE4MWMyNTtcbiAgLS1wb3Jjby1jb250cmFzdC1iYWNrZ3JvdW5kOiAjMTgxYzI1O1xuICAtLXBvcmNvLWNvbnRyYXN0LWJvcmRlcjogdmFyKC0tcG9yY28tY29udHJhc3QtYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tY29udHJhc3QtdW5kZXJsaW5lOiByZ2JhKDI0LCAyOCwgMzcsIDAuNSk7XG4gIC0tcG9yY28tY29udHJhc3QtaG92ZXI6ICMwMDA7XG4gIC0tcG9yY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogIzAwMDtcbiAgLS1wb3Jjby1jb250cmFzdC1ob3Zlci1ib3JkZXI6IHZhcigtLXBvcmNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBvcmNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgLS1wb3Jjby1jb250cmFzdC1mb2N1czogcmdiYSg5MywgMTA3LCAxMzcsIDAuMjUpO1xuICAtLXBvcmNvLWNvbnRyYXN0LWludmVyc2U6ICNmZmY7XG4gIC0tcG9yY28tYm94LXNoYWRvdzogMC4wMTQ1cmVtIDAuMDI5cmVtIDAuMTc0cmVtIHJnYmEoMTI5LCAxNDUsIDE4MSwgMC4wMTY5OCksIDAuMDMzNXJlbSAwLjA2N3JlbSAwLjQwMnJlbSByZ2JhKDEyOSwgMTQ1LCAxODEsIDAuMDI0KSwgMC4wNjI1cmVtIDAuMTI1cmVtIDAuNzVyZW0gcmdiYSgxMjksIDE0NSwgMTgxLCAwLjAzKSwgMC4xMTI1cmVtIDAuMjI1cmVtIDEuMzVyZW0gcmdiYSgxMjksIDE0NSwgMTgxLCAwLjAzNiksIDAuMjA4NXJlbSAwLjQxN3JlbSAyLjUwMnJlbSByZ2JhKDEyOSwgMTQ1LCAxODEsIDAuMDQzMDIpLCAwLjVyZW0gMXJlbSA2cmVtIHJnYmEoMTI5LCAxNDUsIDE4MSwgMC4wNiksIDAgMCAwIDAuMDYyNXJlbSByZ2JhKDEyOSwgMTQ1LCAxODEsIDAuMDE1KTtcbiAgLS1wb3Jjby1oMS1jb2xvcjogIzJkMzEzODtcbiAgLS1wb3Jjby1oMi1jb2xvcjogIzM3M2M0NDtcbiAgLS1wb3Jjby1oMy1jb2xvcjogIzQyNDc1MTtcbiAgLS1wb3Jjby1oNC1jb2xvcjogIzRkNTM1ZTtcbiAgLS1wb3Jjby1oNS1jb2xvcjogIzVjNjM3MDtcbiAgLS1wb3Jjby1oNi1jb2xvcjogIzY0NmI3OTtcbiAgLS1wb3Jjby1tYXJrLWJhY2tncm91bmQtY29sb3I6IHJnYigyNTIuNSwgMjMwLjUsIDE5MS41KTtcbiAgLS1wb3Jjby1tYXJrLWNvbG9yOiAjMGYxMTE0O1xuICAtLXBvcmNvLWlucy1jb2xvcjogcmdiKDI4LjUsIDEwNS41LCA4NCk7XG4gIC0tcG9yY28tZGVsLWNvbG9yOiByZ2IoMTM2LCA1Ni41LCA1Myk7XG4gIC0tcG9yY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIC0tcG9yY28tYmxvY2txdW90ZS1mb290ZXItY29sb3I6IHZhcigtLXBvcmNvLW11dGVkLWNvbG9yKTtcbiAgLS1wb3Jjby1idXR0b24tYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgLS1wb3Jjby1idXR0b24taG92ZXItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgLS1wb3Jjby10YWJsZS1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIC0tcG9yY28tdGFibGUtcm93LXN0cmlwcGVkLWJhY2tncm91bmQtY29sb3I6IHJnYmEoMTExLCAxMjAsIDEzNSwgMC4wMzc1KTtcbiAgLS1wb3Jjby1jb2RlLWJhY2tncm91bmQtY29sb3I6IHJnYigyNDMsIDI0NC41LCAyNDYuNzUpO1xuICAtLXBvcmNvLWNvZGUtY29sb3I6ICM2NDZiNzk7XG4gIC0tcG9yY28tY29kZS1rYmQtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tY29sb3IpO1xuICAtLXBvcmNvLWNvZGUta2JkLWNvbG9yOiB2YXIoLS1wb3Jjby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1MSwgMjUxLjUsIDI1Mi4yNSk7XG4gIC0tcG9yY28tZm9ybS1lbGVtZW50LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6ICNkZmUzZWI7XG4gIC0tcG9yY28tZm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcjogI2NmZDVlMjtcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtY29sb3I6ICMyMzI2MmM7XG4gIC0tcG9yY28tZm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoLS1wb3Jjby1tdXRlZC1jb2xvcik7XG4gIC0tcG9yY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWJvcmRlcik7XG4gIC0tcG9yY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWJvcmRlcik7XG4gIC0tcG9yY28tZm9ybS1lbGVtZW50LWRpc2FibGVkLW9wYWNpdHk6IDAuNTtcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3I6IHJnYigxODMuNSwgMTA1LjUsIDEwNi41KTtcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMjAwLjI1LCA3OS4yNSwgNzIuMjUpO1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yOiByZ2IoNzYsIDE1NC41LCAxMzcuNSk7XG4gIC0tcG9yY28tZm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6IHJnYigzOSwgMTUyLjc1LCAxMTguNzUpO1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcjogdmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAtLXBvcmNvLXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yOiAjYmZjN2Q5O1xuICAtLXBvcmNvLXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tc3dpdGNoLWNvbG9yOiAjZmZmO1xuICAtLXBvcmNvLXN3aXRjaC10aHVtYi1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBvcmNvLXJhbmdlLWJvcmRlci1jb2xvcjogI2RmZTNlYjtcbiAgLS1wb3Jjby1yYW5nZS1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjYmZjN2Q5O1xuICAtLXBvcmNvLXJhbmdlLXRodW1iLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tcG9yY28tcmFuZ2UtdGh1bWItY29sb3I6IHZhcigtLXBvcmNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1wb3Jjby1yYW5nZS10aHVtYi1hY3RpdmUtY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1wb3Jjby1hY2NvcmRpb24tYWN0aXZlLXN1bW1hcnktY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktaG92ZXIpO1xuICAtLXBvcmNvLWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1wb3Jjby1jb2xvcik7XG4gIC0tcG9yY28tYWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcjogdmFyKC0tcG9yY28tbXV0ZWQtY29sb3IpO1xuICAtLXBvcmNvLWNhcmQtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tcG9yY28tY2FyZC1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIC0tcG9yY28tY2FyZC1ib3gtc2hhZG93OiB2YXIoLS1wb3Jjby1ib3gtc2hhZG93KTtcbiAgLS1wb3Jjby1jYXJkLXNlY3Rpb25pbmctYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1MSwgMjUxLjUsIDI1Mi4yNSk7XG4gIC0tcG9yY28tZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLS1wb3Jjby1kcm9wZG93bi1ib3JkZXItY29sb3I6ICNlZmYxZjQ7XG4gIC0tcG9yY28tZHJvcGRvd24tYm94LXNoYWRvdzogdmFyKC0tcG9yY28tYm94LXNoYWRvdyk7XG4gIC0tcG9yY28tZHJvcGRvd24tY29sb3I6IHZhcigtLXBvcmNvLWNvbG9yKTtcbiAgLS1wb3Jjby1kcm9wZG93bi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAjZWZmMWY0O1xuICAtLXBvcmNvLWxvYWRpbmctc3Bpbm5lci1vcGFjaXR5OiAwLjU7XG4gIC0tcG9yY28tbW9kYWwtb3ZlcmxheS1iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMiwgMjM0LCAyMzcsIDAuNzUpO1xuICAtLXBvcmNvLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3I6ICNkZmUzZWI7XG4gIC0tcG9yY28tcHJvZ3Jlc3MtY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1jb250cmFzdC1iYWNrZ3JvdW5kKTtcbiAgLS1wb3Jjby10b29sdGlwLWNvbG9yOiB2YXIoLS1wb3Jjby1jb250cmFzdC1pbnZlcnNlKTtcbiAgLS1wb3Jjby1pY29uLXZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDc2LCAxNTQuNSwgMTM3LjUpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzIwIDYgOSAxNyA0IDEyJyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcG9yY28taWNvbi1pbnZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDIwMC4yNSwgNzkuMjUsIDcyLjI1KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMTInIHkxPSc4JyB4Mj0nMTInIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMTYnIHgyPScxMi4wMScgeTI9JzE2JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbltkYXRhLXRoZW1lPWxpZ2h0XSBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPWZpbGVdKSxcbjpyb290Om5vdChbZGF0YS10aGVtZT1kYXJrXSkgaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1maWxlXSksXG46aG9zdCg6bm90KFtkYXRhLXRoZW1lPWRhcmtdKSkgaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1maWxlXSkge1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcG9yY28tcHJpbWFyeS1mb2N1cyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIDpyb290Om5vdChbZGF0YS10aGVtZV0pLFxuICA6aG9zdCg6bm90KFtkYXRhLXRoZW1lXSkpIHtcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG4gICAgLS1wb3Jjby1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTksIDIyLjUsIDMwLjUpO1xuICAgIC0tcG9yY28tY29sb3I6ICNjMmM3ZDA7XG4gICAgLS1wb3Jjby10ZXh0LXNlbGVjdGlvbi1jb2xvcjogcmdiYSgxLCAxNzAsIDI1NSwgMC4xODc1KTtcbiAgICAtLXBvcmNvLW11dGVkLWNvbG9yOiAjN2I4NDk1O1xuICAgIC0tcG9yY28tbXV0ZWQtYm9yZGVyLWNvbG9yOiAjMjAyNjMyO1xuICAgIC0tcG9yY28tcHJpbWFyeTogIzAxYWFmZjtcbiAgICAtLXBvcmNvLXByaW1hcnktYmFja2dyb3VuZDogIzAxNzJhZDtcbiAgICAtLXBvcmNvLXByaW1hcnktYm9yZGVyOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAgIC0tcG9yY28tcHJpbWFyeS11bmRlcmxpbmU6IHJnYmEoMSwgMTcwLCAyNTUsIDAuNSk7XG4gICAgLS1wb3Jjby1wcmltYXJ5LWhvdmVyOiAjNzljMGZmO1xuICAgIC0tcG9yY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjMDE3ZmMwO1xuICAgIC0tcG9yY28tcHJpbWFyeS1ob3Zlci1ib3JkZXI6IHZhcigtLXBvcmNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZCk7XG4gICAgLS1wb3Jjby1wcmltYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcG9yY28tcHJpbWFyeS1ob3Zlcik7XG4gICAgLS1wb3Jjby1wcmltYXJ5LWZvY3VzOiByZ2JhKDEsIDE3MCwgMjU1LCAwLjM3NSk7XG4gICAgLS1wb3Jjby1wcmltYXJ5LWludmVyc2U6ICNmZmY7XG4gICAgLS1wb3Jjby1zZWNvbmRhcnk6ICM5NjllYWY7XG4gICAgLS1wb3Jjby1zZWNvbmRhcnktYmFja2dyb3VuZDogIzUyNWY3YTtcbiAgICAtLXBvcmNvLXNlY29uZGFyeS1ib3JkZXI6IHZhcigtLXBvcmNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgICAtLXBvcmNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHJnYmEoMTUwLCAxNTgsIDE3NSwgMC41KTtcbiAgICAtLXBvcmNvLXNlY29uZGFyeS1ob3ZlcjogI2IzYjljNTtcbiAgICAtLXBvcmNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjNWQ2Yjg5O1xuICAgIC0tcG9yY28tc2Vjb25kYXJ5LWhvdmVyLWJvcmRlcjogdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAgIC0tcG9yY28tc2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgICAtLXBvcmNvLXNlY29uZGFyeS1mb2N1czogcmdiYSgxNDQsIDE1OCwgMTkwLCAwLjI1KTtcbiAgICAtLXBvcmNvLXNlY29uZGFyeS1pbnZlcnNlOiAjZmZmO1xuICAgIC0tcG9yY28tY29udHJhc3Q6ICNkZmUzZWI7XG4gICAgLS1wb3Jjby1jb250cmFzdC1iYWNrZ3JvdW5kOiAjZWZmMWY0O1xuICAgIC0tcG9yY28tY29udHJhc3QtYm9yZGVyOiB2YXIoLS1wb3Jjby1jb250cmFzdC1iYWNrZ3JvdW5kKTtcbiAgICAtLXBvcmNvLWNvbnRyYXN0LXVuZGVybGluZTogcmdiYSgyMjMsIDIyNywgMjM1LCAwLjUpO1xuICAgIC0tcG9yY28tY29udHJhc3QtaG92ZXI6ICNmZmY7XG4gICAgLS1wb3Jjby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kOiAjZmZmO1xuICAgIC0tcG9yY28tY29udHJhc3QtaG92ZXItYm9yZGVyOiB2YXIoLS1wb3Jjby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAtLXBvcmNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcG9yY28tY29udHJhc3QtaG92ZXIpO1xuICAgIC0tcG9yY28tY29udHJhc3QtZm9jdXM6IHJnYmEoMjA3LCAyMTMsIDIyNiwgMC4yNSk7XG4gICAgLS1wb3Jjby1jb250cmFzdC1pbnZlcnNlOiAjMDAwO1xuICAgIC0tcG9yY28tYm94LXNoYWRvdzogMC4wMTQ1cmVtIDAuMDI5cmVtIDAuMTc0cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMTY5OCksIDAuMDMzNXJlbSAwLjA2N3JlbSAwLjQwMnJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDI0KSwgMC4wNjI1cmVtIDAuMTI1cmVtIDAuNzVyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAzKSwgMC4xMTI1cmVtIDAuMjI1cmVtIDEuMzVyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAzNiksIDAuMjA4NXJlbSAwLjQxN3JlbSAyLjUwMnJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDQzMDIpLCAwLjVyZW0gMXJlbSA2cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wNiksIDAgMCAwIDAuMDYyNXJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDE1KTtcbiAgICAtLXBvcmNvLWgxLWNvbG9yOiAjZjBmMWYzO1xuICAgIC0tcG9yY28taDItY29sb3I6ICNlMGUzZTc7XG4gICAgLS1wb3Jjby1oMy1jb2xvcjogI2MyYzdkMDtcbiAgICAtLXBvcmNvLWg0LWNvbG9yOiAjYjNiOWM1O1xuICAgIC0tcG9yY28taDUtY29sb3I6ICNhNGFjYmE7XG4gICAgLS1wb3Jjby1oNi1jb2xvcjogIzg4OTFhNDtcbiAgICAtLXBvcmNvLW1hcmstYmFja2dyb3VuZC1jb2xvcjogIzAxNDA2MztcbiAgICAtLXBvcmNvLW1hcmstY29sb3I6ICNmZmY7XG4gICAgLS1wb3Jjby1pbnMtY29sb3I6ICM2MmFmOWE7XG4gICAgLS1wb3Jjby1kZWwtY29sb3I6IHJnYigyMDUuNSwgMTI2LCAxMjMpO1xuICAgIC0tcG9yY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgLS1wb3Jjby1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogdmFyKC0tcG9yY28tbXV0ZWQtY29sb3IpO1xuICAgIC0tcG9yY28tYnV0dG9uLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgLS1wb3Jjby1idXR0b24taG92ZXItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAtLXBvcmNvLXRhYmxlLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgICAtLXBvcmNvLXRhYmxlLXJvdy1zdHJpcHBlZC1iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExMSwgMTIwLCAxMzUsIDAuMDM3NSk7XG4gICAgLS1wb3Jjby1jb2RlLWJhY2tncm91bmQtY29sb3I6IHJnYigyNiwgMzAuNSwgNDAuMjUpO1xuICAgIC0tcG9yY28tY29kZS1jb2xvcjogIzg4OTFhNDtcbiAgICAtLXBvcmNvLWNvZGUta2JkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLWNvbG9yKTtcbiAgICAtLXBvcmNvLWNvZGUta2JkLWNvbG9yOiB2YXIoLS1wb3Jjby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAtLXBvcmNvLWZvcm0tZWxlbWVudC1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjgsIDMzLCA0My41KTtcbiAgICAtLXBvcmNvLWZvcm0tZWxlbWVudC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yOiAjMmEzMTQwO1xuICAgIC0tcG9yY28tZm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcjogIzJhMzE0MDtcbiAgICAtLXBvcmNvLWZvcm0tZWxlbWVudC1jb2xvcjogI2UwZTNlNztcbiAgICAtLXBvcmNvLWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcjogIzg4OTFhNDtcbiAgICAtLXBvcmNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogcmdiKDI2LCAzMC41LCA0MC4yNSk7XG4gICAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tcHJpbWFyeS1ib3JkZXIpO1xuICAgIC0tcG9yY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWJvcmRlcik7XG4gICAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtZGlzYWJsZWQtb3BhY2l0eTogMC41O1xuICAgIC0tcG9yY28tZm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yOiByZ2IoMTQ5LjUsIDc0LCA4MCk7XG4gICAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMTgzLjI1LCA2My41LCA1OSk7XG4gICAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcjogdmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yOiAjMmE3YjZmO1xuICAgIC0tcG9yY28tZm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6IHJnYigyMiwgMTM3LCAxMDUuNSk7XG4gICAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAtLXBvcmNvLXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yOiAjMzMzYzRlO1xuICAgIC0tcG9yY28tc3dpdGNoLWNoZWNrZWQtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgICAtLXBvcmNvLXN3aXRjaC1jb2xvcjogI2ZmZjtcbiAgICAtLXBvcmNvLXN3aXRjaC10aHVtYi1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAgIC0tcG9yY28tcmFuZ2UtYm9yZGVyLWNvbG9yOiAjMjAyNjMyO1xuICAgIC0tcG9yY28tcmFuZ2UtYWN0aXZlLWJvcmRlci1jb2xvcjogIzJhMzE0MDtcbiAgICAtLXBvcmNvLXJhbmdlLXRodW1iLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS1wb3Jjby1yYW5nZS10aHVtYi1jb2xvcjogdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICAgIC0tcG9yY28tcmFuZ2UtdGh1bWItYWN0aXZlLWNvbG9yOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAgIC0tcG9yY28tYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgICAtLXBvcmNvLWFjY29yZGlvbi1hY3RpdmUtc3VtbWFyeS1jb2xvcjogdmFyKC0tcG9yY28tcHJpbWFyeS1ob3Zlcik7XG4gICAgLS1wb3Jjby1hY2NvcmRpb24tY2xvc2Utc3VtbWFyeS1jb2xvcjogdmFyKC0tcG9yY28tY29sb3IpO1xuICAgIC0tcG9yY28tYWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcjogdmFyKC0tcG9yY28tbXV0ZWQtY29sb3IpO1xuICAgIC0tcG9yY28tY2FyZC1iYWNrZ3JvdW5kLWNvbG9yOiAjMTgxYzI1O1xuICAgIC0tcG9yY28tY2FyZC1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLWNhcmQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS1wb3Jjby1jYXJkLWJveC1zaGFkb3c6IHZhcigtLXBvcmNvLWJveC1zaGFkb3cpO1xuICAgIC0tcG9yY28tY2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3I6IHJnYigyNiwgMzAuNSwgNDAuMjUpO1xuICAgIC0tcG9yY28tZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvcjogIzE4MWMyNTtcbiAgICAtLXBvcmNvLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogIzIwMjYzMjtcbiAgICAtLXBvcmNvLWRyb3Bkb3duLWJveC1zaGFkb3c6IHZhcigtLXBvcmNvLWJveC1zaGFkb3cpO1xuICAgIC0tcG9yY28tZHJvcGRvd24tY29sb3I6IHZhcigtLXBvcmNvLWNvbG9yKTtcbiAgICAtLXBvcmNvLWRyb3Bkb3duLWhvdmVyLWJhY2tncm91bmQtY29sb3I6ICMyMDI2MzI7XG4gICAgLS1wb3Jjby1sb2FkaW5nLXNwaW5uZXItb3BhY2l0eTogMC41O1xuICAgIC0tcG9yY28tbW9kYWwtb3ZlcmxheS1iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcuNSwgOC41LCAxMCwgMC43NSk7XG4gICAgLS1wb3Jjby1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yOiAjMjAyNjMyO1xuICAgIC0tcG9yY28tcHJvZ3Jlc3MtY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gICAgLS1wb3Jjby10b29sdGlwLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAgIC0tcG9yY28tdG9vbHRpcC1jb2xvcjogdmFyKC0tcG9yY28tY29udHJhc3QtaW52ZXJzZSk7XG4gICAgLS1wb3Jjby1pY29uLXZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDQyLCAxMjMsIDExMSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMjAgNiA5IDE3IDQgMTInJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAtLXBvcmNvLWljb24taW52YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYigxNDkuNSwgNzQsIDgwKScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMTInIHkxPSc4JyB4Mj0nMTInIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMTYnIHgyPScxMi4wMScgeTI9JzE2JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuICA6cm9vdDpub3QoW2RhdGEtdGhlbWVdKSBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLFxuICBbdHlwZT1idXR0b25dLFxuICBbdHlwZT1yZXNldF0sXG4gIFt0eXBlPWNoZWNrYm94XSxcbiAgW3R5cGU9cmFkaW9dLFxuICBbdHlwZT1maWxlXSksXG4gIDpob3N0KDpub3QoW2RhdGEtdGhlbWVdKSkgaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSxcbiAgW3R5cGU9YnV0dG9uXSxcbiAgW3R5cGU9cmVzZXRdLFxuICBbdHlwZT1jaGVja2JveF0sXG4gIFt0eXBlPXJhZGlvXSxcbiAgW3R5cGU9ZmlsZV0pIHtcbiAgICAtLXBvcmNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcG9yY28tcHJpbWFyeS1mb2N1cyk7XG4gIH1cbiAgOnJvb3Q6bm90KFtkYXRhLXRoZW1lXSkgZGV0YWlscyBzdW1tYXJ5W3JvbGU9YnV0dG9uXS5jb250cmFzdDpub3QoLm91dGxpbmUpOjphZnRlcixcbiAgOmhvc3QoOm5vdChbZGF0YS10aGVtZV0pKSBkZXRhaWxzIHN1bW1hcnlbcm9sZT1idXR0b25dLmNvbnRyYXN0Om5vdCgub3V0bGluZSk6OmFmdGVyIHtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCk7XG4gIH1cbiAgOnJvb3Q6bm90KFtkYXRhLXRoZW1lXSkgW2FyaWEtYnVzeT10cnVlXTpub3QoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpLmNvbnRyYXN0OmlzKGJ1dHRvbixcbiAgW3R5cGU9c3VibWl0XSxcbiAgW3R5cGU9YnV0dG9uXSxcbiAgW3R5cGU9cmVzZXRdLFxuICBbcm9sZT1idXR0b25dKTpub3QoLm91dGxpbmUpOjpiZWZvcmUsXG4gIDpob3N0KDpub3QoW2RhdGEtdGhlbWVdKSkgW2FyaWEtYnVzeT10cnVlXTpub3QoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpLmNvbnRyYXN0OmlzKGJ1dHRvbixcbiAgW3R5cGU9c3VibWl0XSxcbiAgW3R5cGU9YnV0dG9uXSxcbiAgW3R5cGU9cmVzZXRdLFxuICBbcm9sZT1idXR0b25dKTpub3QoLm91dGxpbmUpOjpiZWZvcmUge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKTtcbiAgfVxufVxuW2RhdGEtdGhlbWU9ZGFya10ge1xuICBjb2xvci1zY2hlbWU6IGRhcms7XG4gIC0tcG9yY28tYmFja2dyb3VuZC1jb2xvcjogcmdiKDE5LCAyMi41LCAzMC41KTtcbiAgLS1wb3Jjby1jb2xvcjogI2MyYzdkMDtcbiAgLS1wb3Jjby10ZXh0LXNlbGVjdGlvbi1jb2xvcjogcmdiYSgxLCAxNzAsIDI1NSwgMC4xODc1KTtcbiAgLS1wb3Jjby1tdXRlZC1jb2xvcjogIzdiODQ5NTtcbiAgLS1wb3Jjby1tdXRlZC1ib3JkZXItY29sb3I6ICMyMDI2MzI7XG4gIC0tcG9yY28tcHJpbWFyeTogIzAxYWFmZjtcbiAgLS1wb3Jjby1wcmltYXJ5LWJhY2tncm91bmQ6ICMwMTcyYWQ7XG4gIC0tcG9yY28tcHJpbWFyeS1ib3JkZXI6IHZhcigtLXBvcmNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tcHJpbWFyeS11bmRlcmxpbmU6IHJnYmEoMSwgMTcwLCAyNTUsIDAuNSk7XG4gIC0tcG9yY28tcHJpbWFyeS1ob3ZlcjogIzc5YzBmZjtcbiAgLS1wb3Jjby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICMwMTdmYzA7XG4gIC0tcG9yY28tcHJpbWFyeS1ob3Zlci1ib3JkZXI6IHZhcigtLXBvcmNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tcHJpbWFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLXBvcmNvLXByaW1hcnktaG92ZXIpO1xuICAtLXBvcmNvLXByaW1hcnktZm9jdXM6IHJnYmEoMSwgMTcwLCAyNTUsIDAuMzc1KTtcbiAgLS1wb3Jjby1wcmltYXJ5LWludmVyc2U6ICNmZmY7XG4gIC0tcG9yY28tc2Vjb25kYXJ5OiAjOTY5ZWFmO1xuICAtLXBvcmNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAjNTI1ZjdhO1xuICAtLXBvcmNvLXNlY29uZGFyeS1ib3JkZXI6IHZhcigtLXBvcmNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1wb3Jjby1zZWNvbmRhcnktdW5kZXJsaW5lOiByZ2JhKDE1MCwgMTU4LCAxNzUsIDAuNSk7XG4gIC0tcG9yY28tc2Vjb25kYXJ5LWhvdmVyOiAjYjNiOWM1O1xuICAtLXBvcmNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjNWQ2Yjg5O1xuICAtLXBvcmNvLXNlY29uZGFyeS1ob3Zlci1ib3JkZXI6IHZhcigtLXBvcmNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgLS1wb3Jjby1zZWNvbmRhcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1wb3Jjby1zZWNvbmRhcnktaG92ZXIpO1xuICAtLXBvcmNvLXNlY29uZGFyeS1mb2N1czogcmdiYSgxNDQsIDE1OCwgMTkwLCAwLjI1KTtcbiAgLS1wb3Jjby1zZWNvbmRhcnktaW52ZXJzZTogI2ZmZjtcbiAgLS1wb3Jjby1jb250cmFzdDogI2RmZTNlYjtcbiAgLS1wb3Jjby1jb250cmFzdC1iYWNrZ3JvdW5kOiAjZWZmMWY0O1xuICAtLXBvcmNvLWNvbnRyYXN0LWJvcmRlcjogdmFyKC0tcG9yY28tY29udHJhc3QtYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tY29udHJhc3QtdW5kZXJsaW5lOiByZ2JhKDIyMywgMjI3LCAyMzUsIDAuNSk7XG4gIC0tcG9yY28tY29udHJhc3QtaG92ZXI6ICNmZmY7XG4gIC0tcG9yY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogI2ZmZjtcbiAgLS1wb3Jjby1jb250cmFzdC1ob3Zlci1ib3JkZXI6IHZhcigtLXBvcmNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBvcmNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcG9yY28tY29udHJhc3QtaG92ZXIpO1xuICAtLXBvcmNvLWNvbnRyYXN0LWZvY3VzOiByZ2JhKDIwNywgMjEzLCAyMjYsIDAuMjUpO1xuICAtLXBvcmNvLWNvbnRyYXN0LWludmVyc2U6ICMwMDA7XG4gIC0tcG9yY28tYm94LXNoYWRvdzogMC4wMTQ1cmVtIDAuMDI5cmVtIDAuMTc0cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMTY5OCksIDAuMDMzNXJlbSAwLjA2N3JlbSAwLjQwMnJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDI0KSwgMC4wNjI1cmVtIDAuMTI1cmVtIDAuNzVyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAzKSwgMC4xMTI1cmVtIDAuMjI1cmVtIDEuMzVyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAzNiksIDAuMjA4NXJlbSAwLjQxN3JlbSAyLjUwMnJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDQzMDIpLCAwLjVyZW0gMXJlbSA2cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wNiksIDAgMCAwIDAuMDYyNXJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDE1KTtcbiAgLS1wb3Jjby1oMS1jb2xvcjogI2YwZjFmMztcbiAgLS1wb3Jjby1oMi1jb2xvcjogI2UwZTNlNztcbiAgLS1wb3Jjby1oMy1jb2xvcjogI2MyYzdkMDtcbiAgLS1wb3Jjby1oNC1jb2xvcjogI2IzYjljNTtcbiAgLS1wb3Jjby1oNS1jb2xvcjogI2E0YWNiYTtcbiAgLS1wb3Jjby1oNi1jb2xvcjogIzg4OTFhNDtcbiAgLS1wb3Jjby1tYXJrLWJhY2tncm91bmQtY29sb3I6ICMwMTQwNjM7XG4gIC0tcG9yY28tbWFyay1jb2xvcjogI2ZmZjtcbiAgLS1wb3Jjby1pbnMtY29sb3I6ICM2MmFmOWE7XG4gIC0tcG9yY28tZGVsLWNvbG9yOiByZ2IoMjA1LjUsIDEyNiwgMTIzKTtcbiAgLS1wb3Jjby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1wb3Jjby1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogdmFyKC0tcG9yY28tbXV0ZWQtY29sb3IpO1xuICAtLXBvcmNvLWJ1dHRvbi1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBvcmNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBvcmNvLXRhYmxlLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1wb3Jjby10YWJsZS1yb3ctc3RyaXBwZWQtYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMTEsIDEyMCwgMTM1LCAwLjAzNzUpO1xuICAtLXBvcmNvLWNvZGUtYmFja2dyb3VuZC1jb2xvcjogcmdiKDI2LCAzMC41LCA0MC4yNSk7XG4gIC0tcG9yY28tY29kZS1jb2xvcjogIzg4OTFhNDtcbiAgLS1wb3Jjby1jb2RlLWtiZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1jb2xvcik7XG4gIC0tcG9yY28tY29kZS1rYmQtY29sb3I6IHZhcigtLXBvcmNvLWJhY2tncm91bmQtY29sb3IpO1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjgsIDMzLCA0My41KTtcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogIzJhMzE0MDtcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiAjMmEzMTQwO1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC1jb2xvcjogI2UwZTNlNztcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtcGxhY2Vob2xkZXItY29sb3I6ICM4ODkxYTQ7XG4gIC0tcG9yY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjYsIDMwLjUsIDQwLjI1KTtcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tcHJpbWFyeS1ib3JkZXIpO1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcG9yY28tcHJpbWFyeS1ib3JkZXIpO1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC1kaXNhYmxlZC1vcGFjaXR5OiAwLjU7XG4gIC0tcG9yY28tZm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yOiByZ2IoMTQ5LjUsIDc0LCA4MCk7XG4gIC0tcG9yY28tZm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogcmdiKDE4My4yNSwgNjMuNSwgNTkpO1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yOiAjMmE3YjZmO1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMjIsIDEzNywgMTA1LjUpO1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcjogdmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAtLXBvcmNvLXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yOiAjMzMzYzRlO1xuICAtLXBvcmNvLXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tc3dpdGNoLWNvbG9yOiAjZmZmO1xuICAtLXBvcmNvLXN3aXRjaC10aHVtYi1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBvcmNvLXJhbmdlLWJvcmRlci1jb2xvcjogIzIwMjYzMjtcbiAgLS1wb3Jjby1yYW5nZS1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjMmEzMTQwO1xuICAtLXBvcmNvLXJhbmdlLXRodW1iLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tcG9yY28tcmFuZ2UtdGh1bWItY29sb3I6IHZhcigtLXBvcmNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1wb3Jjby1yYW5nZS10aHVtYi1hY3RpdmUtY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1wb3Jjby1hY2NvcmRpb24tYWN0aXZlLXN1bW1hcnktY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktaG92ZXIpO1xuICAtLXBvcmNvLWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1wb3Jjby1jb2xvcik7XG4gIC0tcG9yY28tYWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcjogdmFyKC0tcG9yY28tbXV0ZWQtY29sb3IpO1xuICAtLXBvcmNvLWNhcmQtYmFja2dyb3VuZC1jb2xvcjogIzE4MWMyNTtcbiAgLS1wb3Jjby1jYXJkLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tY2FyZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgLS1wb3Jjby1jYXJkLWJveC1zaGFkb3c6IHZhcigtLXBvcmNvLWJveC1zaGFkb3cpO1xuICAtLXBvcmNvLWNhcmQtc2VjdGlvbmluZy1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjYsIDMwLjUsIDQwLjI1KTtcbiAgLS1wb3Jjby1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yOiAjMTgxYzI1O1xuICAtLXBvcmNvLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogIzIwMjYzMjtcbiAgLS1wb3Jjby1kcm9wZG93bi1ib3gtc2hhZG93OiB2YXIoLS1wb3Jjby1ib3gtc2hhZG93KTtcbiAgLS1wb3Jjby1kcm9wZG93bi1jb2xvcjogdmFyKC0tcG9yY28tY29sb3IpO1xuICAtLXBvcmNvLWRyb3Bkb3duLWhvdmVyLWJhY2tncm91bmQtY29sb3I6ICMyMDI2MzI7XG4gIC0tcG9yY28tbG9hZGluZy1zcGlubmVyLW9wYWNpdHk6IDAuNTtcbiAgLS1wb3Jjby1tb2RhbC1vdmVybGF5LWJhY2tncm91bmQtY29sb3I6IHJnYmEoNy41LCA4LjUsIDEwLCAwLjc1KTtcbiAgLS1wb3Jjby1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yOiAjMjAyNjMyO1xuICAtLXBvcmNvLXByb2dyZXNzLWNvbG9yOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAtLXBvcmNvLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tY29udHJhc3QtYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tdG9vbHRpcC1jb2xvcjogdmFyKC0tcG9yY28tY29udHJhc3QtaW52ZXJzZSk7XG4gIC0tcG9yY28taWNvbi12YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYig0MiwgMTIzLCAxMTEpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzIwIDYgOSAxNyA0IDEyJyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcG9yY28taWNvbi1pbnZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDE0OS41LCA3NCwgODApJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzgnIHgyPScxMicgeTI9JzEyJyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nMTInIHkxPScxNicgeDI9JzEyLjAxJyB5Mj0nMTYnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1maWxlXSkge1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcG9yY28tcHJpbWFyeS1mb2N1cyk7XG59XG5bZGF0YS10aGVtZT1kYXJrXSBkZXRhaWxzIHN1bW1hcnlbcm9sZT1idXR0b25dLmNvbnRyYXN0Om5vdCgub3V0bGluZSk6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gW2FyaWEtYnVzeT10cnVlXTpub3QoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpLmNvbnRyYXN0OmlzKGJ1dHRvbixcblt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3JvbGU9YnV0dG9uXSk6bm90KC5vdXRsaW5lKTo6YmVmb3JlIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApO1xufVxuXG5wcm9ncmVzcyxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPXJhbmdlXSB7XG4gIGFjY2VudC1jb2xvcjogdmFyKC0tcG9yY28tcHJpbWFyeSk7XG59XG5cbi8qKlxuICogRG9jdW1lbnRcbiAqIENvbnRlbnQtYm94ICYgUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5XG4gKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG5cbjp3aGVyZSg6cm9vdCksXG46d2hlcmUoOmhvc3QpIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBvcmNvLWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBvcmNvLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1wb3Jjby1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tcG9yY28tbGluZS1oZWlnaHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tcG9yY28tZm9udC1mYW1pbHkpO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IHZhcigtLXBvcmNvLXRleHQtdW5kZXJsaW5lLW9mZnNldCk7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHRhYi1zaXplOiA0O1xufVxuXG4vKipcbiAqIExhbmRtYXJrc1xuICovXG5ib2R5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5ib2R5ID4gaGVhZGVyLFxuYm9keSA+IG1haW4sXG5ib2R5ID4gZm9vdGVyIHtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tcG9yY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbi8qKlxuICogU2VjdGlvblxuICovXG5zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcG9yY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbi8qKlxuICogQ29udGFpbmVyXG4gKi9cbi5jb250YWluZXIsXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBvcmNvLXNwYWNpbmcpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBvcmNvLXNwYWNpbmcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA1MTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5NTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE1MzZweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDE0NTBweDtcbiAgfVxufVxuXG4vKipcbiAqIEdyaWRcbiAqIE1pbmltYWwgZ3JpZCBzeXN0ZW0gd2l0aCBhdXRvLWxheW91dCBjb2x1bW5zXG4gKi9cbi5ncmlkIHtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1wb3Jjby1ncmlkLWNvbHVtbi1nYXApO1xuICBncmlkLXJvdy1nYXA6IHZhcigtLXBvcmNvLWdyaWQtcm93LWdhcCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDAlLCAxZnIpKTtcbiAgfVxufVxuLmdyaWQgPiAqIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4vKipcbiAqIE92ZXJmbG93IGF1dG9cbiAqL1xuLm92ZXJmbG93LWF1dG8ge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBUeXBvZ3JhcGh5XG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5hZGRyZXNzLFxuYmxvY2txdW90ZSxcbmRsLFxub2wsXG5wLFxucHJlLFxudGFibGUsXG51bCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBvcmNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCk7XG4gIGNvbG9yOiB2YXIoLS1wb3Jjby1jb2xvcik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBvcmNvLWZvbnQtd2VpZ2h0KTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcG9yY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgY29sb3I6IHZhcigtLXBvcmNvLWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBvcmNvLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1wb3Jjby1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tcG9yY28tbGluZS1oZWlnaHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tcG9yY28tZm9udC1mYW1pbHkpO1xufVxuXG5oMSB7XG4gIC0tcG9yY28tY29sb3I6IHZhcigtLXBvcmNvLWgxLWNvbG9yKTtcbn1cblxuaDIge1xuICAtLXBvcmNvLWNvbG9yOiB2YXIoLS1wb3Jjby1oMi1jb2xvcik7XG59XG5cbmgzIHtcbiAgLS1wb3Jjby1jb2xvcjogdmFyKC0tcG9yY28taDMtY29sb3IpO1xufVxuXG5oNCB7XG4gIC0tcG9yY28tY29sb3I6IHZhcigtLXBvcmNvLWg0LWNvbG9yKTtcbn1cblxuaDUge1xuICAtLXBvcmNvLWNvbG9yOiB2YXIoLS1wb3Jjby1oNS1jb2xvcik7XG59XG5cbmg2IHtcbiAgLS1wb3Jjby1jb2xvcjogdmFyKC0tcG9yY28taDYtY29sb3IpO1xufVxuXG46d2hlcmUoYXJ0aWNsZSwgYWRkcmVzcywgYmxvY2txdW90ZSwgZGwsIGZpZ3VyZSwgZm9ybSwgb2wsIHAsIHByZSwgdGFibGUsIHVsKSB+IDppcyhoMSwgaDIsIGgzLCBoNCwgaDUsIGg2KSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXBvcmNvLXR5cG9ncmFwaHktc3BhY2luZy10b3ApO1xufVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcG9yY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cblxuaGdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcG9yY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cbmhncm91cCA+ICoge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuaGdyb3VwID4gKjpub3QoOmZpcnN0LWNoaWxkKTpsYXN0LWNoaWxkIHtcbiAgLS1wb3Jjby1jb2xvcjogdmFyKC0tcG9yY28tbXV0ZWQtY29sb3IpO1xuICAtLXBvcmNvLWZvbnQtd2VpZ2h0OiB1bnNldDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG46d2hlcmUob2wsIHVsKSBsaSB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcG9yY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuMjUpO1xufVxuXG46d2hlcmUoZGwsIG9sLCB1bCkgOndoZXJlKGRsLCBvbCwgdWwpIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBvcmNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjI1KTtcbn1cblxudWwgbGkge1xuICBsaXN0LXN0eWxlOiBzcXVhcmU7XG59XG5cbm1hcmsge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1tYXJrLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcG9yY28tbWFyay1jb2xvcik7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuYmxvY2txdW90ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IHZhcigtLXBvcmNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgMDtcbiAgcGFkZGluZzogdmFyKC0tcG9yY28tc3BhY2luZyk7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDAuMjVyZW0gc29saWQgdmFyKC0tcG9yY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuICBib3JkZXItaW5saW5lLXN0YXJ0OiAwLjI1cmVtIHNvbGlkIHZhcigtLXBvcmNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLWlubGluZS1lbmQ6IG5vbmU7XG59XG5ibG9ja3F1b3RlIGZvb3RlciB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcG9yY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSk7XG4gIGNvbG9yOiB2YXIoLS1wb3Jjby1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcik7XG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbmlucyB7XG4gIGNvbG9yOiB2YXIoLS1wb3Jjby1pbnMtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmRlbCB7XG4gIGNvbG9yOiB2YXIoLS1wb3Jjby1kZWwtY29sb3IpO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLXRleHQtc2VsZWN0aW9uLWNvbG9yKTtcbn1cblxuLyoqXG4gKiBMaW5rXG4gKi9cbjp3aGVyZShhOm5vdChbcm9sZT1idXR0b25dKSksXG5bcm9sZT1saW5rXSB7XG4gIC0tcG9yY28tY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnkpO1xuICAtLXBvcmNvLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLXBvcmNvLXVuZGVybGluZTogdmFyKC0tcG9yY28tcHJpbWFyeS11bmRlcmxpbmUpO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBvcmNvLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1wb3Jjby10ZXh0LWRlY29yYXRpb24pO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLXBvcmNvLXVuZGVybGluZSk7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xMjVlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1wb3Jjby10cmFuc2l0aW9uKSwgY29sb3IgdmFyKC0tcG9yY28tdHJhbnNpdGlvbiksIHRleHQtZGVjb3JhdGlvbiB2YXIoLS1wb3Jjby10cmFuc2l0aW9uKSwgYm94LXNoYWRvdyB2YXIoLS1wb3Jjby10cmFuc2l0aW9uKTtcbn1cbjp3aGVyZShhOm5vdChbcm9sZT1idXR0b25dKSk6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3JvbGU9bGlua106aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1wb3Jjby1jb2xvcjogdmFyKC0tcG9yY28tcHJpbWFyeS1ob3Zlcik7XG4gIC0tcG9yY28tdW5kZXJsaW5lOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWhvdmVyLXVuZGVybGluZSk7XG4gIC0tcG9yY28tdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG46d2hlcmUoYTpub3QoW3JvbGU9YnV0dG9uXSkpOmZvY3VzLXZpc2libGUsXG5bcm9sZT1saW5rXTpmb2N1cy12aXNpYmxlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tcG9yY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcG9yY28tcHJpbWFyeS1mb2N1cyk7XG59XG46d2hlcmUoYTpub3QoW3JvbGU9YnV0dG9uXSkpLnNlY29uZGFyeSxcbltyb2xlPWxpbmtdLnNlY29uZGFyeSB7XG4gIC0tcG9yY28tY29sb3I6IHZhcigtLXBvcmNvLXNlY29uZGFyeSk7XG4gIC0tcG9yY28tdW5kZXJsaW5lOiB2YXIoLS1wb3Jjby1zZWNvbmRhcnktdW5kZXJsaW5lKTtcbn1cbjp3aGVyZShhOm5vdChbcm9sZT1idXR0b25dKSkuc2Vjb25kYXJ5OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcbltyb2xlPWxpbmtdLnNlY29uZGFyeTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBvcmNvLWNvbG9yOiB2YXIoLS1wb3Jjby1zZWNvbmRhcnktaG92ZXIpO1xuICAtLXBvcmNvLXVuZGVybGluZTogdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZSk7XG59XG46d2hlcmUoYTpub3QoW3JvbGU9YnV0dG9uXSkpLmNvbnRyYXN0LFxuW3JvbGU9bGlua10uY29udHJhc3Qge1xuICAtLXBvcmNvLWNvbG9yOiB2YXIoLS1wb3Jjby1jb250cmFzdCk7XG4gIC0tcG9yY28tdW5kZXJsaW5lOiB2YXIoLS1wb3Jjby1jb250cmFzdC11bmRlcmxpbmUpO1xufVxuOndoZXJlKGE6bm90KFtyb2xlPWJ1dHRvbl0pKS5jb250cmFzdDppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bcm9sZT1saW5rXS5jb250cmFzdDppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBvcmNvLWNvbG9yOiB2YXIoLS1wb3Jjby1jb250cmFzdC1ob3Zlcik7XG4gIC0tcG9yY28tdW5kZXJsaW5lOiB2YXIoLS1wb3Jjby1jb250cmFzdC1ob3Zlci11bmRlcmxpbmUpO1xufVxuXG5hW3JvbGU9YnV0dG9uXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBCdXR0b25cbiAqL1xuYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24sXG5bdHlwZT1zdWJtaXRdLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9YnV0dG9uXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG5idXR0b24sXG5bdHlwZT1zdWJtaXRdLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbixcbltyb2xlPWJ1dHRvbl0ge1xuICAtLXBvcmNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWJvcmRlcik7XG4gIC0tcG9yY28tY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktaW52ZXJzZSk7XG4gIC0tcG9yY28tYm94LXNoYWRvdzogdmFyKC0tcG9yY28tYnV0dG9uLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBwYWRkaW5nOiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIGJvcmRlcjogdmFyKC0tcG9yY28tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1wb3Jjby1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1wb3Jjby1ib3JkZXItcmFkaXVzKTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXBvcmNvLWJveC1zaGFkb3cpO1xuICBjb2xvcjogdmFyKC0tcG9yY28tY29sb3IpO1xuICBmb250LXdlaWdodDogdmFyKC0tcG9yY28tZm9udC13ZWlnaHQpO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1wb3Jjby1saW5lLWhlaWdodCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXBvcmNvLXRyYW5zaXRpb24pLCBib3JkZXItY29sb3IgdmFyKC0tcG9yY28tdHJhbnNpdGlvbiksIGNvbG9yIHZhcigtLXBvcmNvLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLXBvcmNvLXRyYW5zaXRpb24pO1xufVxuYnV0dG9uOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpLCBidXR0b246aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3R5cGU9c3VibWl0XTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKSxcblt0eXBlPXN1Ym1pdF06aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3R5cGU9cmVzZXRdOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpLFxuW3R5cGU9cmVzZXRdOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPWJ1dHRvbl06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSksXG5bdHlwZT1idXR0b25dOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKSxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bcm9sZT1idXR0b25dOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpLFxuW3JvbGU9YnV0dG9uXTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBvcmNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWhvdmVyLWJvcmRlcik7XG4gIC0tcG9yY28tYm94LXNoYWRvdzogdmFyKC0tcG9yY28tYnV0dG9uLWhvdmVyLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAtLXBvcmNvLWNvbG9yOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWludmVyc2UpO1xufVxuYnV0dG9uOmZvY3VzLCBidXR0b246aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bdHlwZT1zdWJtaXRdOmZvY3VzLFxuW3R5cGU9c3VibWl0XTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyxcblt0eXBlPXJlc2V0XTpmb2N1cyxcblt0eXBlPXJlc2V0XTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyxcblt0eXBlPWJ1dHRvbl06Zm9jdXMsXG5bdHlwZT1idXR0b25dOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzLFxuW3R5cGU9ZmlsZV06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmZvY3VzLFxuW3R5cGU9ZmlsZV06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzLFxuW3JvbGU9YnV0dG9uXTpmb2N1cyxcbltyb2xlPWJ1dHRvbl06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMge1xuICAtLXBvcmNvLWJveC1zaGFkb3c6IHZhcigtLXBvcmNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKSwgMCAwIDAgdmFyKC0tcG9yY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcG9yY28tcHJpbWFyeS1mb2N1cyk7XG59XG5cblt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1idXR0b25dIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcG9yY28tc3BhY2luZyk7XG59XG5cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLnNlY29uZGFyeSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIC0tcG9yY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICAtLXBvcmNvLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWJvcmRlcik7XG4gIC0tcG9yY28tY29sb3I6IHZhcigtLXBvcmNvLXNlY29uZGFyeS1pbnZlcnNlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuc2Vjb25kYXJ5OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPXJlc2V0XTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1wb3Jjby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1wb3Jjby1zZWNvbmRhcnktaG92ZXItYm9yZGVyKTtcbiAgLS1wb3Jjby1jb2xvcjogdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWludmVyc2UpO1xufVxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuc2Vjb25kYXJ5OmZvY3VzLCA6aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5zZWNvbmRhcnk6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bdHlwZT1yZXNldF06Zm9jdXMsXG5bdHlwZT1yZXNldF06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246Zm9jdXMsXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMge1xuICAtLXBvcmNvLWJveC1zaGFkb3c6IHZhcigtLXBvcmNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKSwgMCAwIDAgdmFyKC0tcG9yY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWZvY3VzKTtcbn1cblxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuY29udHJhc3Qge1xuICAtLXBvcmNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAtLXBvcmNvLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tY29udHJhc3QtYm9yZGVyKTtcbiAgLS1wb3Jjby1jb2xvcjogdmFyKC0tcG9yY28tY29udHJhc3QtaW52ZXJzZSk7XG59XG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5jb250cmFzdDppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBvcmNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBvcmNvLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tY29udHJhc3QtaG92ZXItYm9yZGVyKTtcbiAgLS1wb3Jjby1jb2xvcjogdmFyKC0tcG9yY28tY29udHJhc3QtaW52ZXJzZSk7XG59XG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5jb250cmFzdDpmb2N1cywgOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuY29udHJhc3Q6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMge1xuICAtLXBvcmNvLWJveC1zaGFkb3c6IHZhcigtLXBvcmNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKSwgMCAwIDAgdmFyKC0tcG9yY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcG9yY28tY29udHJhc3QtZm9jdXMpO1xufVxuXG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5vdXRsaW5lLFxuW3R5cGU9cmVzZXRdLm91dGxpbmUge1xuICAtLXBvcmNvLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLXBvcmNvLWNvbG9yOiB2YXIoLS1wb3Jjby1wcmltYXJ5KTtcbiAgLS1wb3Jjby1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnkpO1xufVxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkub3V0bGluZTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1yZXNldF0ub3V0bGluZTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBvcmNvLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLXBvcmNvLWNvbG9yOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWhvdmVyKTtcbiAgLS1wb3Jjby1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktaG92ZXIpO1xufVxuXG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5vdXRsaW5lLnNlY29uZGFyeSxcblt0eXBlPXJlc2V0XS5vdXRsaW5lIHtcbiAgLS1wb3Jjby1jb2xvcjogdmFyKC0tcG9yY28tc2Vjb25kYXJ5KTtcbiAgLS1wb3Jjby1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLXNlY29uZGFyeSk7XG59XG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5vdXRsaW5lLnNlY29uZGFyeTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1yZXNldF0ub3V0bGluZTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBvcmNvLWNvbG9yOiB2YXIoLS1wb3Jjby1zZWNvbmRhcnktaG92ZXIpO1xuICAtLXBvcmNvLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWhvdmVyKTtcbn1cblxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkub3V0bGluZS5jb250cmFzdCB7XG4gIC0tcG9yY28tY29sb3I6IHZhcigtLXBvcmNvLWNvbnRyYXN0KTtcbiAgLS1wb3Jjby1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLWNvbnRyYXN0KTtcbn1cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLm91dGxpbmUuY29udHJhc3Q6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1wb3Jjby1jb2xvcjogdmFyKC0tcG9yY28tY29udHJhc3QtaG92ZXIpO1xuICAtLXBvcmNvLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tY29udHJhc3QtaG92ZXIpO1xufVxuXG46d2hlcmUoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1yZXNldF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pW2Rpc2FibGVkXSxcbjp3aGVyZShmaWVsZHNldFtkaXNhYmxlZF0pIDppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFt0eXBlPXJlc2V0XSwgW3JvbGU9YnV0dG9uXSkge1xuICBvcGFjaXR5OiAwLjU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKipcbiAqIFRhYmxlXG4gKi9cbjp3aGVyZSh0YWJsZSkge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtaW5kZW50OiAwO1xufVxuXG50aCxcbnRkIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1wb3Jjby1zcGFjaW5nKSAvIDIpIHZhcigtLXBvcmNvLXNwYWNpbmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1wb3Jjby1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXBvcmNvLXRhYmxlLWJvcmRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcG9yY28tY29sb3IpO1xuICBmb250LXdlaWdodDogdmFyKC0tcG9yY28tZm9udC13ZWlnaHQpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbn1cblxudGZvb3QgdGgsXG50Zm9vdCB0ZCB7XG4gIGJvcmRlci10b3A6IHZhcigtLXBvcmNvLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcG9yY28tdGFibGUtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxudGFibGUuc3RyaXBlZCB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB0aCxcbnRhYmxlLnN0cmlwZWQgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby10YWJsZS1yb3ctc3RyaXBwZWQtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi8qKlxuICogRW1iZWRkZWQgY29udGVudFxuICovXG46d2hlcmUoYXVkaW8sIGNhbnZhcywgaWZyYW1lLCBpbWcsIHN2ZywgdmlkZW8pIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG46d2hlcmUoaWZyYW1lKSB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuOndoZXJlKHN2Zzpub3QoW2ZpbGxdKSkge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbnN2Zzpub3QoOnJvb3QpLFxuc3ZnOm5vdCg6aG9zdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKipcbiAqIENvZGVcbiAqL1xucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1wb3Jjby1mb250LWZhbWlseSk7XG59XG5cbnByZSBjb2RlLFxucHJlIHNhbXAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG5wcmUge1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcG9yY28tYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBvcmNvLWNvZGUtYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1wb3Jjby1jb2RlLWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBvcmNvLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG59XG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjM3NXJlbTtcbn1cblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBvcmNvLXNwYWNpbmcpO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxucHJlID4gY29kZSxcbnByZSA+IHNhbXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tcG9yY28tc3BhY2luZyk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1wb3Jjby1saW5lLWhlaWdodCk7XG59XG5cbmtiZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLWNvZGUta2JkLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcG9yY28tY29kZS1rYmQtY29sb3IpO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogRmlndXJlXG4gKi9cbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5maWd1cmUgZmlnY2FwdGlvbiB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcG9yY28tc3BhY2luZykgKiAwLjUpIDA7XG4gIGNvbG9yOiB2YXIoLS1wb3Jjby1tdXRlZC1jb2xvcik7XG59XG5cbi8qKlxuICogTWlzY1xuICovXG5ociB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiB2YXIoLS1wb3Jjby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpIDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXBvcmNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQmFzaWNzIGZvcm0gZWxlbWVudHNcbiAqL1xuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1wb3Jjby1saW5lLWhlaWdodCk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbn1cblxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0O1xufVxuXG46Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbjotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbjotbW96LXVpLWludmFsaWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG46Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bdHlwZT1maWxlXSxcblt0eXBlPXJhbmdlXSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0pIHtcbiAgaGVpZ2h0OiBjYWxjKDFyZW0gKiB2YXIoLS1wb3Jjby1saW5lLWhlaWdodCkgKyB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAyICsgdmFyKC0tcG9yY28tYm9yZGVyLXdpZHRoKSAqIDIpO1xufVxuXG5maWVsZHNldCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBvcmNvLXNwYWNpbmcpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxhYmVsLFxuZmllbGRzZXQgbGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcG9yY28tc3BhY2luZykgKiAwLjM3NSk7XG4gIGNvbG9yOiB2YXIoLS1wb3Jjby1jb2xvcik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wb3Jjby1mb3JtLWxhYmVsLWZvbnQtd2VpZ2h0LCB2YXIoLS1wb3Jjby1mb250LXdlaWdodCkpO1xufVxuXG5maWVsZHNldCBsZWdlbmQge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBvcmNvLXNwYWNpbmcpICogMC41KTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSxcbmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nOiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG59XG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAtLXBvcmNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgLS1wb3Jjby1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3IpO1xuICAtLXBvcmNvLWNvbG9yOiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtY29sb3IpO1xuICAtLXBvcmNvLWJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogdmFyKC0tcG9yY28tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1wb3Jjby1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1wb3Jjby1ib3JkZXItcmFkaXVzKTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXBvcmNvLWJveC1zaGFkb3cpO1xuICBjb2xvcjogdmFyKC0tcG9yY28tY29sb3IpO1xuICBmb250LXdlaWdodDogdmFyKC0tcG9yY28tZm9udC13ZWlnaHQpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXBvcmNvLXRyYW5zaXRpb24pLCBib3JkZXItY29sb3IgdmFyKC0tcG9yY28tdHJhbnNpdGlvbiksIGNvbG9yIHZhcigtLXBvcmNvLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLXBvcmNvLXRyYW5zaXRpb24pO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bcmVhZG9ubHldKTppcyg6YWN0aXZlLCA6Zm9jdXMpLFxuOndoZXJlKHNlbGVjdCwgdGV4dGFyZWEpOm5vdChbcmVhZG9ubHldKTppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1wb3Jjby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3R5cGU9cmVzZXRdLCBbcm9sZT1zd2l0Y2hdLCBbcmVhZG9ubHldKTppcyg6YWN0aXZlLCA6Zm9jdXMpLFxuOndoZXJlKHNlbGVjdCwgdGV4dGFyZWEpOm5vdChbcmVhZG9ubHldKTppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1wb3Jjby1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9cmFuZ2VdLFxuW3R5cGU9ZmlsZV0sXG5bcmVhZG9ubHldKTpmb2N1cyxcbjp3aGVyZShzZWxlY3QsIHRleHRhcmVhKTpub3QoW3JlYWRvbmx5XSk6Zm9jdXMge1xuICAtLXBvcmNvLWJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBvcmNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcik7XG59XG5cbmlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbdHlwZT1yZXNldF0pW2Rpc2FibGVkXSxcbnNlbGVjdFtkaXNhYmxlZF0sXG50ZXh0YXJlYVtkaXNhYmxlZF0sXG5sYWJlbFthcmlhLWRpc2FibGVkPXRydWVdLFxuOndoZXJlKGZpZWxkc2V0W2Rpc2FibGVkXSkgOmlzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbdHlwZT1yZXNldF0pLCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gIG9wYWNpdHk6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbmxhYmVsW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gaW5wdXRbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKTpub3QoW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZGF0ZV0sXG5bdHlwZT1kYXRldGltZS1sb2NhbF0sXG5bdHlwZT1tb250aF0sXG5bdHlwZT10aW1lXSxcblt0eXBlPXdlZWtdLFxuW3R5cGU9cmFuZ2VdKVthcmlhLWludmFsaWRdIHtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSkgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYyh2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDAuNzVyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKTpub3QoW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZGF0ZV0sXG5bdHlwZT1kYXRldGltZS1sb2NhbF0sXG5bdHlwZT1tb250aF0sXG5bdHlwZT10aW1lXSxcblt0eXBlPXdlZWtdLFxuW3R5cGU9cmFuZ2VdKVthcmlhLWludmFsaWQ9ZmFsc2VdOm5vdChzZWxlY3QpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcG9yY28taWNvbi12YWxpZCk7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpOm5vdChbdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1kYXRlXSxcblt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcblt0eXBlPW1vbnRoXSxcblt0eXBlPXRpbWVdLFxuW3R5cGU9d2Vla10sXG5bdHlwZT1yYW5nZV0pW2FyaWEtaW52YWxpZD10cnVlXTpub3Qoc2VsZWN0KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBvcmNvLWljb24taW52YWxpZCk7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpW2FyaWEtaW52YWxpZD1mYWxzZV0ge1xuICAtLXBvcmNvLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcik7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpW2FyaWEtaW52YWxpZD1mYWxzZV06aXMoOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcG9yY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSlbYXJpYS1pbnZhbGlkPWZhbHNlXTppcyg6YWN0aXZlLCA6Zm9jdXMpOm5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSkge1xuICAtLXBvcmNvLWJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBvcmNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcikgIWltcG9ydGFudDtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSlbYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgLS1wb3Jjby1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvcik7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpW2FyaWEtaW52YWxpZD10cnVlXTppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1wb3Jjby1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3IpICFpbXBvcnRhbnQ7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpW2FyaWEtaW52YWxpZD10cnVlXTppcyg6YWN0aXZlLCA6Zm9jdXMpOm5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSkge1xuICAtLXBvcmNvLWJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBvcmNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG5bZGlyPXJ0bF0gOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKTpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOmlzKFthcmlhLWludmFsaWRdLCBbYXJpYS1pbnZhbGlkPXRydWVdLCBbYXJpYS1pbnZhbGlkPWZhbHNlXSkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAwLjc1cmVtO1xufVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG5pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuc2VsZWN0OmludmFsaWQge1xuICBjb2xvcjogdmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcG9yY28tc3BhY2luZyk7XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5zZWxlY3Q6bm90KFttdWx0aXBsZV0sIFtzaXplXSkge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS41cmVtKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGModmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW0pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1wb3Jjby1pY29uLWNoZXZyb24pO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMC43NXJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5zZWxlY3RbbXVsdGlwbGVdIG9wdGlvbjpjaGVja2VkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LWNvbG9yKTtcbn1cblxuW2Rpcj1ydGxdIHNlbGVjdDpub3QoW211bHRpcGxlXSwgW3NpemVdKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0IDAuNzVyZW07XG59XG5cbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG50ZXh0YXJlYVthcmlhLWludmFsaWRdIHtcbiAgLS1wb3Jjby1pY29uLWhlaWdodDogY2FsYygxcmVtICogdmFyKC0tcG9yY28tbGluZS1oZWlnaHQpICsgdmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMiArIHZhcigtLXBvcmNvLWJvcmRlci13aWR0aCkgKiAyKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0IDAuNzVyZW0gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIHZhcigtLXBvcmNvLWljb24taGVpZ2h0KSAhaW1wb3J0YW50O1xufVxuXG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGZpZWxkc2V0LCAuZ3JpZCkgKyBzbWFsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1wb3Jjby1zcGFjaW5nKSAqIC0wLjc1KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcG9yY28tc3BhY2luZyk7XG4gIGNvbG9yOiB2YXIoLS1wb3Jjby1tdXRlZC1jb2xvcik7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGZpZWxkc2V0LCAuZ3JpZClbYXJpYS1pbnZhbGlkPWZhbHNlXSArIHNtYWxsIHtcbiAgY29sb3I6IHZhcigtLXBvcmNvLWlucy1jb2xvcik7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGZpZWxkc2V0LCAuZ3JpZClbYXJpYS1pbnZhbGlkPXRydWVdICsgc21hbGwge1xuICBjb2xvcjogdmFyKC0tcG9yY28tZGVsLWNvbG9yKTtcbn1cblxubGFiZWwgPiA6d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1wb3Jjby1zcGFjaW5nKSAqIDAuMjUpO1xufVxuXG4vKipcbiAqIENoZWNrYm94ZXMsIFJhZGlvcyBhbmQgU3dpdGNoZXNcbiAqL1xubGFiZWw6aGFzKFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgd2lkdGg6IDEuMjVlbTtcbiAgaGVpZ2h0OiAxLjI1ZW07XG4gIG1hcmdpbi10b3A6IC0wLjEyNWVtO1xuICBtYXJnaW4taW5saW5lLWVuZDogMC41ZW07XG4gIGJvcmRlci13aWR0aDogdmFyKC0tcG9yY28tYm9yZGVyLXdpZHRoKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuW3R5cGU9Y2hlY2tib3hdOjotbXMtY2hlY2ssXG5bdHlwZT1yYWRpb106Oi1tcy1jaGVjayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5bdHlwZT1jaGVja2JveF06Y2hlY2tlZCwgW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6YWN0aXZlLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDpmb2N1cyxcblt0eXBlPXJhZGlvXTpjaGVja2VkLFxuW3R5cGU9cmFkaW9dOmNoZWNrZWQ6YWN0aXZlLFxuW3R5cGU9cmFkaW9dOmNoZWNrZWQ6Zm9jdXMge1xuICAtLXBvcmNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcG9yY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1wb3Jjby1wcmltYXJ5LWJvcmRlcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBvcmNvLWljb24tY2hlY2tib3gpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMC43NWVtIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5bdHlwZT1jaGVja2JveF0gfiBsYWJlbCxcblt0eXBlPXJhZGlvXSB+IGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bdHlwZT1jaGVja2JveF0gfiBsYWJlbDpub3QoOmxhc3Qtb2YtdHlwZSksXG5bdHlwZT1yYWRpb10gfiBsYWJlbDpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICBtYXJnaW4taW5saW5lLWVuZDogMWVtO1xufVxuXG5bdHlwZT1jaGVja2JveF06aW5kZXRlcm1pbmF0ZSB7XG4gIC0tcG9yY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1wb3Jjby1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktYm9yZGVyKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcG9yY28taWNvbi1taW51cyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjc1ZW0gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuW3R5cGU9cmFkaW9dIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuW3R5cGU9cmFkaW9dOmNoZWNrZWQsIFt0eXBlPXJhZGlvXTpjaGVja2VkOmFjdGl2ZSwgW3R5cGU9cmFkaW9dOmNoZWNrZWQ6Zm9jdXMge1xuICAtLXBvcmNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLXByaW1hcnktaW52ZXJzZSk7XG4gIGJvcmRlci13aWR0aDogMC4zNWVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdIHtcbiAgLS1wb3Jjby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tcG9yY28tY29sb3I6IHZhcigtLXBvcmNvLXN3aXRjaC1jb2xvcik7XG4gIHdpZHRoOiAyLjI1ZW07XG4gIGhlaWdodDogMS4yNWVtO1xuICBib3JkZXI6IHZhcigtLXBvcmNvLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcG9yY28tYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogMS4yNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbn1cblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06bm90KFthcmlhLWludmFsaWRdKSB7XG4gIC0tcG9yY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1wb3Jjby1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG59XG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXBvcmNvLXN3aXRjaC10aHVtYi1ib3gtc2hhZG93KTtcbiAgY29udGVudDogXCJcIjtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmZvY3VzIHtcbiAgLS1wb3Jjby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tcG9yY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1wb3Jjby1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG59XG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWQge1xuICAtLXBvcmNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3IpO1xuICAtLXBvcmNvLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tc3dpdGNoLWNoZWNrZWQtYmFja2dyb3VuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWQ6OmJlZm9yZSB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoMi4yNWVtIC0gMS4yNWVtKTtcbn1cblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF1bZGlzYWJsZWRdIHtcbiAgLS1wb3Jjby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1ib3JkZXItY29sb3IpO1xufVxuXG5bdHlwZT1jaGVja2JveF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkLCBbdHlwZT1jaGVja2JveF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmFjdGl2ZSwgW3R5cGU9Y2hlY2tib3hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDpmb2N1cyxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6YWN0aXZlLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6Zm9jdXMge1xuICAtLXBvcmNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3IpO1xufVxuW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWRbYXJpYS1pbnZhbGlkPXRydWVdLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphY3RpdmVbYXJpYS1pbnZhbGlkPXRydWVdLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDpmb2N1c1thcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWRbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkOmFjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWQ6Zm9jdXNbYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgLS1wb3Jjby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3IpO1xufVxuXG5bdHlwZT1jaGVja2JveF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkLCBbdHlwZT1jaGVja2JveF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmFjdGl2ZSwgW3R5cGU9Y2hlY2tib3hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDpmb2N1cyxcblt0eXBlPXJhZGlvXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQsXG5bdHlwZT1yYWRpb11bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmFjdGl2ZSxcblt0eXBlPXJhZGlvXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6Zm9jdXMsXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZCxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmFjdGl2ZSxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmZvY3VzIHtcbiAgLS1wb3Jjby1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3IpO1xufVxuW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWRbYXJpYS1pbnZhbGlkPXRydWVdLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphY3RpdmVbYXJpYS1pbnZhbGlkPXRydWVdLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDpmb2N1c1thcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1yYWRpb106Y2hlY2tlZFthcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1yYWRpb106Y2hlY2tlZDphY3RpdmVbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9cmFkaW9dOmNoZWNrZWQ6Zm9jdXNbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkW2FyaWEtaW52YWxpZD10cnVlXSxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06Y2hlY2tlZDphY3RpdmVbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkOmZvY3VzW2FyaWEtaW52YWxpZD10cnVlXSB7XG4gIC0tcG9yY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3IpO1xufVxuXG4vKipcbiAqIElucHV0IHR5cGUgY29sb3JcbiAqL1xuW3R5cGU9Y29sb3JdOjotd2Via2l0LWNvbG9yLXN3YXRjaC13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbn1cblt0eXBlPWNvbG9yXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG59XG5bdHlwZT1jb2xvcl06Oi13ZWJraXQtY29sb3Itc3dhdGNoIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBvcmNvLWJvcmRlci1yYWRpdXMpICogMC41KTtcbn1cblt0eXBlPWNvbG9yXTo6LW1vei1jb2xvci1zd2F0Y2gge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcG9yY28tYm9yZGVyLXJhZGl1cykgKiAwLjUpO1xufVxuXG4vKipcbiAqIElucHV0IHR5cGUgZGF0ZXRpbWVcbiAqL1xuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKTppcyhbdHlwZT1kYXRlXSwgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLCBbdHlwZT1tb250aF0sIFt0eXBlPXRpbWVdLCBbdHlwZT13ZWVrXSkge1xuICAtLXBvcmNvLWljb24tcG9zaXRpb246IDAuNzVyZW07XG4gIC0tcG9yY28taWNvbi13aWR0aDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1wb3Jjby1pY29uLXdpZHRoKSArIHZhcigtLXBvcmNvLWljb24tcG9zaXRpb24pKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcG9yY28taWNvbi1kYXRlKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IHZhcigtLXBvcmNvLWljb24tcG9zaXRpb24pO1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLXBvcmNvLWljb24td2lkdGgpIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pW3R5cGU9dGltZV0ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1wb3Jjby1pY29uLXRpbWUpO1xufVxuXG5bdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yLFxuW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsXG5bdHlwZT1tb250aF06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcixcblt0eXBlPXRpbWVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsXG5bdHlwZT13ZWVrXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgd2lkdGg6IHZhcigtLXBvcmNvLWljb24td2lkdGgpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tcG9yY28taWNvbi13aWR0aCkgKiAtMSk7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1wb3Jjby1pY29uLXBvc2l0aW9uKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgW3R5cGU9ZGF0ZV0sXG4gIFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcbiAgW3R5cGU9bW9udGhdLFxuICBbdHlwZT10aW1lXSxcbiAgW3R5cGU9d2Vla10ge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5bZGlyPXJ0bF0gOmlzKFt0eXBlPWRhdGVdLCBbdHlwZT1kYXRldGltZS1sb2NhbF0sIFt0eXBlPW1vbnRoXSwgW3R5cGU9dGltZV0sIFt0eXBlPXdlZWtdKSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKipcbiAqIElucHV0IHR5cGUgZmlsZVxuICovXG5bdHlwZT1maWxlXSB7XG4gIC0tcG9yY28tY29sb3I6IHZhcigtLXBvcmNvLW11dGVkLWNvbG9yKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcG9yY28tb3V0bGluZS13aWR0aCkgKiAtMSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KSAwO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBvcmNvLW91dGxpbmUtd2lkdGgpO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tcG9yY28tc3BhY2luZykgLyAyKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpIHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xufVxuW3R5cGU9ZmlsZV06aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIC0tcG9yY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBvcmNvLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWhvdmVyLWJvcmRlcik7XG59XG5bdHlwZT1maWxlXTpmb2N1czo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAtLXBvcmNvLWJveC1zaGFkb3c6IHZhcigtLXBvcmNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKSwgMCAwIDAgdmFyKC0tcG9yY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcG9yY28tc2Vjb25kYXJ5LWZvY3VzKTtcbn1cblxuLyoqXG4gKiBJbnB1dCB0eXBlIHJhbmdlXG4gKi9cblt0eXBlPXJhbmdlXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuW3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuMzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1wb3Jjby1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tcmFuZ2UtYm9yZGVyLWNvbG9yKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1wb3Jjby10cmFuc2l0aW9uKSwgYm94LXNoYWRvdyB2YXIoLS1wb3Jjby10cmFuc2l0aW9uKTtcbn1cblt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuMzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1wb3Jjby1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tcmFuZ2UtYm9yZGVyLWNvbG9yKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1wb3Jjby10cmFuc2l0aW9uKSwgYm94LXNoYWRvdyB2YXIoLS1wb3Jjby10cmFuc2l0aW9uKTtcbn1cblt0eXBlPXJhbmdlXTo6LW1zLXRyYWNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC4zNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBvcmNvLWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1yYW5nZS1ib3JkZXItY29sb3IpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXBvcmNvLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLXBvcmNvLXRyYW5zaXRpb24pO1xufVxuW3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgbWFyZ2luLXRvcDogLTAuNDM3NXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcG9yY28tcmFuZ2UtdGh1bWItYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1yYW5nZS10aHVtYi1jb2xvcik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1wb3Jjby10cmFuc2l0aW9uKSwgdHJhbnNmb3JtIHZhcigtLXBvcmNvLXRyYW5zaXRpb24pO1xufVxuW3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRodW1iIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBtYXJnaW4tdG9wOiAtMC40Mzc1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wb3Jjby1yYW5nZS10aHVtYi1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLXJhbmdlLXRodW1iLWNvbG9yKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXBvcmNvLXRyYW5zaXRpb24pLCB0cmFuc2Zvcm0gdmFyKC0tcG9yY28tdHJhbnNpdGlvbik7XG59XG5bdHlwZT1yYW5nZV06Oi1tcy10aHVtYiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgbWFyZ2luLXRvcDogLTAuNDM3NXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcG9yY28tcmFuZ2UtdGh1bWItYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1yYW5nZS10aHVtYi1jb2xvcik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1wb3Jjby10cmFuc2l0aW9uKSwgdHJhbnNmb3JtIHZhcigtLXBvcmNvLXRyYW5zaXRpb24pO1xufVxuW3R5cGU9cmFuZ2VdOmFjdGl2ZSwgW3R5cGU9cmFuZ2VdOmZvY3VzLXdpdGhpbiB7XG4gIC0tcG9yY28tcmFuZ2UtYm9yZGVyLWNvbG9yOiB2YXIoLS1wb3Jjby1yYW5nZS1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgLS1wb3Jjby1yYW5nZS10aHVtYi1jb2xvcjogdmFyKC0tcG9yY28tcmFuZ2UtdGh1bWItYWN0aXZlLWNvbG9yKTtcbn1cblt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcbn1cblt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpO1xufVxuW3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1zLXRodW1iIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcbn1cblxuLyoqXG4gKiBJbnB1dCB0eXBlIHNlYXJjaFxuICovXG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pW3R5cGU9c2VhcmNoXSB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS43NXJlbSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBvcmNvLWljb24tc2VhcmNoKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgY2FsYyh2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDAuMTI1cmVtKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pW3R5cGU9c2VhcmNoXVthcmlhLWludmFsaWRdIHtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjc1cmVtKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAxLjEyNXJlbSwgY2VudGVyIHJpZ2h0IDAuNzVyZW07XG59XG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pW3R5cGU9c2VhcmNoXVthcmlhLWludmFsaWQ9ZmFsc2VdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcG9yY28taWNvbi1zZWFyY2gpLCB2YXIoLS1wb3Jjby1pY29uLXZhbGlkKTtcbn1cbmlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSwgW3R5cGU9cmFuZ2VdLCBbdHlwZT1maWxlXSlbdHlwZT1zZWFyY2hdW2FyaWEtaW52YWxpZD10cnVlXSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBvcmNvLWljb24tc2VhcmNoKSwgdmFyKC0tcG9yY28taWNvbi1pbnZhbGlkKTtcbn1cblxuW2Rpcj1ydGxdIDp3aGVyZShpbnB1dCk6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKVt0eXBlPXNlYXJjaF0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMS4xMjVyZW07XG59XG5bZGlyPXJ0bF0gOndoZXJlKGlucHV0KTpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pW3R5cGU9c2VhcmNoXVthcmlhLWludmFsaWRdIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDEuMTI1cmVtLCBjZW50ZXIgbGVmdCAwLjc1cmVtO1xufVxuXG46cm9vdCB7XG4gIGludGVycG9sYXRlLXNpemU6IGFsbG93LWtleXdvcmRzO1xufVxuXG4vKipcbiAqIEFjY29yZGlvbiAoPGRldGFpbHM+KVxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBvcmNvLXNwYWNpbmcpO1xufVxuZGV0YWlscyBzdW1tYXJ5IHtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1wb3Jjby10cmFuc2l0aW9uKTtcbn1cbmRldGFpbHMgc3VtbWFyeTpub3QoW3JvbGVdKSB7XG4gIGNvbG9yOiB2YXIoLS1wb3Jjby1hY2NvcmRpb24tY2xvc2Utc3VtbWFyeS1jb2xvcik7XG59XG5kZXRhaWxzIHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuZGV0YWlscyBzdW1tYXJ5OjptYXJrZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuZGV0YWlscyBzdW1tYXJ5OjotbW96LWxpc3QtYnVsbGV0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuZGV0YWlscyBzdW1tYXJ5OjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXBvcmNvLXNwYWNpbmcsIDFyZW0pICogMC41KTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1wb3Jjby1pY29uLWNoZXZyb24pO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb250ZW50OiBcIlwiO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tcG9yY28tdHJhbnNpdGlvbik7XG59XG5kZXRhaWxzIHN1bW1hcnk6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuZGV0YWlscyBzdW1tYXJ5OmZvY3VzOm5vdChbcm9sZV0pIHtcbiAgY29sb3I6IHZhcigtLXBvcmNvLWFjY29yZGlvbi1hY3RpdmUtc3VtbWFyeS1jb2xvcik7XG59XG5kZXRhaWxzIHN1bW1hcnk6Zm9jdXMtdmlzaWJsZTpub3QoW3JvbGVdKSB7XG4gIG91dGxpbmU6IHZhcigtLXBvcmNvLW91dGxpbmUtd2lkdGgpIHNvbGlkIHZhcigtLXBvcmNvLXByaW1hcnktZm9jdXMpO1xuICBvdXRsaW5lLW9mZnNldDogY2FsYyh2YXIoLS1wb3Jjby1zcGFjaW5nLCAxcmVtKSAqIDAuNSk7XG4gIGNvbG9yOiB2YXIoLS1wb3Jjby1wcmltYXJ5KTtcbn1cbmRldGFpbHMgc3VtbWFyeVtyb2xlPWJ1dHRvbl0ge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbmRldGFpbHMgc3VtbWFyeVtyb2xlPWJ1dHRvbl06OmFmdGVyIHtcbiAgaGVpZ2h0OiBjYWxjKDFyZW0gKiB2YXIoLS1wb3Jjby1saW5lLWhlaWdodCwgMS41KSk7XG59XG5kZXRhaWxzW29wZW5dID4gc3VtbWFyeSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBvcmNvLXNwYWNpbmcpO1xufVxuZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnk6bm90KFtyb2xlXSk6bm90KDpmb2N1cykge1xuICBjb2xvcjogdmFyKC0tcG9yY28tYWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcik7XG59XG5kZXRhaWxzW29wZW5dID4gc3VtbWFyeTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbn1cbmRldGFpbHM6OmRldGFpbHMtY29udGVudCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IHZhcigtLXBvcmNvLXRyYW5zaXRpb24pLCBjb250ZW50LXZpc2liaWxpdHkgdmFyKC0tcG9yY28tdHJhbnNpdGlvbik7XG4gIHRyYW5zaXRpb24tYmVoYXZpb3I6IGFsbG93LWRpc2NyZXRlO1xufVxuZGV0YWlsc1tvcGVuXTo6ZGV0YWlscy1jb250ZW50IHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bZGlyPXJ0bF0gZGV0YWlscyBzdW1tYXJ5IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5bZGlyPXJ0bF0gZGV0YWlscyBzdW1tYXJ5OjphZnRlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbn1cblxuLyoqXG4gKiBDYXJkICg8YXJ0aWNsZT4pXG4gKi9cbmFydGljbGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1wb3Jjby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgcGFkZGluZzogdmFyKC0tcG9yY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcG9yY28tYmxvY2stc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcG9yY28tYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBvcmNvLWNhcmQtYmFja2dyb3VuZC1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXBvcmNvLWNhcmQtYm94LXNoYWRvdyk7XG59XG5hcnRpY2xlID4gaGVhZGVyLFxuYXJ0aWNsZSA+IGZvb3RlciB7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1wb3Jjby1ibG9jay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1wb3Jjby1ibG9jay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBvcmNvLWJsb2NrLXNwYWNpbmctdmVydGljYWwpICogMC42NikgdmFyKC0tcG9yY28tYmxvY2stc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tY2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3IpO1xufVxuYXJ0aWNsZSA+IGhlYWRlciB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcG9yY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBvcmNvLWJsb2NrLXNwYWNpbmctdmVydGljYWwpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1wb3Jjby1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXBvcmNvLWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLXBvcmNvLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1wb3Jjby1ib3JkZXItcmFkaXVzKTtcbn1cbmFydGljbGUgPiBmb290ZXIge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1wb3Jjby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1wb3Jjby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tcG9yY28tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1wb3Jjby1jYXJkLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1wb3Jjby1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tcG9yY28tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8qKlxuICogRHJvcGRvd24gKGRldGFpbHMuZHJvcGRvd24pXG4gKi9cbmRldGFpbHMuZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTo6YWZ0ZXIsXG5kZXRhaWxzLmRyb3Bkb3duID4gYnV0dG9uOjphZnRlcixcbmRldGFpbHMuZHJvcGRvd24gPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiBjYWxjKDFyZW0gKiB2YXIoLS1wb3Jjby1saW5lLWhlaWdodCwgMS41KSk7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDAuMjVyZW07XG4gIGZsb2F0OiByaWdodDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlWCgwLjJyZW0pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1wb3Jjby1pY29uLWNoZXZyb24pO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb250ZW50OiBcIlwiO1xufVxuXG5uYXYgZGV0YWlscy5kcm9wZG93biB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5Om5vdChbcm9sZV0pIHtcbiAgaGVpZ2h0OiBjYWxjKDFyZW0gKiB2YXIoLS1wb3Jjby1saW5lLWhlaWdodCkgKyB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAyICsgdmFyKC0tcG9yY28tYm9yZGVyLXdpZHRoKSAqIDIpO1xuICBwYWRkaW5nOiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIGJvcmRlcjogdmFyKC0tcG9yY28tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcG9yY28tYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcik7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXBvcmNvLXRyYW5zaXRpb24pLCBib3JkZXItY29sb3IgdmFyKC0tcG9yY28tdHJhbnNpdGlvbiksIGNvbG9yIHZhcigtLXBvcmNvLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLXBvcmNvLXRyYW5zaXRpb24pO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSk6YWN0aXZlLCBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSk6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1wb3Jjby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3IpO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSk6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKVthcmlhLWludmFsaWQ9ZmFsc2VdIHtcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yKTtcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcik7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKVthcmlhLWludmFsaWQ9dHJ1ZV0ge1xuICAtLXBvcmNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvcik7XG4gIC0tcG9yY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yKTtcbiAgLS1wb3Jjby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yKTtcbn1cblxubmF2IGRldGFpbHMuZHJvcGRvd24ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbjogY2FsYyh2YXIoLS1wb3Jjby1uYXYtZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKSAwO1xufVxubmF2IGRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5OjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVgoMHJlbSk7XG59XG5uYXYgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSkge1xuICBoZWlnaHQ6IGNhbGMoMXJlbSAqIHZhcigtLXBvcmNvLWxpbmUtaGVpZ2h0KSArIHZhcigtLXBvcmNvLW5hdi1saW5rLXNwYWNpbmctdmVydGljYWwpICogMik7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcG9yY28tbmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgLSB2YXIoLS1wb3Jjby1ib3JkZXItd2lkdGgpICogMikgdmFyKC0tcG9yY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cbm5hdiBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKTpmb2N1cy12aXNpYmxlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tcG9yY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcG9yY28tcHJpbWFyeS1mb2N1cyk7XG59XG5cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICB6LWluZGV4OiA5OTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1wb3Jjby1vdXRsaW5lLXdpZHRoKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiB2YXIoLS1wb3Jjby1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXBvcmNvLWRyb3Bkb3duLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBvcmNvLWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tcG9yY28tZHJvcGRvd24tYm94LXNoYWRvdyk7XG4gIGNvbG9yOiB2YXIoLS1wb3Jjby1kcm9wZG93bi1jb2xvcik7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tcG9yY28tdHJhbnNpdGlvbiksIHRyYW5zZm9ybSAwcyBlYXNlLWluLW91dCAxcztcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWxbZGlyPXJ0bF0ge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGkge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpIHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaTpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaTpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSk7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiBjYWxjKHZhcigtLXBvcmNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIC0wLjUpIGNhbGModmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcG9yY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KSB2YXIoLS1wb3Jjby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6IHZhcigtLXBvcmNvLWRyb3Bkb3duLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGkgYTpob3ZlciwgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaSBhOmZvY3VzLCBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIGE6YWN0aXZlLCBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIGE6Zm9jdXMtdmlzaWJsZSwgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaSBhW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLWRyb3Bkb3duLWhvdmVyLWJhY2tncm91bmQtY29sb3IpO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaSBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaTpoYXMobGFiZWwpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbmRldGFpbHMuZHJvcGRvd25bb3Blbl0gPiBzdW1tYXJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZGV0YWlscy5kcm9wZG93bltvcGVuXSA+IHN1bW1hcnkgKyB1bCB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXBvcmNvLXRyYW5zaXRpb24pLCB0cmFuc2Zvcm0gMHMgZWFzZS1pbi1vdXQgMHM7XG59XG5cbmRldGFpbHMuZHJvcGRvd25bb3Blbl0gPiBzdW1tYXJ5OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbmxhYmVsID4gZGV0YWlscy5kcm9wZG93biB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcG9yY28tc3BhY2luZykgKiAwLjI1KTtcbn1cblxuLyoqXG4gKiBHcm91cCAoW3JvbGU9XCJncm91cFwiXSwgW3JvbGU9XCJzZWFyY2hcIl0pXG4gKi9cbltyb2xlPXNlYXJjaF0sXG5bcm9sZT1ncm91cF0ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcG9yY28tc3BhY2luZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBvcmNvLWJvcmRlci1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1wb3Jjby1ncm91cC1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoLS1wb3Jjby10cmFuc2l0aW9uKTtcbn1cbltyb2xlPXNlYXJjaF0gPiAqLFxuW3JvbGU9c2VhcmNoXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pLFxuW3JvbGU9c2VhcmNoXSBzZWxlY3QsXG5bcm9sZT1ncm91cF0gPiAqLFxuW3JvbGU9Z3JvdXBdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSksXG5bcm9sZT1ncm91cF0gc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbltyb2xlPXNlYXJjaF0gPiAqOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBzZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gPiAqOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5bcm9sZT1zZWFyY2hdID4gKjpub3QoOmxhc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOm5vdCg6bGFzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIHNlbGVjdDpub3QoOmxhc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdID4gKjpub3QoOmxhc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6bm90KDpsYXN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBzZWxlY3Q6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbltyb2xlPXNlYXJjaF0gPiAqOmZvY3VzLFxuW3JvbGU9c2VhcmNoXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOmZvY3VzLFxuW3JvbGU9c2VhcmNoXSBzZWxlY3Q6Zm9jdXMsXG5bcm9sZT1ncm91cF0gPiAqOmZvY3VzLFxuW3JvbGU9Z3JvdXBdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6Zm9jdXMsXG5bcm9sZT1ncm91cF0gc2VsZWN0OmZvY3VzIHtcbiAgei1pbmRleDogMjtcbn1cbltyb2xlPXNlYXJjaF0gYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1zdWJtaXRdOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1yZXNldF06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIFt0eXBlPWJ1dHRvbl06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIFtyb2xlPWJ1dHRvbl06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIHNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBidXR0b246bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gW3R5cGU9c3VibWl0XTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBbdHlwZT1yZXNldF06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gW3R5cGU9YnV0dG9uXTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBbcm9sZT1idXR0b25dOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcG9yY28tYm9yZGVyLXdpZHRoKSAqIC0xKTtcbn1cbltyb2xlPXNlYXJjaF0gYnV0dG9uLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1zdWJtaXRdLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1yZXNldF0sXG5bcm9sZT1zZWFyY2hdIFt0eXBlPWJ1dHRvbl0sXG5bcm9sZT1zZWFyY2hdIFtyb2xlPWJ1dHRvbl0sXG5bcm9sZT1ncm91cF0gYnV0dG9uLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPXN1Ym1pdF0sXG5bcm9sZT1ncm91cF0gW3R5cGU9cmVzZXRdLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPWJ1dHRvbl0sXG5bcm9sZT1ncm91cF0gW3JvbGU9YnV0dG9uXSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoKikpIHtcbiAgW3JvbGU9c2VhcmNoXTpoYXMoYnV0dG9uOmZvY3VzLCBbdHlwZT1zdWJtaXRdOmZvY3VzLCBbdHlwZT1idXR0b25dOmZvY3VzLCBbcm9sZT1idXR0b25dOmZvY3VzKSxcbiAgW3JvbGU9Z3JvdXBdOmhhcyhidXR0b246Zm9jdXMsIFt0eXBlPXN1Ym1pdF06Zm9jdXMsIFt0eXBlPWJ1dHRvbl06Zm9jdXMsIFtyb2xlPWJ1dHRvbl06Zm9jdXMpIHtcbiAgICAtLXBvcmNvLWdyb3VwLWJveC1zaGFkb3c6IHZhcigtLXBvcmNvLWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b24pO1xuICB9XG4gIFtyb2xlPXNlYXJjaF06aGFzKGJ1dHRvbjpmb2N1cywgW3R5cGU9c3VibWl0XTpmb2N1cywgW3R5cGU9YnV0dG9uXTpmb2N1cywgW3JvbGU9YnV0dG9uXTpmb2N1cykgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSxcbiAgW3JvbGU9c2VhcmNoXTpoYXMoYnV0dG9uOmZvY3VzLCBbdHlwZT1zdWJtaXRdOmZvY3VzLCBbdHlwZT1idXR0b25dOmZvY3VzLCBbcm9sZT1idXR0b25dOmZvY3VzKSBzZWxlY3QsXG4gIFtyb2xlPWdyb3VwXTpoYXMoYnV0dG9uOmZvY3VzLCBbdHlwZT1zdWJtaXRdOmZvY3VzLCBbdHlwZT1idXR0b25dOmZvY3VzLCBbcm9sZT1idXR0b25dOmZvY3VzKSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pLFxuICBbcm9sZT1ncm91cF06aGFzKGJ1dHRvbjpmb2N1cywgW3R5cGU9c3VibWl0XTpmb2N1cywgW3R5cGU9YnV0dG9uXTpmb2N1cywgW3JvbGU9YnV0dG9uXTpmb2N1cykgc2VsZWN0IHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIFtyb2xlPXNlYXJjaF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSxcbiAgW3JvbGU9Z3JvdXBdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykge1xuICAgIC0tcG9yY28tZ3JvdXAtYm94LXNoYWRvdzogdmFyKC0tcG9yY28tZ3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWlucHV0KTtcbiAgfVxuICBbcm9sZT1zZWFyY2hdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgYnV0dG9uLFxuICBbcm9sZT1zZWFyY2hdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgW3R5cGU9c3VibWl0XSxcbiAgW3JvbGU9c2VhcmNoXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIFt0eXBlPWJ1dHRvbl0sXG4gIFtyb2xlPXNlYXJjaF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSBbcm9sZT1idXR0b25dLFxuICBbcm9sZT1ncm91cF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSBidXR0b24sXG4gIFtyb2xlPWdyb3VwXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIFt0eXBlPXN1Ym1pdF0sXG4gIFtyb2xlPWdyb3VwXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIFt0eXBlPWJ1dHRvbl0sXG4gIFtyb2xlPWdyb3VwXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIFtyb2xlPWJ1dHRvbl0ge1xuICAgIC0tcG9yY28tYnV0dG9uLWJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBvcmNvLWJvcmRlci13aWR0aCkgdmFyKC0tcG9yY28tcHJpbWFyeS1ib3JkZXIpO1xuICAgIC0tcG9yY28tYnV0dG9uLWhvdmVyLWJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBvcmNvLWJvcmRlci13aWR0aCkgdmFyKC0tcG9yY28tcHJpbWFyeS1ob3Zlci1ib3JkZXIpO1xuICB9XG4gIFtyb2xlPXNlYXJjaF0gYnV0dG9uOmZvY3VzLFxuICBbcm9sZT1zZWFyY2hdIFt0eXBlPXN1Ym1pdF06Zm9jdXMsXG4gIFtyb2xlPXNlYXJjaF0gW3R5cGU9cmVzZXRdOmZvY3VzLFxuICBbcm9sZT1zZWFyY2hdIFt0eXBlPWJ1dHRvbl06Zm9jdXMsXG4gIFtyb2xlPXNlYXJjaF0gW3JvbGU9YnV0dG9uXTpmb2N1cyxcbiAgW3JvbGU9Z3JvdXBdIGJ1dHRvbjpmb2N1cyxcbiAgW3JvbGU9Z3JvdXBdIFt0eXBlPXN1Ym1pdF06Zm9jdXMsXG4gIFtyb2xlPWdyb3VwXSBbdHlwZT1yZXNldF06Zm9jdXMsXG4gIFtyb2xlPWdyb3VwXSBbdHlwZT1idXR0b25dOmZvY3VzLFxuICBbcm9sZT1ncm91cF0gW3JvbGU9YnV0dG9uXTpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5bcm9sZT1zZWFyY2hdID4gKjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVyZW07XG59XG5bcm9sZT1zZWFyY2hdID4gKjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cmVtO1xufVxuXG4vKipcbiAqIExvYWRpbmcgKFthcmlhLWJ1c3k9dHJ1ZV0pXG4gKi9cblthcmlhLWJ1c3k9dHJ1ZV06bm90KGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBodG1sLCBmb3JtKSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5bYXJpYS1idXN5PXRydWVdOm5vdChpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgaHRtbCwgZm9ybSk6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBvcmNvLWljb24tbG9hZGluZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMWVtIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTtcbn1cblthcmlhLWJ1c3k9dHJ1ZV06bm90KGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBodG1sLCBmb3JtKTpub3QoOmVtcHR5KTo6YmVmb3JlIHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGModmFyKC0tcG9yY28tc3BhY2luZykgKiAwLjUpO1xufVxuW2FyaWEtYnVzeT10cnVlXTpub3QoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGh0bWwsIGZvcm0pOmVtcHR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5idXR0b25bYXJpYS1idXN5PXRydWVdLFxuW3R5cGU9c3VibWl0XVthcmlhLWJ1c3k9dHJ1ZV0sXG5bdHlwZT1idXR0b25dW2FyaWEtYnVzeT10cnVlXSxcblt0eXBlPXJlc2V0XVthcmlhLWJ1c3k9dHJ1ZV0sXG5bcm9sZT1idXR0b25dW2FyaWEtYnVzeT10cnVlXSxcbmFbYXJpYS1idXN5PXRydWVdIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qKlxuICogTW9kYWwgKDxkaWFsb2c+KVxuICovXG46cm9vdCxcbjpob3N0IHtcbiAgLS1wb3Jjby1zY3JvbGxiYXItd2lkdGg6IDBweDtcbn1cblxuZGlhbG9nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgei1pbmRleDogOTk5O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZHJvcC1maWx0ZXI6IHZhcigtLXBvcmNvLW1vZGFsLW92ZXJsYXktYmFja2Ryb3AtZmlsdGVyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tbW9kYWwtb3ZlcmxheS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBvcmNvLWNvbG9yKTtcbn1cbmRpYWxvZyA+IGFydGljbGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLXBvcmNvLXNwYWNpbmcpICogMik7XG4gIG1hcmdpbjogdmFyKC0tcG9yY28tc3BhY2luZyk7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIGRpYWxvZyA+IGFydGljbGUge1xuICAgIG1heC13aWR0aDogNTEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBkaWFsb2cgPiBhcnRpY2xlIHtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICB9XG59XG5kaWFsb2cgPiBhcnRpY2xlID4gaGVhZGVyID4gKiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5kaWFsb2cgPiBhcnRpY2xlID4gaGVhZGVyIC5jbG9zZSwgZGlhbG9nID4gYXJ0aWNsZSA+IGhlYWRlciA6aXMoYSwgYnV0dG9uKVtyZWw9cHJldl0ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1wb3Jjby1zcGFjaW5nKTtcbiAgcGFkZGluZzogMDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuZGlhbG9nID4gYXJ0aWNsZSA+IGZvb3RlciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuZGlhbG9nID4gYXJ0aWNsZSA+IGZvb3RlciBidXR0b24sXG5kaWFsb2cgPiBhcnRpY2xlID4gZm9vdGVyIFtyb2xlPWJ1dHRvbl0ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuZGlhbG9nID4gYXJ0aWNsZSA+IGZvb3RlciBidXR0b246bm90KDpmaXJzdC1vZi10eXBlKSxcbmRpYWxvZyA+IGFydGljbGUgPiBmb290ZXIgW3JvbGU9YnV0dG9uXTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcG9yY28tc3BhY2luZykgKiAwLjUpO1xufVxuZGlhbG9nID4gYXJ0aWNsZSAuY2xvc2UsIGRpYWxvZyA+IGFydGljbGUgOmlzKGEsIGJ1dHRvbilbcmVsPXByZXZdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcG9yY28tc3BhY2luZykgKiAtMSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBvcmNvLXNwYWNpbmcpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1wb3Jjby1pY29uLWNsb3NlKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMXJlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1wb3Jjby10cmFuc2l0aW9uKTtcbn1cbmRpYWxvZyA+IGFydGljbGUgLmNsb3NlOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSwgZGlhbG9nID4gYXJ0aWNsZSA6aXMoYSwgYnV0dG9uKVtyZWw9cHJldl06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgb3BhY2l0eTogMTtcbn1cbmRpYWxvZzpub3QoW29wZW5dKSwgZGlhbG9nW29wZW49ZmFsc2VdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1vZGFsLWlzLW9wZW4ge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wb3Jjby1zY3JvbGxiYXItd2lkdGgsIDBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG4ubW9kYWwtaXMtb3BlbiBkaWFsb2cge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdG91Y2gtYWN0aW9uOiBhdXRvO1xufVxuXG46d2hlcmUoLm1vZGFsLWlzLW9wZW5pbmcsIC5tb2RhbC1pcy1jbG9zaW5nKSBkaWFsb2csXG46d2hlcmUoLm1vZGFsLWlzLW9wZW5pbmcsIC5tb2RhbC1pcy1jbG9zaW5nKSBkaWFsb2cgPiBhcnRpY2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cbjp3aGVyZSgubW9kYWwtaXMtb3BlbmluZywgLm1vZGFsLWlzLWNsb3NpbmcpIGRpYWxvZyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC44cztcbiAgYW5pbWF0aW9uLW5hbWU6IG1vZGFsLW92ZXJsYXk7XG59XG46d2hlcmUoLm1vZGFsLWlzLW9wZW5pbmcsIC5tb2RhbC1pcy1jbG9zaW5nKSBkaWFsb2cgPiBhcnRpY2xlIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjJzO1xuICBhbmltYXRpb24tbmFtZTogbW9kYWw7XG59XG5cbi5tb2RhbC1pcy1jbG9zaW5nIGRpYWxvZyxcbi5tb2RhbC1pcy1jbG9zaW5nIGRpYWxvZyA+IGFydGljbGUge1xuICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xufVxuXG5Aa2V5ZnJhbWVzIG1vZGFsLW92ZXJsYXkge1xuICBmcm9tIHtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbW9kYWwge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi8qKlxuICogTmF2XG4gKi9cbjp3aGVyZShuYXYgbGkpOjpiZWZvcmUge1xuICBmbG9hdDogbGVmdDtcbiAgY29udGVudDogXCLigItcIjtcbn1cblxubmF2LFxubmF2IHVsIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxubmF2IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbm5hdiBvbCxcbm5hdiB1bCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5uYXYgb2w6Zmlyc3Qtb2YtdHlwZSxcbm5hdiB1bDpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcG9yY28tbmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbn1cbm5hdiBvbDpsYXN0LW9mLXR5cGUsXG5uYXYgdWw6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXBvcmNvLW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG59XG5uYXYgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogdmFyKC0tcG9yY28tbmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcG9yY28tbmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cbm5hdiBsaSA6d2hlcmUoYSwgW3JvbGU9bGlua10pIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IGNhbGModmFyKC0tcG9yY28tbmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSkgY2FsYyh2YXIoLS1wb3Jjby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICBwYWRkaW5nOiB2YXIoLS1wb3Jjby1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSB2YXIoLS1wb3Jjby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1wb3Jjby1ib3JkZXItcmFkaXVzKTtcbn1cbm5hdiBsaSA6d2hlcmUoYSwgW3JvbGU9bGlua10pOm5vdCg6aG92ZXIpIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxubmF2IGxpIGJ1dHRvbixcbm5hdiBsaSBbcm9sZT1idXR0b25dLFxubmF2IGxpIFt0eXBlPWJ1dHRvbl0sXG5uYXYgbGkgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKSxcbm5hdiBsaSBzZWxlY3Qge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogaW5oZXJpdDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcG9yY28tbmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgLSB2YXIoLS1wb3Jjby1ib3JkZXItd2lkdGgpICogMikgdmFyKC0tcG9yY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cbm5hdlthcmlhLWxhYmVsPWJyZWFkY3J1bWJdIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbn1cbm5hdlthcmlhLWxhYmVsPWJyZWFkY3J1bWJdIHVsIGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tcG9yY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cbm5hdlthcmlhLWxhYmVsPWJyZWFkY3J1bWJdIHVsIGxpIGEge1xuICBtYXJnaW46IGNhbGModmFyKC0tcG9yY28tbmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSkgMDtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1wb3Jjby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xufVxubmF2W2FyaWEtbGFiZWw9YnJlYWRjcnVtYl0gdWwgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGNhbGModmFyKC0tcG9yY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKSAqIDQpO1xuICBtYXJnaW46IDAgY2FsYyh2YXIoLS1wb3Jjby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICBjb250ZW50OiB2YXIoLS1wb3Jjby1uYXYtYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgY29sb3I6IHZhcigtLXBvcmNvLW11dGVkLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5uYXZbYXJpYS1sYWJlbD1icmVhZGNydW1iXSBhW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuYXNpZGUgbmF2LFxuYXNpZGUgb2wsXG5hc2lkZSB1bCxcbmFzaWRlIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5hc2lkZSBsaSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcG9yY28tbmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpIHZhcigtLXBvcmNvLW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG59XG5hc2lkZSBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5hc2lkZSBsaSBbcm9sZT1idXR0b25dIHtcbiAgbWFyZ2luOiBpbmhlcml0O1xufVxuXG5bZGlyPXJ0bF0gbmF2W2FyaWEtbGFiZWw9YnJlYWRjcnVtYl0gdWwgbGk6bm90KDpsYXN0LWNoaWxkKSA6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXFxcXCI7XG59XG5cbi8qKlxuICogUHJvZ3Jlc3NcbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxucHJvZ3Jlc3Mge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcG9yY28tc3BhY2luZykgKiAwLjUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBvcmNvLWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3Jjby1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBvcmNvLXByb2dyZXNzLWNvbG9yKTtcbn1cbnByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBvcmNvLWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxucHJvZ3Jlc3NbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9yY28tcHJvZ3Jlc3MtY29sb3IpO1xuICB0cmFuc2l0aW9uOiBpbmxpbmUtc2l6ZSB2YXIoLS1wb3Jjby10cmFuc2l0aW9uKTtcbn1cbnByb2dyZXNzOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBvcmNvLXByb2dyZXNzLWNvbG9yKTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICBwcm9ncmVzczppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wb3Jjby1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yKSBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLXBvcmNvLXByb2dyZXNzLWNvbG9yKSAzMCUsIHZhcigtLXBvcmNvLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3IpIDMwJSkgdG9wIGxlZnQvMTUwJSAxNTAlIG5vLXJlcGVhdDtcbiAgICBhbmltYXRpb246IHByb2dyZXNzLWluZGV0ZXJtaW5hdGUgMXMgbGluZWFyIGluZmluaXRlO1xuICB9XG4gIHByb2dyZXNzOmluZGV0ZXJtaW5hdGVbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBwcm9ncmVzczppbmRldGVybWluYXRlOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIFtkaXI9cnRsXSBwcm9ncmVzczppbmRldGVybWluYXRlIHtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtaW5kZXRlcm1pbmF0ZSB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMCUgMDtcbiAgfVxufVxuLyoqXG4gKiBUb29sdGlwIChbZGF0YS10b29sdGlwXSlcbiAqL1xuW2RhdGEtdG9vbHRpcF0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5bZGF0YS10b29sdGlwXTpub3QoYSwgYnV0dG9uLCBpbnB1dCwgW3JvbGU9YnV0dG9uXSkge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogaGVscDtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtcGxhY2VtZW50PXRvcF06OmJlZm9yZSwgW2RhdGEtdG9vbHRpcF1bZGF0YS1wbGFjZW1lbnQ9dG9wXTo6YWZ0ZXIsIFtkYXRhLXRvb2x0aXBdOjpiZWZvcmUsIFtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiA5OTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0wLjI1cmVtKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcG9yY28tYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBvcmNvLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS10b29sdGlwKTtcbiAgY29sb3I6IHZhcigtLXBvcmNvLXRvb2x0aXAtY29sb3IpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wb3Jjby1mb250LXdlaWdodCk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wbGFjZW1lbnQ9dG9wXTo6YWZ0ZXIsIFtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDByZW0pO1xuICBib3JkZXItdG9wOiAwLjNyZW0gc29saWQ7XG4gIGJvcmRlci1yaWdodDogMC4zcmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMC4zcmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29udGVudDogXCJcIjtcbiAgY29sb3I6IHZhcigtLXBvcmNvLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcik7XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXBsYWNlbWVudD1ib3R0b21dOjpiZWZvcmUsIFtkYXRhLXRvb2x0aXBdW2RhdGEtcGxhY2VtZW50PWJvdHRvbV06OmFmdGVyIHtcbiAgdG9wOiAxMDAlO1xuICBib3R0b206IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAuMjVyZW0pO1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wbGFjZW1lbnQ9Ym90dG9tXTphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0wLjNyZW0pO1xuICBib3JkZXI6IDAuM3JlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zcmVtIHNvbGlkO1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wbGFjZW1lbnQ9bGVmdF06OmJlZm9yZSwgW2RhdGEtdG9vbHRpcF1bZGF0YS1wbGFjZW1lbnQ9bGVmdF06OmFmdGVyIHtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxMDAlO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0wLjI1cmVtLCAtNTAlKTtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtcGxhY2VtZW50PWxlZnRdOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC4zcmVtLCAtNTAlKTtcbiAgYm9yZGVyOiAwLjNyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwLjNyZW0gc29saWQ7XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXBsYWNlbWVudD1yaWdodF06OmJlZm9yZSwgW2RhdGEtdG9vbHRpcF1bZGF0YS1wbGFjZW1lbnQ9cmlnaHRdOjphZnRlciB7XG4gIHRvcDogNTAlO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjI1cmVtLCAtNTAlKTtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtcGxhY2VtZW50PXJpZ2h0XTphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0wLjNyZW0sIC01MCUpO1xuICBib3JkZXI6IDAuM3JlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwLjNyZW0gc29saWQ7XG59XG5bZGF0YS10b29sdGlwXTpmb2N1czo6YmVmb3JlLCBbZGF0YS10b29sdGlwXTpmb2N1czo6YWZ0ZXIsIFtkYXRhLXRvb2x0aXBdOmhvdmVyOjpiZWZvcmUsIFtkYXRhLXRvb2x0aXBdOmhvdmVyOjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIFtkYXRhLXRvb2x0aXBdOmZvY3VzOjpiZWZvcmUsIFtkYXRhLXRvb2x0aXBdOmZvY3VzOjphZnRlciwgW2RhdGEtdG9vbHRpcF06aG92ZXI6OmJlZm9yZSwgW2RhdGEtdG9vbHRpcF06aG92ZXI6OmFmdGVyIHtcbiAgICAtLXBvcmNvLXRvb2x0aXAtc2xpZGUtdG86IHRyYW5zbGF0ZSgtNTAlLCAtMC4yNXJlbSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMC43NXJlbSk7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB0b29sdGlwLXNsaWRlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgW2RhdGEtdG9vbHRpcF06Zm9jdXM6OmFmdGVyLCBbZGF0YS10b29sdGlwXTpob3Zlcjo6YWZ0ZXIge1xuICAgIC0tcG9yY28tdG9vbHRpcC1jYXJldC1zbGlkZS10bzogdHJhbnNsYXRlKC01MCUsIDByZW0pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0wLjI1cmVtKTtcbiAgICBhbmltYXRpb24tbmFtZTogdG9vbHRpcC1jYXJldC1zbGlkZTtcbiAgfVxuICBbZGF0YS10b29sdGlwXVtkYXRhLXBsYWNlbWVudD1ib3R0b21dOmZvY3VzOjpiZWZvcmUsIFtkYXRhLXRvb2x0aXBdW2RhdGEtcGxhY2VtZW50PWJvdHRvbV06Zm9jdXM6OmFmdGVyLCBbZGF0YS10b29sdGlwXVtkYXRhLXBsYWNlbWVudD1ib3R0b21dOmhvdmVyOjpiZWZvcmUsIFtkYXRhLXRvb2x0aXBdW2RhdGEtcGxhY2VtZW50PWJvdHRvbV06aG92ZXI6OmFmdGVyIHtcbiAgICAtLXBvcmNvLXRvb2x0aXAtc2xpZGUtdG86IHRyYW5zbGF0ZSgtNTAlLCAwLjI1cmVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMC43NXJlbSk7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHRvb2x0aXAtc2xpZGU7XG4gIH1cbiAgW2RhdGEtdG9vbHRpcF1bZGF0YS1wbGFjZW1lbnQ9Ym90dG9tXTpmb2N1czo6YWZ0ZXIsIFtkYXRhLXRvb2x0aXBdW2RhdGEtcGxhY2VtZW50PWJvdHRvbV06aG92ZXI6OmFmdGVyIHtcbiAgICAtLXBvcmNvLXRvb2x0aXAtY2FyZXQtc2xpZGUtdG86IHRyYW5zbGF0ZSgtNTAlLCAtMC4zcmVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMC41cmVtKTtcbiAgICBhbmltYXRpb24tbmFtZTogdG9vbHRpcC1jYXJldC1zbGlkZTtcbiAgfVxuICBbZGF0YS10b29sdGlwXVtkYXRhLXBsYWNlbWVudD1sZWZ0XTpmb2N1czo6YmVmb3JlLCBbZGF0YS10b29sdGlwXVtkYXRhLXBsYWNlbWVudD1sZWZ0XTpmb2N1czo6YWZ0ZXIsIFtkYXRhLXRvb2x0aXBdW2RhdGEtcGxhY2VtZW50PWxlZnRdOmhvdmVyOjpiZWZvcmUsIFtkYXRhLXRvb2x0aXBdW2RhdGEtcGxhY2VtZW50PWxlZnRdOmhvdmVyOjphZnRlciB7XG4gICAgLS1wb3Jjby10b29sdGlwLXNsaWRlLXRvOiB0cmFuc2xhdGUoLTAuMjVyZW0sIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAuNzVyZW0sIC01MCUpO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB0b29sdGlwLXNsaWRlO1xuICB9XG4gIFtkYXRhLXRvb2x0aXBdW2RhdGEtcGxhY2VtZW50PWxlZnRdOmZvY3VzOjphZnRlciwgW2RhdGEtdG9vbHRpcF1bZGF0YS1wbGFjZW1lbnQ9bGVmdF06aG92ZXI6OmFmdGVyIHtcbiAgICAtLXBvcmNvLXRvb2x0aXAtY2FyZXQtc2xpZGUtdG86IHRyYW5zbGF0ZSgwLjNyZW0sIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAuMDVyZW0sIC01MCUpO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB0b29sdGlwLWNhcmV0LXNsaWRlO1xuICB9XG4gIFtkYXRhLXRvb2x0aXBdW2RhdGEtcGxhY2VtZW50PXJpZ2h0XTpmb2N1czo6YmVmb3JlLCBbZGF0YS10b29sdGlwXVtkYXRhLXBsYWNlbWVudD1yaWdodF06Zm9jdXM6OmFmdGVyLCBbZGF0YS10b29sdGlwXVtkYXRhLXBsYWNlbWVudD1yaWdodF06aG92ZXI6OmJlZm9yZSwgW2RhdGEtdG9vbHRpcF1bZGF0YS1wbGFjZW1lbnQ9cmlnaHRdOmhvdmVyOjphZnRlciB7XG4gICAgLS1wb3Jjby10b29sdGlwLXNsaWRlLXRvOiB0cmFuc2xhdGUoMC4yNXJlbSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTAuNzVyZW0sIC01MCUpO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB0b29sdGlwLXNsaWRlO1xuICB9XG4gIFtkYXRhLXRvb2x0aXBdW2RhdGEtcGxhY2VtZW50PXJpZ2h0XTpmb2N1czo6YWZ0ZXIsIFtkYXRhLXRvb2x0aXBdW2RhdGEtcGxhY2VtZW50PXJpZ2h0XTpob3Zlcjo6YWZ0ZXIge1xuICAgIC0tcG9yY28tdG9vbHRpcC1jYXJldC1zbGlkZS10bzogdHJhbnNsYXRlKC0wLjNyZW0sIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0wLjA1cmVtLCAtNTAlKTtcbiAgICBhbmltYXRpb24tbmFtZTogdG9vbHRpcC1jYXJldC1zbGlkZTtcbiAgfVxufVxuQGtleWZyYW1lcyB0b29sdGlwLXNsaWRlIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdmFyKC0tcG9yY28tdG9vbHRpcC1zbGlkZS10byk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyB0b29sdGlwLWNhcmV0LXNsaWRlIHtcbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHZhcigtLXBvcmNvLXRvb2x0aXAtY2FyZXQtc2xpZGUtdG8pO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLyoqXG4gKiBBY2Nlc3NpYmlsaXR5ICYgVXNlciBpbnRlcmFjdGlvblxuICovXG5bYXJpYS1jb250cm9sc10ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblthcmlhLWRpc2FibGVkPXRydWVdLFxuW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cblthcmlhLWhpZGRlbj1mYWxzZV1baGlkZGVuXSB7XG4gIGRpc3BsYXk6IGluaXRpYWw7XG59XG5cblthcmlhLWhpZGRlbj1mYWxzZV1baGlkZGVuXTpub3QoOmZvY3VzKSB7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuYSxcbmFyZWEsXG5idXR0b24sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhLFxuW3RhYmluZGV4XSB7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuW2Rpcj1ydGxdIHtcbiAgZGlyZWN0aW9uOiBydGw7XG59XG5cbi8qKlxuICogUmVkdWNlIE1vdGlvbiBGZWF0dXJlc1xuICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAqOm5vdChbYXJpYS1idXN5PXRydWVdKSxcbiAgOm5vdChbYXJpYS1idXN5PXRydWVdKTo6YmVmb3JlLFxuICA6bm90KFthcmlhLWJ1c3k9dHJ1ZV0pOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0xbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHMgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcyAhaW1wb3J0YW50O1xuICB9XG59XG4iXX0= */