:root {
    --bg-color: #fff9e8;
    --fg-color: #000;
    --link-color: #334c92;
    --link-hover-color: #b75600;

    --text-hierarchy-base: 1.2em;
    --text-hierarchy-small: 1em;
    --text-hierarchy-page-header: 3em;
    --text-hierarchy-1: 2em;
    --text-hierarchy-2: 1.8em;
    --text-hierarchy-3: 1.4em;   

    /* @media (prefers-color-scheme: dark) {
        --bg-color: #111;
        --fg-color: #fff9e8;
        --link-color: #d09400;
    } */

    /* huhh the bold variant of Palatino has proportions i really don't like, i wish there were something like font-synthesis: force; - oh well, let's just load the webfonts without it for consistent layout */

    --league-font: /*"Palatino Linotype", "Palatino", "URW Palladio L",*/ "Domitian Roman", serif;
    --league-font-bold-italic: /*"Palatino Linotype", "Palatino", "URW Palladio L",*/ "Domitian Bold Italic", serif;
    --system-fonts: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Body and Layout */

body {
    font-family: var(--league-font);
    color: var(--fg-color);
    background-color: var(--bg-color);
}

@media (min-width: 900px) {

body {
        max-width: 900px;
        margin: 0 auto;
}
    }

.wl-nav {
    height: 80px;
}

@media (min-width: 900px) {

.wl-nav {
        
        margin: 0 auto;
}
    }

.wl-nav {

    display: flex;
    align-items: center;
}

@media (max-width: 900px) {

.wl-nav {
        /* flex-direction: column; */
}
    }

.wl-nav ul {
        list-style: none;
        display: flex;
        margin: 0;
        margin-left: auto;
    }

@media (max-width:900px) {

.wl-nav ul {
            margin-left: 0;
            padding: 0;
            flex-direction: column;
            border-bottom: 1px var(--fg-color) solid;
            padding-bottom: 20px;
    }
        }

.wl-nav li a {
        padding: 15px;
        display: block;
        font-weight: bold;
    }

.wl-nav .button {
        margin-left: 15px;
    }

.wl-nav img {
        max-height: 60px;
        padding: 20px 0 20px 0;
    }

.wl-nav img a {
        margin: 0;
        padding: 0;
    }

.wl-nav h1 a,.wl-nav .home-link {
        color: var(--fg-color);
        text-decoration: none;
    }

.wl-nav .home-link {
        font-weight: bold;
    }

@media (max-width: 900px) {
        .wl-nav li {
            text-align: center;
        }

            :is(.wl-nav li) a {
                padding: 10px;
            }

            :is(.wl-nav li) a.button {
                margin-top: 10px;
                padding: 15px;
            }

        .wl-nav .button {
            margin-left: 0;
        }
    }

.menu-item.active a {
        text-decoration: none;
        color: var(--fg-color);
    }

.wl-page {
    margin: 0 auto;
}

@media (max-width: 900px) {

.wl-nav, .wl-page {
        margin: 0px 20px 20px 20px;
}
    }

.menu-button-icon {
    font-family: var(--system-fonts);
    font-style: normal;
}

@media (max-width: 900px) {

.responsive-menu, ul.responsive-menu {
        display: none;
        background-color: var(--bg-color);
        position: absolute;
        z-index: 100;
        top: 90px;
        left: 0;
        width: 100%;
}
    }

.responsive-menu-button-container {
    display: none;
    margin-left: auto;
}

@media (max-width: 900px) {

.responsive-menu-button-container {
        display: block;
}
    }

.responsive-menu-label {
    user-select: none;
}

.responsive-menu-button {
    display: none;

}

.wl-nav:has(#menu-button:checked) .responsive-menu {
    display: block;
}

/* Elements and General Components */

@media (max-width: 900px) {

.responsive-hide {
        display: none;
}
    }

@media (min-width: 900px) {

.responsive-hide-desktop {
        display: none;
}
    }

.big-logo {
    max-width: 900px;
    margin: 20px 0 0 0;
}

.big-header {
    text-align: center;
    font-size: var(--text-hierarchy-page-header);
    height: var(--text-hierarchy-page-header);
}

.big-header h1 {
        margin: 0.3em 0 0.5em 0;
    }

@media (max-width: 900px) {

.big-header {
        font-size: 1.2em;
}
    }

.biggest-header {
    font-size: 6em;
    line-height: 1.6em;
    height: 4em;
}

@media (max-width: 900px) {

.biggest-header {
        font-size: 2.5em;
}
    }

.logo-small {
    height: 90px;
    margin-top: 10px;
    line-height: 1.2em;
}

.logo-small-offset {
  position: relative;
  margin-left: 0.8em;
}

a.home-link {
  display: flex;
  align-items: center;
}

a.home-link h1 {
        margin-right: 10px;
    }

a:link, a:visited {
    color: var(--link-color);
}

/* a[href^='http']::after {
    content: " " url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=);
} */

.button, a.button:link, a.button:visited, a.button:hover {
    background-color: #334c92;
    color: #fff;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    box-shadow: 2px 2px 5px #bbb;
    display: inline-block;

    /* @media (prefers-color-scheme: dark) {
        box-shadow: none;
    } */
}

.wl-page > a.button, .wl-page p a.button {
    margin-left: 0;
}

.wl-page .button {
    margin: 10px;
    padding: 15px;
}

a:hover {
    color: var(--link-hover-color)
}

.in-page-menu {
    list-style: none;
    display: flex;
    justify-content: space-around;
    padding: 0;
    font-weight: bold;
}

.in-page-menu li {
        padding: 10px;
        padding-top: 0;
        margin-bottom: 20px;
        text-align: center;
    }

.in-page-menu a {
        /* text-decoration: none; */
    }

.in-page-menu .active {
        /* border-bottom: 1px var(--fg-color) solid; */
    }

.library-menu {
    display: flex;
    justify-content: space-between;
    border: 2px var(--fg-color) solid;
    border-radius: 10px;
    padding: 0 20px 20px 20px;
    margin-bottom: 30px;
}

.library-menu h1 {
        font-size: var(--text-hierarchy-base);
        font-family: var(--league-font);
        font-style: normal;
    }

.library-menu ul {
        padding-left: 1em;
        margin-top: 0;
    }

.library-menu li.active a {
        color: var(--fg-color);
        text-decoration: none;
        font-weight: bold;
    }

.library-menu .library-menu-section {
        padding-right: 100px;
    }

/* .library-menu-section {
        flex-grow: 1;
        border-right: 1px var(--fg-color) solid;
    }

    .library-menu-section:last-child {
        padding: 0;
        padding-left: 50px;
        border-right: none;
    } */

@media (min-width: 900px) {

p, summary, .wl-page li {
        font-size: var(--text-hierarchy-base);
        line-height: 1.4em;
}
    }

@media (max-width: 900px) {

p, summary, .wl-page li {
        font-size: 1em;
        line-height: 1.6em;
}
    }

@media (max-width: 900px) {

p {
        text-align: justify;
}
    }

h1, h2, h3, h4, h5 {
    font-family: var(--league-font-bold-italic);
    font-weight: bold;
    font-style: italic;
}

h1 {
    font-size: var(--text-hierarchy-1);
    margin-top: 20px;
}

.wl-page > h1 {
    text-align: center;
}

h2 {
    font-size: var(--text-hierarchy-2);
}

@media (max-width: 900px) {

h2 {
        font-size: 1.4em;
}
    }

h3 {
    font-size: var(--text-hierarchy-3);
}

.wl-page > ul {
    margin-top: 0;
}

.big-header + h1 {
    margin-top: 0;
    margin-bottom: 30px;
}

details {
    margin-bottom: 10px;
}

summary b {
    color: var(--link-color);
    text-decoration: underline;
    cursor: pointer;
}

.help-balloon {
    border: 2px var(--fg-color) solid;
    border-radius: 10px;
    padding: 0px 20px 0px 20px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.help-balloon .icon-style {
        float: left;
    }

.help-balloon ul {
        margin-left: 5px;
    }

.wl-page .help-balloon li, .wl-page .help-balloon li p {
    font-size: var(--text-hierarchy-small);
}

.wl-newsletter {
    padding: 20px;
    border: 2px var(--fg-color) solid;
    border-radius: 10px;
    max-width: 300px;
}

.wl-newsletter form {
        margin-top: 10px;
    }

.home-layout-container {
    display: flex;
    flex-direction: column;

    
}

.home-layout {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
}

@media (max-width: 900px) {

.home-layout {
        flex-direction: column;
}
    }

.home-layout .home-layout-item-container {
        padding: 10px;
        
        display: flex;
        flex-direction: column;
    }

@media (max-width: 900px) {

.home-layout .home-layout-item-container {
            align-items: stretch;
    }
        }

.home-layout h3 {
        margin-bottom: 0;
    }

.home-layout .home-layout-item {
        text-align: center;
    }

.home-layout .home-layout-item.with-image {
        align-self: center;
    }

.home-layout img {
        width: 250px;
        height: 250px;
    }

@media (max-width: 900px) {

.home-layout img {
            width: 200px;
            height: 200px;
    }
        }

article.document h1 {
        font-size: var(--text-hierarchy-1);
    }

article.document h2 {
        font-size: var(--text-hierarchy-2);
    }

article.document h3 {
        font-size: var(--text-hierarchy-3);
    }

article.document h4,article.document h5,article.document h6 {
        font-size: var(--text-hierarchy-base);
    }

.align-center {
    align-self: center;
}

/* Dithered Logotype */

.logo-style {
    text-shadow: -0.15em 0.15em #c2c2c2, -0.30em 0.30em #f2f2f2;
    /* text-shadow: -0.15em 0.15em #b5b5b5, -0.30em 0.30em #c7c7c7; */
    /* -0.01em 0.01em #fff, 0.01em -0.01em #fff, */
    -webkit-text-stroke: 0.01em #fff;

    /* @media (prefers-color-scheme: dark) {
        text-shadow: -0.15em 0.15em #f2f2f2, -0.30em 0.30em #fafafa;
    } */
}

/* from https://web.archive.org/web/20240921091520/https://cohost.org/fhqwhgads/post/199903-css-dither-cat */

.dither-outer {
    background: url("data:image/webp;base64,UklGRjAAAABXRUJQVlA4TCQAAAAvA8AAAIVS27ahb3uzOUmSJoqqrOq6P47of8DQdcprYdP8/VY=");
    filter: contrast(2000);
    /* image-rendering: crisp-edges; */
    image-rendering: pixelated;
    mix-blend-mode: darken;
    height: inherit;

    /* @media (prefers-color-scheme: dark) {
        filter: invert() contrast(2000);
        mix-blend-mode: lighten;
        h1 { color: #000; }
    } */
}

.dither-inner {
    mix-blend-mode: soft-light;
    background: #fff;
    isolation: isolate;
    height: inherit;
}

.wl-footer {
    margin-top: 100px;
    margin-bottom: 20px;
    text-align: center;
}

/* Node Chooser */

.chooser-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-right: 10px;
}

.chooser-container:has(#chooser-expand:checked) .chooser {
    height: unset;
}

:is(.chooser-container:has(#chooser-expand:checked) .chooser) .chooser-username,:is(.chooser-container:has(#chooser-expand:checked) .chooser) .chooser-at,:is(.chooser-container:has(#chooser-expand:checked) .chooser) .instances-help {
        display: none;
    }

:is(.chooser-container:has(#chooser-expand:checked) .chooser) .chooser-instances {
        border: none;
        margin-left: 0px;
        width: unset;
    }

:is(.chooser-container:has(#chooser-expand:checked) .chooser) .instances-list {
        padding-bottom: 40px;
    }

:is(.chooser-container:has(#chooser-expand:checked) .chooser) .instances-list .instance:last-child {
        min-height: unset;
    }

.chooser {
    display: flex;
    /* justify-content: baseline; */
    border: 2px var(--fg-color) solid;
    border-radius: 10px;

    word-wrap: anywhere;
}

@media (min-width: 900px) {

.chooser {
        /* flex-direction: row; */
        height: 800px;
        padding: 0 0 0 10px;
}
    }

@media (max-width: 900px) {

.chooser {
        /* height: 600px; */
        flex-direction: column;
}

        .chooser h1 {
            font-size: 1.4em;
        }

        .chooser .instance-info {
            font-size: 0.8em;
        }
    }

.chooser .table-legend {
        font-weight: bold;
    }

@media (min-width: 900px) {

.chooser .table-legend {
            min-width: 120px;
    }
        }

@media (max-width: 900px) {

.chooser .table-legend {
            min-width: 100px;
    }
        }

@media (min-width: 900px) {

.chooser .chooser-username,.chooser .chooser-at {
            padding-bottom: 5px;
            margin-top: 70px;
            height: 40px;
        
    }
        }

@media (max-width: 900px) {

.chooser .chooser-username,.chooser .chooser-at {
            padding: 5px;
            margin: 0;
        
    }
        }

@media (min-width: 900px) {

.chooser .chooser-username {
            margin-left: auto;
    }
        }

@media (max-width: 900px) {

.chooser .chooser-username {
            align-self: center;
    }
        }

.chooser .chooser-at {
        background-color: var(--bg-color);
        z-index: 1;
    }

@media (min-width: 900px) {

.chooser .chooser-at {
            align-self: baseline;
            margin-right: -0.5em;
    }
        }

@media (max-width: 900px) {

.chooser .chooser-at {
            margin-bottom: -0.5em;
            align-self: center;
    }
        }

@media (min-width: 900px) {

.chooser .chooser-instances {
            overflow-y: scroll;
            border-left: 2px var(--fg-color) solid;
            width: 75%;
    }

            :is(.chooser .chooser-instances) .instance-hostname {
                margin-left: -0.8em;
            }
        }

@media (max-width: 900px) {

.chooser .chooser-instances {
            border-top: 2px var(--fg-color) solid;
            overflow-x: hidden;
    }

            :is(.chooser .chooser-instances) .instance-hostname {
                margin-left: 0;
                text-align: center;
            }
        }

/* .instance-panel {
        display: flex;
        @media (min-width: 900px) {
            flex-direction: row;
            justify-content: space-between;
        }
        @media (max-width: 900px) {
            flex-direction: column;
            justify-content: space-between;
        }
    } */

@media (min-width: 900px) {

.chooser .instances-list {
            padding: 0px 40px 40px 40px;
    }
        }

@media (max-width: 900px) {

.chooser .instances-list {
            padding: 0px 20px 20px 20px;
    }
        }

/* TODO: figure out if it's possible to make this work even if the last-child has a really really long description. */

@media (min-width: 900px) {

.chooser .instances-list .instance:last-child {
            min-height: 690px;
    }
        }

:is(.chooser .instances-list .instance:last-child) .instance-actions .button {
            margin-bottom: 0;
        }

@media (max-width: 900px) {

.chooser .instance-actions {
            align-self: center;
    }
        }

:is(.chooser .instance-actions) .button {
            /* max-width: 600px; */
            max-height: 2em;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            margin-left: 0;
            margin-top: 20px;
            margin-bottom: 40px;
        }

@media (max-width: 900px) {

:is(.chooser .instance-actions) .button {
                max-width: 240px;
        }
            }

.chooser .instances-help {
        /* position: sticky;
        top: 0;
        left: 0;
        background-color: var(--bg-color);
        margin: 0;
        padding: 10px 0 10px 0;
        border-bottom: 2px var(--fg-color) solid; */
        text-align: center;
        margin-top: 30px;
        height: 20px;
    }

/* .instance-info {
       margin-right: 20px;
    } */

.chooser h1 {
        font-family: var(--system-fonts);
        font-style: normal;
    }
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2Fzc2V0cy9zdHlsZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtJQUNyQiwyQkFBMkI7O0lBRTNCLDRCQUE0QjtJQUM1QiwyQkFBMkI7SUFDM0IsaUNBQWlDO0lBQ2pDLHVCQUF1QjtJQUN2Qix5QkFBeUI7SUFDekIseUJBQXlCOztJQUV6Qjs7OztPQUlHOztJQUVILDRNQUE0TTs7SUFFNU0sNkZBQTZGO0lBQzdGLCtHQUErRztJQUMvRyx3RUFBd0U7QUFDNUU7O0FBRUEsb0JBQW9COztBQUVwQjtJQUNJLCtCQUErQjtJQUMvQixzQkFBc0I7SUFDdEIsaUNBQWlDO0FBTXJDOztBQUpJOztBQUxKO1FBTVEsZ0JBQWdCO1FBQ2hCLGNBQWM7QUFFdEI7SUFESTs7QUFHSjtJQUNJLFlBQVk7QUEyRWhCOztBQTFFSTs7QUFGSjs7UUFJUSxjQUFjO0FBd0V0QjtJQXZFSTs7QUFMSjs7SUFPSSxhQUFhO0lBQ2IsbUJBQW1CO0FBb0V2Qjs7QUFsRUk7O0FBVko7UUFXUSw0QkFBNEI7QUFpRXBDO0lBaEVJOztBQUVBO1FBQ0ksZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixTQUFTO1FBQ1QsaUJBQWlCO0lBU3JCOztBQVBJOztBQU5KO1lBT1EsY0FBYztZQUNkLFVBQVU7WUFDVixzQkFBc0I7WUFDdEIsd0NBQXdDO1lBQ3hDLG9CQUFvQjtJQUU1QjtRQURJOztBQUdKO1FBQ0ksYUFBYTtRQUNiLGNBQWM7UUFDZCxpQkFBaUI7SUFDckI7O0FBRUE7UUFDSSxpQkFBaUI7SUFDckI7O0FBRUE7UUFDSSxnQkFBZ0I7UUFDaEIsc0JBQXNCO0lBQzFCOztBQUVBO1FBQ0ksU0FBUztRQUNULFVBQVU7SUFDZDs7QUFFQTtRQUNJLHNCQUFzQjtRQUN0QixxQkFBcUI7SUFDekI7O0FBRUE7UUFDSSxpQkFBaUI7SUFDckI7O0FBRUE7UUFDSTtZQUNJLGtCQUFrQjtRQVV0Qjs7WUFSSTtnQkFD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Y3NzIiwic291cmNlc0NvbnRlbnQiOlsiOnJvb3Qge1xuICAgIC0tYmctY29sb3I6ICNmZmY5ZTg7XG4gICAgLS1mZy1jb2xvcjogIzAwMDtcbiAgICAtLWxpbmstY29sb3I6ICMzMzRjOTI7XG4gICAgLS1saW5rLWhvdmVyLWNvbG9yOiAjYjc1NjAwO1xuXG4gICAgLS10ZXh0LWhpZXJhcmNoeS1iYXNlOiAxLjJlbTtcbiAgICAtLXRleHQtaGllcmFyY2h5LXNtYWxsOiAxZW07XG4gICAgLS10ZXh0LWhpZXJhcmNoeS1wYWdlLWhlYWRlcjogM2VtO1xuICAgIC0tdGV4dC1oaWVyYXJjaHktMTogMmVtO1xuICAgIC0tdGV4dC1oaWVyYXJjaHktMjogMS44ZW07XG4gICAgLS10ZXh0LWhpZXJhcmNoeS0zOiAxLjRlbTsgICBcblxuICAgIC8qIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgICAgLS1iZy1jb2xvcjogIzExMTtcbiAgICAgICAgLS1mZy1jb2xvcjogI2ZmZjllODtcbiAgICAgICAgLS1saW5rLWNvbG9yOiAjZDA5NDAwO1xuICAgIH0gKi9cblxuICAgIC8qIGh1aGggdGhlIGJvbGQgdmFyaWFudCBvZiBQYWxhdGlubyBoYXMgcHJvcG9ydGlvbnMgaSByZWFsbHkgZG9uJ3QgbGlrZSwgaSB3aXNoIHRoZXJlIHdlcmUgc29tZXRoaW5nIGxpa2UgZm9udC1zeW50aGVzaXM6IGZvcmNlOyAtIG9oIHdlbGwsIGxldCdzIGp1c3QgbG9hZCB0aGUgd2ViZm9udHMgd2l0aG91dCBpdCBmb3IgY29uc2lzdGVudCBsYXlvdXQgKi9cblxuICAgIC0tbGVhZ3VlLWZvbnQ6IC8qXCJQYWxhdGlubyBMaW5vdHlwZVwiLCBcIlBhbGF0aW5vXCIsIFwiVVJXIFBhbGxhZGlvIExcIiwqLyBcIkRvbWl0aWFuIFJvbWFuXCIsIHNlcmlmO1xuICAgIC0tbGVhZ3VlLWZvbnQtYm9sZC1pdGFsaWM6IC8qXCJQYWxhdGlubyBMaW5vdHlwZVwiLCBcIlBhbGF0aW5vXCIsIFwiVVJXIFBhbGxhZGlvIExcIiwqLyBcIkRvbWl0aWFuIEJvbGQgSXRhbGljXCIsIHNlcmlmO1xuICAgIC0tc3lzdGVtLWZvbnRzOiBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjtcbn1cblxuLyogQm9keSBhbmQgTGF5b3V0ICovXG5cbmJvZHkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1sZWFndWUtZm9udCk7XG4gICAgY29sb3I6IHZhcigtLWZnLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvcik7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxufVxuXG4ud2wtbmF2IHtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIFxuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgLyogZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgKi9cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6OTAwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggdmFyKC0tZmctY29sb3IpIHNvbGlkO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSBhIHtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMjBweCAwO1xuICAgIH1cblxuICAgIGltZyBhIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGgxIGEsIC5ob21lLWxpbmsge1xuICAgICAgICBjb2xvcjogdmFyKC0tZmctY29sb3IpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLmhvbWUtbGluayB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVudS1pdGVtLmFjdGl2ZSB7XG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWZnLWNvbG9yKTtcbiAgICB9XG59XG5cbi53bC1wYWdlIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLndsLW5hdiwgLndsLXBhZ2Uge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBtYXJnaW46IDBweCAyMHB4IDIwcHggMjBweDtcbiAgICB9XG59XG5cbi5tZW51LWJ1dHRvbi1pY29uIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tc3lzdGVtLWZvbnRzKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi5yZXNwb25zaXZlLW1lbnUsIHVsLnJlc3BvbnNpdmUtbWVudSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIHRvcDogOTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ucmVzcG9uc2l2ZS1tZW51LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4ucmVzcG9uc2l2ZS1tZW51LWxhYmVsIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnJlc3BvbnNpdmUtbWVudS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbn1cblxuLndsLW5hdjpoYXMoI21lbnUtYnV0dG9uOmNoZWNrZWQpIC5yZXNwb25zaXZlLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBFbGVtZW50cyBhbmQgR2VuZXJhbCBDb21wb25lbnRzICovXG5cbi5yZXNwb25zaXZlLWhpZGUge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnJlc3BvbnNpdmUtaGlkZS1kZXNrdG9wIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5iaWctbG9nbyB7XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICBtYXJnaW46IDIwcHggMCAwIDA7XG59XG5cbi5iaWctaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWhpZXJhcmNoeS1wYWdlLWhlYWRlcik7XG4gICAgaGVpZ2h0OiB2YXIoLS10ZXh0LWhpZXJhcmNoeS1wYWdlLWhlYWRlcik7XG4gICAgXG4gICAgaDEge1xuICAgICAgICBtYXJnaW46IDAuM2VtIDAgMC41ZW0gMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICB9XG59XG5cbi5iaWdnZXN0LWhlYWRlciB7XG4gICAgZm9udC1zaXplOiA2ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgIGhlaWdodDogNGVtO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgfVxufVxuXG4ubG9nby1zbWFsbCB7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xufVxuXG4ubG9nby1zbWFsbC1vZmZzZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjhlbTtcbn1cblxuYS5ob21lLWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgaDEge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxufVxuXG5hOmxpbmssIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWxpbmstY29sb3IpO1xufVxuXG4vKiBhW2hyZWZePSdodHRwJ106OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFLQ0FZQUFBQ05Ncys5QUFBQVZrbEVRVlI0WG4zUGdRa0FNUWhEVVhmcVR1N2tUdGtwZDVSQThBSW5mQXJ0UTJpUlhGV1QyUWVkQWZ0dGoyRnNQSU9FMWVDT2xFdW9XV2pnellhQi9Ja2VHT3J4WGhxQit1QTlCZmNtMGxBWnVoK1lJZUFEK2NBcVN6NGtDTVVBQUFBQVNVVk9SSzVDWUlJPSk7XG59ICovXG5cbi5idXR0b24sIGEuYnV0dG9uOmxpbmssIGEuYnV0dG9uOnZpc2l0ZWQsIGEuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM0YzkyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJveC1zaGFkb3c6IDJweCAycHggNXB4ICNiYmI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLyogQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH0gKi9cbn1cblxuLndsLXBhZ2UgPiBhLmJ1dHRvbiwgLndsLXBhZ2UgcCBhLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi53bC1wYWdlIC5idXR0b24ge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAxNXB4O1xufVxuXG5hOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tbGluay1ob3Zlci1jb2xvcilcbn1cblxuLmluLXBhZ2UtbWVudSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIC8qIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgKi9cbiAgICB9XG5cbiAgICAuYWN0aXZlIHtcbiAgICAgICAgLyogYm9yZGVyLWJvdHRvbTogMXB4IHZhcigtLWZnLWNvbG9yKSBzb2xpZDsgKi9cbiAgICB9XG59XG5cbi5saWJyYXJ5LW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGJvcmRlcjogMnB4IHZhcigtLWZnLWNvbG9yKSBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweCAyMHB4IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWhpZXJhcmNoeS1iYXNlKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWxlYWd1ZS1mb250KTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgbGkuYWN0aXZlIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tZmctY29sb3IpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LW1lbnUtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICAgIH1cblxuICAgIC8qIC5saWJyYXJ5LW1lbnUtc2VjdGlvbiB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggdmFyKC0tZmctY29sb3IpIHNvbGlkO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LW1lbnUtc2VjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfSAqL1xufVxuXG5wLCBzdW1tYXJ5LCAud2wtcGFnZSBsaSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1oaWVyYXJjaHktYmFzZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICB9XG59XG5cbnAge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIH1cbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbGVhZ3VlLWZvbnQtYm9sZC1pdGFsaWMpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1oaWVyYXJjaHktMSk7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLndsLXBhZ2UgPiBoMSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5oMiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWhpZXJhcmNoeS0yKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgIH1cbn1cblxuaDMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1oaWVyYXJjaHktMyk7XG59XG5cbi53bC1wYWdlID4gdWwge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5iaWctaGVhZGVyICsgaDEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuZGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuc3VtbWFyeSBiIHtcbiAgICBjb2xvcjogdmFyKC0tbGluay1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaGVscC1iYWxsb29uIHtcbiAgICBib3JkZXI6IDJweCB2YXIoLS1mZy1jb2xvcikgc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiAwcHggMjBweCAwcHggMjBweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAuaWNvbi1zdHlsZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG59XG5cbi53bC1wYWdlIC5oZWxwLWJhbGxvb24gbGksIC53bC1wYWdlIC5oZWxwLWJhbGxvb24gbGkgcCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWhpZXJhcmNoeS1zbWFsbCk7XG59XG5cbi53bC1uZXdzbGV0dGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlcjogMnB4IHZhcigtLWZnLWNvbG9yKSBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgXG4gICAgZm9ybSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxufVxuXG4uaG9tZS1sYXlvdXQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBcbn1cblxuLmhvbWUtbGF5b3V0IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmhvbWUtbGF5b3V0LWl0ZW0tY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuaG9tZS1sYXlvdXQtaXRlbSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaG9tZS1sYXlvdXQtaXRlbS53aXRoLWltYWdlIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgaGVpZ2h0OiAyNTBweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmFydGljbGUuZG9jdW1lbnQge1xuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWhpZXJhcmNoeS0xKTtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXRleHQtaGllcmFyY2h5LTIpO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1oaWVyYXJjaHktMyk7XG4gICAgfVxuICAgIGg0LCBoNSwgaDYge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXRleHQtaGllcmFyY2h5LWJhc2UpO1xuICAgIH1cbn1cblxuLmFsaWduLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4vKiBEaXRoZXJlZCBMb2dvdHlwZSAqL1xuXG4ubG9nby1zdHlsZSB7XG4gICAgdGV4dC1zaGFkb3c6IC0wLjE1ZW0gMC4xNWVtICNjMmMyYzIsIC0wLjMwZW0gMC4zMGVtICNmMmYyZjI7XG4gICAgLyogdGV4dC1zaGFkb3c6IC0wLjE1ZW0gMC4xNWVtICNiNWI1YjUsIC0wLjMwZW0gMC4zMGVtICNjN2M3Yzc7ICovXG4gICAgLyogLTAuMDFlbSAwLjAxZW0gI2ZmZiwgMC4wMWVtIC0wLjAxZW0gI2ZmZiwgKi9cbiAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAwLjAxZW0gI2ZmZjtcblxuICAgIC8qIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IC0wLjE1ZW0gMC4xNWVtICNmMmYyZjIsIC0wLjMwZW0gMC4zMGVtICNmYWZhZmE7XG4gICAgfSAqL1xufVxuXG4vKiBmcm9tIGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDI0MDkyMTA5MTUyMC9odHRwczovL2NvaG9zdC5vcmcvZmhxd2hnYWRzL3Bvc3QvMTk5OTAzLWNzcy1kaXRoZXItY2F0ICovXG5cbi5kaXRoZXItb3V0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvd2VicDtiYXNlNjQsVWtsR1JqQUFBQUJYUlVKUVZsQTRUQ1FBQUFBdkE4QUFBSVZTMjdhaGIzdXpPVW1TSm9xcXJPcTZQNDdvZjhEUWRjcHJZZFA4L1ZZPVwiKTtcbiAgICBmaWx0ZXI6IGNvbnRyYXN0KDIwMDApO1xuICAgIC8qIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7ICovXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7XG4gICAgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG5cbiAgICAvKiBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgIGZpbHRlcjogaW52ZXJ0KCkgY29udHJhc3QoMjAwMCk7XG4gICAgICAgIG1peC1ibGVuZC1tb2RlOiBsaWdodGVuO1xuICAgICAgICBoMSB7IGNvbG9yOiAjMDAwOyB9XG4gICAgfSAqL1xufVxuXG4uZGl0aGVyLWlubmVyIHtcbiAgICBtaXgtYmxlbmQtbW9kZTogc29mdC1saWdodDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi53bC1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBOb2RlIENob29zZXIgKi9cblxuLmNob29zZXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5jaG9vc2VyLWNvbnRhaW5lcjpoYXMoI2Nob29zZXItZXhwYW5kOmNoZWNrZWQpIC5jaG9vc2VyIHtcbiAgICBoZWlnaHQ6IHVuc2V0O1xuXG4gICAgLmNob29zZXItdXNlcm5hbWUsIC5jaG9vc2VyLWF0LCAuaW5zdGFuY2VzLWhlbHAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jaG9vc2VyLWluc3RhbmNlcyB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgd2lkdGg6IHVuc2V0O1xuICAgIH1cblxuICAgIC5pbnN0YW5jZXMtbGlzdCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIC5pbnN0YW5jZXMtbGlzdCAuaW5zdGFuY2U6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICAgIH1cbn1cblxuLmNob29zZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyoganVzdGlmeS1jb250ZW50OiBiYXNlbGluZTsgKi9cbiAgICBib3JkZXI6IDJweCB2YXIoLS1mZy1jb2xvcikgc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcblxuICAgIHdvcmQtd3JhcDogYW55d2hlcmU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgLyogZmxleC1kaXJlY3Rpb246IHJvdzsgKi9cbiAgICAgICAgaGVpZ2h0OiA4MDBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgLyogaGVpZ2h0OiA2MDBweDsgKi9cbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmluc3RhbmNlLWluZm8ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1sZWdlbmQge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hvb3Nlci11c2VybmFtZSwgLmNob29zZXItYXQge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgXG4gICAgLmNob29zZXItdXNlcm5hbWUge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hvb3Nlci1hdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yKTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC41ZW07XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNWVtO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNob29zZXItaW5zdGFuY2VzIHsgICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggdmFyKC0tZmctY29sb3IpIHNvbGlkO1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcblxuICAgICAgICAgICAgLmluc3RhbmNlLWhvc3RuYW1lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuOGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggdmFyKC0tZmctY29sb3IpIHNvbGlkO1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gICAgICAgICAgICAuaW5zdGFuY2UtaG9zdG5hbWUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIC5pbnN0YW5jZS1wYW5lbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9ICovXG5cbiAgICAuaW5zdGFuY2VzLWxpc3Qge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCA0MHB4IDQwcHggNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMHB4IDIwcHggMjBweCAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogVE9ETzogZmlndXJlIG91dCBpZiBpdCdzIHBvc3NpYmxlIHRvIG1ha2UgdGhpcyB3b3JrIGV2ZW4gaWYgdGhlIGxhc3QtY2hpbGQgaGFzIGEgcmVhbGx5IHJlYWxseSBsb25nIGRlc2NyaXB0aW9uLiAqL1xuICAgIC5pbnN0YW5jZXMtbGlzdCAuaW5zdGFuY2U6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNjkwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5zdGFuY2UtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5zdGFuY2UtYWN0aW9ucyB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAvKiBtYXgtd2lkdGg6IDYwMHB4OyAqL1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMmVtO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5zdGFuY2VzLWhlbHAge1xuICAgICAgICAvKiBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggdmFyKC0tZmctY29sb3IpIHNvbGlkOyAqL1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAvKiAuaW5zdGFuY2UtaW5mbyB7XG4gICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH0gKi9cblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLXN5c3RlbS1mb250cyk7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG59Il19 */