@charset "UTF-8";
/* ------------------- */
/* Super Liminal Theme */
/* ----- by Ambersight */
/* ------------------- */
/* Site Stuff */
@import url("../../New_BHL/css/banlist.css");
@import url("../../New_BHL/css/forum.css");
@import url("../../stickers/css/stickers.css");
@import url("./colmod-style.css");
/* Icons */
@import url("./icon-masks.css");
/* Fonts */
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@200..900&display=swap");
/* ------------------- */
/* Root Variables ---- */
/* ------------------- */
:root {
    /* Font Set */
    font-size: 15px;
    --body-font: Inter, "Noto Sans SC", "Noto Sans TC", Arimo, Verdana, Geneva, sans-serif;
    --header-font: Inter, "Noto Sans SC", "Noto Sans TC", Franklin Gothic Medium, Franklin Gothic, ITC Franklin Gothic, Arial, sans-serif;
    --title-font: Inter, "Noto Sans SC", "Noto Sans TC", Franklin Gothic Medium, Franklin Gothic, ITC Franklin Gothic, Arial, sans-serif;
    --mono-font: "JetBrains Mono", "Noto Serif SC", "Noto Serif TC", Consolas, monaco, monospace;
    /* Basic Colors */
    --background-color: 237, 233, 223;
    --text-color: 25, 20, 16;
    /* Deco Colors */
    --light-color-1: var(--background-color);
    --light-color-2: 255, 251, 240;
    --dark-color-1: 160, 160, 160;
    --dark-color-2: 140, 136, 126;
    --dark-color-3: 72, 69, 60;
    --dark-color-4: 48, 48, 52;
    /* Special Colors */
    --warning-color: 193, 44, 50;
    --accept-color: 20, 169, 32;
    --neutral-color: 193, 147, 44;
    --warning-text-color: var(--light-color-2);
    --accept-text-color: var(--warning-text-color);
    --neutral-text-color: var(--warning-text-color);
    /* Link Colors */
    --link-color: 230, 23, 68;
    --hover-link-color: 187, 0, 34;
    --visited-link-color: 150, 24, 43;
    --newpage-color: 221, 102, 17;
    /* Select Colors */
    --selected-background-color: 67, 98, 197;
    --selected-text-color: 253, 253, 253;
    /* Scrollbar Colors */
    --scrollbar-color: var(--dark-color-1), 0.75;
    --scrollbar-background-color: var(--dark-color-1), 0.15;
    /* General Colors */
    --general-light-background-color: var(--light-color-2);
    --general-light-text-color: var(--text-color);
    --general-medium-background-color: var(--dark-color-2);
    --general-medium-text-color: var(--light-color-1);
    --general-dark-background-color: var(--dark-color-3);
    --general-dark-text-color: var(--light-color-1);
    --general-shadow-color: var(--text-color);
    --general-light-border-color: var(--dark-color-3), 0.08;
    --general-medium-border-color: var(--dark-color-3), 0.2;
    --general-strong-border-color: var(--dark-color-3), 0.5;
    --general-dark-border-color: var(--dark-color-3);
    --general-blur: 0.15rem;
    --general-transition-time-fast: 0.2s;
    --general-transition-time-slow: 0.3s;
    /* General Buttons */
    --general-button-text-color: var(--general-medium-text-color);
    --general-button-background-color: var(--general-medium-background-color);
    --general-hover-button-text-color: var(--general-dark-text-color);
    --general-hover-button-background-color: var(--general-dark-background-color);
    /* Header Vs */
    --main-header-height: 8rem;
    --main-header-height-on-mobile: 8rem;
    --header-height: calc(var(--main-header-height) + var(--topbar-height));
    --header-width: 65rem;
    --header-width-on-mobile: 100%;
    --header-margin: max(calc((100% - var(--header-width)) / 2), 0px);
    --logo-image: url("https://github.backroomswiki.cn/Super_Liminal/images/white_logo.svg");
    --header-title: "The Backrooms";
    --header-title-font-size: 2.65rem;
    --header-title-font-size-on-mobile: 1.6rem;
    --header-subtitle: "你曾经来过这里";
    --header-subtitle-font-size: 1rem;
    --header-subtitle-font-size-on-mobile: 0.6rem;
    --search-icon-width-on-mobile: 2.5rem;
    /* Header Colors */
    --header-background-bottom: var(--general-dark-background-color);
    --header-background-top: var(--general-dark-background-color), 0.9;
    --header-background-image: linear-gradient(to top, rgba(var(--header-background-bottom)) var(--topbar-height), rgba(var(--header-background-top)) 100%);
    --header-extra-background-image: radial-gradient(circle, rgba(var(--general-dark-background-color)) 50%, transparent 0);
    --header-text-color: var(--general-dark-text-color);
    --header-text-shadow-color: var(--general-shadow-color);
    /* Topbar Vs */
    --topbar-height: 2rem;
    --topbar-height-on-mobile: 3.2rem;
    --topbar-font-size: 0.8rem;
    --topbar-font-size-on-mobile: 1rem;
    /* Topbar Colors */
    --topbar-text-color: var(--light-color-1);
    --topbar-hover-text-color: var(--topbar-text-color);
    --topbar-background-color: 0, 0, 0, 0;
    --topbar-hover-background-color: var(--dark-color-4);
    --topbar-hover-border-color: var(--dark-color-2), 0.5;
    --topbar-drop-text-color: var(--light-color-1);
    --topbar-drop-hover-text-color: var(--general-medium-text-color);
    --topbar-drop-background-color: var(--dark-color-4), 0.93;
    --topbar-drop-hover-background-color: var(--general-medium-background-color);
    --topbar-drop-border-color: var(--text-color);
    --topbar-drop-border-width: calc(4rem / 45);
    --topbar-drop-shadow-color: var(--general-shadow-color), 0.5;
    /* User Account Colors */
    --header-username-color: var(--dark-color-1);
    --account-button-text-color: var(--general-dark-background-color);
    --account-button-hover-text-color: var(--general-medium-text-color);
    --account-button-background-color: var(--general-dark-text-color);
    --account-button-hover-background-color: var(--general-medium-background-color);
    --account-drop-text-color: var(--general-light-text-color);
    --account-drop-hover-text-color: var(--general-medium-text-color);
    --account-drop-background-color: var(--general-light-background-color);
    --account-drop-hover-background-color: var(--general-medium-background-color);
    --account-drop-border-color: var(--general-dark-border-color);
    --account-drop-border-width: var(--topbar-drop-border-width);
    /* Search Button Colors */
    --search-button-text-color: var(--account-button-text-color);
    --search-button-hover-text-color: var(--account-button-hover-text-color);
    --search-button-background-color: var(--account-button-background-color);
    --search-button-hover-background-color: var(--account-button-hover-background-color);
    /* Content Vs */
    --body-width: 48rem;
    --body-margin: max(calc((100% - var(--body-width)) / 2), 1rem);
    --content-font-size: clamp(0.87rem, calc(0.83rem + 0.195vw), 1rem);
    /* Page Title Colors */
    --page-title-text-color: var(--text-color);
    --page-title-border-color: var(--general-dark-border-color);
    /* Page Tag Colors */
    --page-tag-border-color: var(--general-medium-background-color);
    --page-tag-title-color: var(--general-medium-text-color);
    --page-tag-text-color: var(--text-color);
    --page-tag-hover-text-color: var(--general-dark-text-color);
    --page-tag-background-color: var(--dark-color-2), 0.2;
    --page-tag-hover-background-color: var(--general-dark-background-color);
    /* Page Tag Vs */
    --page-tag-title: "标签 ↴";
    /* Page Option Colors */
    --page-option-text-color: var(--general-button-text-color);
    --page-option-hover-text-color: var(--general-hover-button-text-color);
    --page-option-background-color: var(--general-button-background-color);
    --page-option-hover-background-color: var(--general-hover-button-background-color);
    /* Footer Colors */
    --footer-text-color: var(--general-medium-text-color);
    --footer-background-color: var(--general-medium-background-color);
    --license-background-color: var(--light-color-1);
    --license-text-color: var(--dark-color-3);
    --license-link-color: var(--license-text-color);
    /* Sidebar Vs */
    --sidebar-width: 18rem;
    --sidebar-width-on-mobile: 16rem;
    /* Sidebar Colors */
    --sidebar-handle-text-color: var(--general-dark-text-color);
    --sidebar-handle-background-color: var(--general-dark-background-color);
    --sidebar-background-color: var(--light-color-1);
    --sidebar-media-background-color: var(--text-color), 0.15;
    --sidebar-media-icon-color: var(--dark-color-3);
    --sidebar-title-background-color: var(--general-dark-background-color), 0.5;
    --sidebar-title-text-color: var(--general-dark-text-color);
    --sidebar-title-shadow-color: var(--general-shadow-color);
    --sidebar-text-color: var(--text-color);
    --sidebar-hover-text-color: var(--sidebar-text-color);
    --sidebar-border-color: var(--general-light-border-color);
    --sidebar-hover-background-color: var(--text-color), 0.15;
    /* Action Colors */
    --action-area-border-color: var(--general-light-border-color);
    --action-area-subtext-color: var(--text-color), 0.75;
    --action-area-info-background-color: var(--general-medium-background-color);
    --action-area-info-text-color: var(--general-medium-text-color);
    --page-source-background-color: var(--general-light-background-color);
    --page-source-text-color: var(--general-light-text-color);
    /* Edit Area Colors */
    --edit-area-background-color: var(--dark-color-2), 0.15;
    --edit-area-text-color: var(--text-color);
    --edit-area-textarea-text-color: var(--general-light-text-color);
    --edit-area-textarea-background-color: var(--general-light-background-color);
    --edit-area-textarea-border-color: var(--general-dark-border-color);
    --edit-area-info-background-color: var(--action-area-info-background-color);
    --edit-area-info-text-color: var(--action-area-info-text-color);
    --edit-area-button-background-color: var(--general-button-background-color);
    --edit-area-button-text-color: var(--general-button-text-color);
    --edit-area-hover-button-background-color: var(--general-hover-button-background-color);
    --edit-area-hover-button-text-color: var(--general-hover-button-text-color);
    /* Hovertip Colors */
    --hovertip-background-color: var(--general-light-background-color);
    --hovertip-text-color: var(--general-light-text-color);
    --hovertip-border-color: var(--general-dark-border-color);
    /* Image Block Vs */
    --imageblock-border-width: 0.15rem;
    /* Image Block Colors */
    --imageblock-caption-background-color: var(--general-light-background-color);
    --imageblock-caption-text-color: var(--general-light-text-color);
    --imageblock-shadow-color: 0, 0, 0, 0;
    --imageblock-border-color: var(--general-medium-border-color);
    /* Header & Horizon Colors */
    --h1-color: var(--text-color);
    --h2-color: var(--text-color);
    --h3-color: var(--text-color);
    --h4-color: var(--text-color);
    --h5-color: var(--text-color);
    --h6-color: var(--text-color);
    --hr-color: var(--dark-color-1);
    /* Tabview Vs */
    --tabview-border-width: calc(1rem / 15);
    /* Tabview Colors */
    --tabview-border-color: var(--general-dark-border-color);
    --tabview-button-background-color: var(--general-light-background-color);
    --tabview-button-text-color: var(--general-light-text-color);
    --tabview-hover-button-background-color: var(--general-medium-background-color);
    --tabview-hover-button-text-color: var(--general-medium-text-color);
    --tabview-selected-button-background-color: var(--general-dark-background-color);
    --tabview-selected-button-text-color: var(--general-dark-text-color);
    --tabview-horizon-color: var(--dark-color-3), 0.65;
    --tabview-content-background-color: var(--general-light-background-color), 0.25;
    --tabview-content-text-color: var(--general-light-text-color);
    /* Table Vs */
    --table-border-width: calc(2rem / 15);
    /* Table Colors */
    --table-border-color: var(--general-strong-border-color);
    --table-header-background-color: var(--general-medium-background-color);
    --table-header-text-color: var(--general-medium-text-color);
    --table-background-color: var(--light-color-1);
    --table-text-color: var(--text-color);
    /* Blockquote Vs */
    --blockquote-border-width: calc(2rem / 15);
    /* Blockquote Colors */
    --blockquote-background-color: var(--general-light-background-color);
    --blockquote-text-color: var(--general-light-text-color);
    --blockquote-shadow-color: 0, 0, 0, 0;
    --blockquote-border-color: var(--general-medium-border-color);
    /* Code Block Colors */
    --code-block-background-color: var(--blockquote-background-color);
    --code-block-text-color: var(--blockquote-text-color);
    --code-block-border-color: var(--general-strong-border-color);
    /* TOC Colors */
    --toc-background-color: var(--general-light-background-color);
    --toc-text-color: var(--general-light-text-color);
    --toc-border-color: var(--dark-color-2);
    /* Note Colors */
    --note-background-color: 255, 242, 114;
    --note-text-color: 24, 27, 27;
    --note-border-color: 24, 27, 27, 0.5;
    /* Footnote Block Colors*/
    --footnote-block-background-color: var(--dark-color-2), 0.18;
    --footnote-block-text-color: var(--text-color);
    --footnote-block-border-color: var(--general-dark-border-color);
    /* Rating Module Colors */
    --rating-background-color: var(--general-light-background-color);
    --rating-text-color: var(--general-light-text-color);
    --rating-rateup-color: var(--accept-color);
    --rating-ratedown-color: var(--warning-color);
    --rating-cancel-color: var(--neutral-color);
    --rating-rateup-text-color: var(--accept-text-color);
    --rating-ratedown-text-color: var(--warning-text-color);
    --rating-cancel-text-color: var(--neutral-text-color);
    --rating-info-color: var(--dark-color-3);
    --rating-info-text-color: var(--light-color-2);
    --rating-border-color: var(--general-dark-border-color);
    /* Popup Vs */
    --popup-tip-content: "（点击空白处关闭）";
    --popup-loading-content: "正在保存……";
    /* Popups Colors */
    --popup-fader-color: var(--general-shadow-color), 0.65;
    --popup-background-color: var(--general-light-background-color);
    --popup-text-color: var(--general-light-text-color);
    --popup-title-background-color: var(--general-dark-background-color);
    --popup-title-text-color: var(--general-dark-text-color);
    --popup-border-color: var(--general-strong-border-color);
    --popup-button-text-color: var(--general-button-text-color);
    --popup-button-background-color: var(--general-button-background-color);
    --popup-hover-button-text-color: var(--general-hover-button-text-color);
    --popup-hover-button-background-color: var(--general-hover-button-background-color);
    --popup-tip-color: var(--light-color-2);
    --popup-loading-color: var(--dark-color-2);
    /* The 4 */
    --lightblock-background-color: var(--general-light-background-color);
    --lightblock-text-color: var(--general-light-text-color);
    --darkblock-background-color: var(--general-dark-background-color);
    --darkblock-text-color: var(--general-dark-text-color);
    --styled-quote-background-color: var(--general-light-background-color);
    --styled-quote-text-color: var(--general-light-text-color);
    --styled-quote-border-color: var(--general-dark-border-color);
    --dark-styled-quote-background-color: var(--general-dark-background-color);
    --dark-styled-quote-text-color: var(--general-dark-text-color);
    --dark-styled-quote-border-color: var(--light-color-2);
    /* Swatch paid me to do this */
    --white-monochrome: var(--background-color);
    --pale-gray-monochrome: var(--light-color-2);
    --light-pale-gray-monochrome: 244, 244, 244;
    --very-light-gray-monochrome: 215, 215, 215;
    --light-gray-monochrome: var(--dark-color-1);
    --gray-monochrome: var(--dark-color-3);
    --dark-gray-monochrome: 48, 48, 52;
    --black-monochrome: var(--text-color);
    --pale-accent: var(--dark-color-2);
    --bright-accent: var(--dark-color-2);
    --medium-accent: var(--dark-color-3);
    --dark-accent: var(--dark-color-2);
    --alt-accent: 221, 102, 17;
    --background-gradient-color: var(--very-light-gray-monochrome);
    --swatch-background: var(--white-monochrome);
    --swatch-primary: var(--bright-accent);
    --swatch-primary-darker: var(--medium-accent);
    --swatch-primary-darkest: var(--dark-accent);
    --swatch-text-dark: var(--black-monochrome);
    --swatch-text-light: var(--white-monochrome);
    --swatch-text-general: var(--swatch-text-dark);
    --swatch-important-text: var(--bright-accent);
    --swatch-menubg-color: var(--white-monochrome);
    --swatch-menubg-light-color: var(--pale-gray-monochrome);
    --swatch-menubg-medium-color: var(--light-gray-monochrome);
    --swatch-menubg-medium-dark-color: var(--gray-monochrome);
    --swatch-menubg-dark-color: var(--dark-gray-monochrome);
    --swatch-menubg-black-color: var(--black-monochrome);
    --swatch-menubg-hover-color: var(--black-monochrome);
    --swatch-menutxt-dark-color: var(--black-monochrome);
    --swatch-menutxt-light-color: var(--white-monochrome);
    --swatch-menutxt-general-color: var(--swatch-menutxt-dark-color);
    --swatch-border-color: var(--black-monochrome);
    --swatch-secondary-color: var(--swatch-menubg-light-color);
    --swatch-tertiary-color: var(--swatch-menubg-medium-color);
    --swatch-text-secondary-color: var(--swatch-menutxt-light-color);
    --swatch-text-tertiary-color: var(--swatch-menutxt-dark-color);
    --swatch-headerh1-color: var(--swatch-text-light);
    --swatch-headerh2-color: var(--swatch-text-light);
    --swatch-topmenu-border-color: var(--medium-accent);
    --swatch-topmenu-bg-color: var(--swatch-menubg-medium-dark-color);
}

/* ------------------- */
/* Global ------------ */
/* ------------------- */
body, html {
    line-height: 1.5;
    font-family: var(--body-font);
    hyphens: manual;
    background: rgba(var(--background-color));
    color: rgba(var(--text-color));
    font-size: 1rem;
    scrollbar-color: rgba(var(--scrollbar-color)) rgba(var(--scrollbar-background-color));
    scrollbar-width: auto;
    min-width: 240px;
}

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

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

a {
    color: rgba(var(--link-color));
    transition: color 0.15s;
    text-decoration: none;
}

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

a:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--hover-link-color));
    background: transparent;
    -webkit-text-decoration: underline 0.1em;
            text-decoration: underline 0.1em;
}

a.newpage {
    color: rgba(var(--newpage-color));
    text-decoration: none;
}

table {
    border-spacing: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    font-family: var(--title-font);
    margin: 0.35em 0;
}

h1 {
    font-size: 2em;
    color: rgba(var(--h1-color));
}

h2 {
    font-size: 1.75em;
    color: rgba(var(--h2-color));
}

h3 {
    font-size: 1.5em;
    color: rgba(var(--h3-color));
}

h4 {
    font-size: 1.325em;
    color: rgba(var(--h4-color));
}

h5 {
    font-size: 1.15em;
    color: rgba(var(--h5-color));
}

h6 {
    font-size: 1em;
    color: rgba(var(--h6-color));
}

input, textarea, select, button, meter, progress, code, tt, .code, pre, .pre {
    font-family: var(--mono-font);
}

tt {
    font-size: 100%;
}

img, embed, video, object, iframe, table {
    max-width: 100%;
}

.button, .btn, input[type=button] {
    font-family: var(--body-font);
}

#container {
    min-height: 100vh;
}

/* ------------------- */
/* Header ------------ */
/* ------------------- */
#header {
    width: 100%;
    height: var(--header-height);
    background: var(--header-background-image);
    color: rgba(var(--header-text-color));
    display: grid;
    grid-template-areas: "h1" "topbar";
    grid-template-rows: var(--main-header-height) var(--topbar-height);
    z-index: 7;
    position: relative;
    top: 0;
    left: 0;
}

#header p {
    margin: 0;
}

#header::before {
    content: "";
    display: block;
    width: 100%;
    height: var(--main-header-height);
    position: absolute;
    top: 0;
    left: 0;
    background-image: var(--header-extra-background-image);
    background-size: 0.25em 0.25em;
}

/* Header Title */
#header h1 {
    grid-area: h1;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    padding: 0 var(--header-margin);
}

#header h1 a {
    font-size: 0;
    width: 100%;
    height: 100%;
    display: block;
    text-decoration: none;
}

#header h1 a span {
    padding-top: 2rem;
    width: 100%;
    height: 100%;
    font-size: 0;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: rgba(var(--header-text-color));
    font-family: var(--header-font);
    text-shadow: 1px 1px 1px rgba(var(--header-text-shadow-color));
    box-sizing: border-box;
    line-height: 1.25;
}

#header h1 a span::before {
    content: var(--header-title);
    font-size: var(--header-title-font-size);
    display: block;
}

#header h1 a span::after {
    content: var(--header-subtitle);
    font-size: var(--header-subtitle-font-size);
    display: block;
}

/* Header Logo */
#header h2 {
    position: absolute;
    width: 100%;
    height: calc(100% - var(--topbar-height) - 1rem);
    top: 1rem;
    z-index: 0;
}

#header h2 span {
    width: auto;
    height: 100%;
    display: block;
    font-size: 0;
    margin: 0 var(--header-margin);
}

#header h2 span::before {
    content: "";
    background: var(--logo-image);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.4;
    width: 100%;
    height: 100%;
    display: block;
}

/* Top Bar */
#top-bar {
    grid-area: topbar;
    position: relative;
    padding: 0 var(--header-margin);
    background: rgba(var(--topbar-background-color));
    height: 100%;
    box-sizing: border-box;
    right: 0;
    z-index: 2;
}

#top-bar ul,
#top-bar li {
    display: block;
}

#top-bar div[class*=top-bar] {
    width: 100%;
    height: 100%;
}

#top-bar div[class*=top-bar] > ul {
    width: 100%;
    height: 100%;
    display: flex;
}

#top-bar div[class*=top-bar] > ul > li {
    height: 100%;
    flex: 2 2 auto;
    margin: 0;
    position: relative;
    transition: background var(--general-transition-time-slow);
}

#top-bar div[class*=top-bar] > ul > li:is(:hover, :active, :focus, :focus-within, .sfhover) {
    background: rgba(var(--topbar-hover-background-color));
}

#top-bar div[class*=top-bar] > ul > li > a {
    height: 100%;
    width: 100%;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    font-size: var(--topbar-font-size);
    font-weight: 700;
    color: rgba(var(--topbar-text-color));
    background: transparent;
    box-shadow: none;
    transition: box-shadow clamp(0s, 0.15s, var(--general-transition-time-slow) / 2);
}

#top-bar div[class*=top-bar] > ul > li:is(:hover, :active, :focus, :focus-within, .sfhover) > a {
    color: rgba(var(--topbar-hover-text-color));
    box-shadow: inset 0 0.2rem 0 rgba(var(--topbar-hover-border-color)), inset 0 -0.2rem 0 rgba(var(--topbar-hover-border-color));
}

#top-bar div[class*=top-bar] > ul > li > ul {
    box-sizing: border-box;
    border: solid calc(var(--topbar-drop-border-width) / 2) rgba(var(--topbar-drop-border-color));
    border-top: none;
    background: rgba(var(--topbar-drop-background-color));
    display: flex;
    flex-direction: column;
    min-width: 100%;
    width: auto;
    backdrop-filter: blur(var(--general-blur));
    box-shadow: 0 2px 6px rgba(var(--topbar-drop-shadow-color));
    left: 0;
    pointer-events: none;
    opacity: 0;
    visibility: visible;
    transition: opacity var(--general-transition-time-fast) ease-in-out;
}

#top-bar div[class*=top-bar] > ul > li:last-of-type > ul {
    right: 0;
    left: auto;
}

#top-bar div[class*=top-bar] > ul > li:is(:hover, :active, :focus, :focus-within, .sfhover) > ul,
#top-bar div[class*=top-bar] > ul > li > ul > li:is(:hover, :active, :focus, :focus-within, .sfhover) > ul {
    pointer-events: auto;
    opacity: 1;
}

#top-bar div[class*=top-bar] > ul > li > ul > li,
#top-bar div[class*=top-bar] > ul > li > ul > li > ul > li {
    width: 100%;
    box-sizing: border-box;
    border: solid calc(var(--topbar-drop-border-width) / 2) rgba(var(--topbar-drop-border-color));
    height: 2rem;
    position: relative;
}

#top-bar div[class*=top-bar] > ul > li > ul > li:first-child {
    border-top: 0;
}

#top-bar div[class*=top-bar] > ul > li > ul > li > a,
#top-bar div[class*=top-bar] > ul > li > ul > li > ul > li > a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    background: transparent;
    color: rgba(var(--topbar-drop-text-color));
    padding: 0 1em;
    transition: background var(--general-transition-time-slow);
    font-size: 0.8rem;
    box-sizing: border-box;
    white-space: nowrap;
    text-align: center;
}

#top-bar div[class*=top-bar] > ul > li > ul > li > a:is(:hover, :active, :focus, :focus-within),
#top-bar div[class*=top-bar] > ul > li > ul > li > ul > li > a:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--topbar-drop-hover-text-color));
    background: rgba(var(--topbar-drop-hover-background-color));
}

#top-bar div[class*=top-bar] > ul > li > ul > li > ul {
    box-sizing: border-box;
    border: solid calc(var(--topbar-drop-border-width) / 2) rgba(var(--topbar-drop-border-color));
    background: rgba(var(--topbar-drop-background-color));
    display: flex;
    flex-direction: column;
    min-width: 100%;
    width: auto;
    backdrop-filter: blur(var(--general-blur));
    box-shadow: 0 2px 6px rgba(var(--topbar-drop-shadow-color));
    left: 100%;
    top: calc(-1 * var(--topbar-drop-border-width) / 2);
    pointer-events: none;
    opacity: 0;
    visibility: visible;
    transition: opacity var(--general-transition-time-fast) ease-in-out;
    position: absolute;
}

#top-bar .mobile-top-bar {
    display: none;
}

#top-bar .mobile-top-bar .open-menu {
    width: var(--topbar-height-on-mobile);
    height: 100%;
}

#top-bar .mobile-top-bar .open-menu p {
    display: contents;
}

#top-bar .mobile-top-bar .open-menu a {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 0;
    transition: background var(--general-transition-time-slow), box-shadow clamp(0s, 0.15s, var(--general-transition-time-slow) / 2);
    background: transparent;
}

#top-bar .mobile-top-bar .open-menu a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(var(--topbar-text-color));
    -webkit-mask-image: var(--side-bar-button-mask);
            mask-image: var(--side-bar-button-mask);
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: 100%;
            mask-size: 100%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
}

#top-bar .mobile-top-bar .open-menu a:is(:hover, :active, :focus, :focus-within) {
    background: rgba(var(--topbar-hover-background-color));
    box-shadow: inset 0 0.2rem 0 rgba(var(--topbar-hover-border-color)), inset 0 -0.2rem 0 rgba(var(--topbar-hover-border-color));
}

#top-bar .mobile-top-bar .open-menu a:is(:hover, :active, :focus, :focus-within)::before {
    background: rgba(var(--topbar-hover-text-color));
}

/* User Info */
#login-status {
    right: calc(var(--header-margin) + 0.6rem);
    font-size: 0.9rem;
    font-weight: 500;
    z-index: 3;
}

#login-status .printuser {
    display: inline-flex;
    align-items: baseline;
    gap: 0.3rem;
    color: rgba(var(--header-username-color));
}

#login-status .printuser > a:first-child {
    margin: 0;
}

#login-status .printuser > a:first-child img {
    height: 1rem;
    width: 1rem;
    padding: 0 0 0 0.5rem;
    vertical-align: -0.2rem;
    background-size: auto;
}

#login-status a {
    color: rgba(var(--header-text-color));
}

a#account-topbutton {
    font-size: 85%;
    background: rgba(var(--account-button-background-color));
    color: rgba(var(--account-button-text-color));
    border: none;
    transition: background var(--general-transition-time-slow);
}

#account-topbutton:is(:hover, :active, :focus, :focus-within) {
    background: rgba(var(--account-button-hover-background-color));
    color: rgba(var(--account-button-hover-text-color));
}

#account-options {
    display: block !important;
    opacity: 0;
    pointer-events: none;
    width: 6em;
    border: solid var(--account-drop-border-width) rgba(var(--account-drop-border-color));
    background: rgba(var(--account-drop-background-color));
}

#account-options ul,
#account-options li {
    display: contents;
}

#account-options li a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: transparent;
    transition: background var(--general-transition-time-slow);
    color: rgba(var(--account-drop-text-color));
    text-decoration: none;
}

#account-options li a:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--account-drop-hover-text-color));
    background: rgba(var(--account-drop-hover-background-color));
}

#login-status #account-options:focus-within,
#login-status #account-topbutton:is(:active, :focus, :focus-within) + #account-options {
    opacity: 1;
    pointer-events: all;
}

/* Search */
#search-top-box {
    z-index: 2;
    right: calc(var(--header-margin) + 0.6rem);
    top: 45%;
}

#search-top-box-input {
    display: none;
}

#search-top-box-form .button {
    margin: 0;
    font-size: 0.9rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.1em 0.3em;
    font-weight: 500;
    color: rgba(var(--search-button-text-color));
    background: rgba(var(--search-button-background-color));
    transition: background var(--general-transition-time-slow);
    cursor: pointer;
    border: none;
    font-family: var(--body-font);
    height: -moz-fit-content;
    height: fit-content;
    line-height: 1.5;
}

#search-top-box-form .button:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--search-button-hover-text-color));
    background: rgba(var(--search-button-hover-background-color));
}

/* ------------------- */
/* Main Content ------ */
/* ------------------- */
#main-content {
    margin: 2rem var(--body-margin);
    padding: 0;
    overflow-wrap: break-word;
}

#page-title,
.meta-title {
    color: rgba(var(--page-title-text-color));
    border-bottom: solid 0.15rem rgba(var(--page-title-border-color));
    font-weight: 700;
    padding: 0 0 0.25rem;
    margin: 0;
    font-size: 2rem;
    font-family: var(--title-font);
}

.meta-title {
    margin: 1rem 0;
}

.meta-title p {
    display: contents;
}

#breadcrumbs {
    margin: 0;
    padding: 0.2rem 0;
    font-size: 0.85rem;
}

#page-content {
    min-height: calc(100vh - var(--header-height));
    margin: 1.6rem 0;
    padding: 0;
    font-size: var(--content-font-size);
}

/* Tags */
.page-tags {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    font-size: var(--content-font-size);
}

.page-tags::before {
    content: var(--page-tag-title);
    font-weight: 700;
    font-size: 0.75rem;
    background: rgba(var(--page-tag-border-color));
    color: rgba(var(--page-tag-title-color));
    padding: 0.3em 0.6em calc(0.3em - 0.15rem);
    width: -moz-fit-content;
    width: fit-content;
}

.page-tags span {
    border-top: solid 0.15rem rgba(var(--page-tag-border-color));
    padding-top: 0.4rem;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    grid-gap: 0.5rem;
}

.page-tags span a {
    background: rgba(var(--page-tag-background-color));
    color: rgba(var(--page-tag-text-color));
    border-radius: 0.2rem;
    padding: 0.1rem 0.3rem;
    margin: 0;
    text-decoration: none;
    transition: background var(--general-transition-time-fast);
}

.page-tags span a:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--page-tag-hover-text-color));
    background: rgba(var(--page-tag-hover-background-color));
}

#main-content .page-tags [href^="/system:page-tags/tag/_"] {
    display: none;
}

/* Buttons */
#page-options-container {
    margin-top: 0.5rem;
    padding-bottom: 1rem;
}

#page-info {
    margin: 0;
    font-size: 0.85rem;
    text-transform: uppercase;
}

.page-watch-options {
    font-size: 0.85rem;
    padding-bottom: 0.25rem;
}

div[id*=page-options-bottom] {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0.25rem;
    margin: 0.25rem 1rem 0;
    padding: 0;
}

div[id*=page-options-bottom] > a {
    flex: 2 0 auto;
    color: rgba(var(--page-option-text-color));
    background: rgba(var(--page-option-background-color));
    transition: background var(--general-transition-time-slow);
    display: flex;
    line-height: 1;
    justify-content: center;
    align-items: center;
    height: 2rem;
    text-decoration: none;
    padding: 0 0.25rem;
    margin: 0;
}

div[id*=page-options-bottom] > a:is(:hover, :active) {
    color: rgba(var(--page-option-hover-text-color));
    background: rgba(var(--page-option-hover-background-color));
}

/* ------------------- */
/* Footer ------------ */
/* ------------------- */
#footer {
    display: flex !important;
    flex-wrap: wrap;
    color: rgba(var(--footer-text-color));
    background: rgba(var(--footer-background-color));
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0.2rem 0;
    font-size: 0.8rem;
    position: relative;
    z-index: 8;
}

#footer .options {
    font-size: 100%;
    padding: 0;
    margin-right: 0.2rem;
}

#footer .options::after {
    content: " | ";
}

#footer a {
    color: rgba(var(--footer-text-color));
    white-space: nowrap;
}

#footer > a {
    margin-left: 0.2em;
}

#license-area {
    padding: 0.4em 0;
    background: rgba(var(--license-background-color));
    color: rgba(var(--license-text-color));
    font-weight: 500;
    position: relative;
    z-index: 8;
}

#license-area a {
    color: rgba(var(--license-link-color));
}

/* ------------------- */
/* Side Bar ---------- */
/* ------------------- */
#side-bar {
    width: var(--sidebar-width);
    height: 100vh;
    position: fixed;
    top: 0;
    left: calc(-1 * var(--sidebar-width));
    margin: 0;
    padding: 0;
    transition: left 0.25s ease 0.125s;
    max-height: 100vh;
    overflow-x: hidden;
    overflow-y: scroll;
    z-index: 9;
    direction: rtl;
    background: rgba(var(--sidebar-background-color));
    scrollbar-width: thin;
    border-right: solid 0.1333333333rem rgba(var(--sidebar-border-color));
    box-sizing: border-box;
}

#side-bar:is(:hover, :focus-within) {
    left: 0;
}

#side-bar::before {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    height: 100vh;
    top: 0;
    width: 1rem;
    background: transparent;
    z-index: -1;
}

#side-bar::after {
    content: "◀";
    position: fixed;
    left: 0;
    height: 14rem;
    top: calc(50vh - 7rem);
    width: 1rem;
    color: rgba(var(--sidebar-handle-text-color));
    background: rgba(var(--sidebar-handle-background-color));
    border-radius: 0 0.75rem 0.75rem 0;
    z-index: -1;
    opacity: 1;
    transition: opacity var(--general-transition-time-fast) ease, left calc(2 * var(--general-transition-time-fast)) ease;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.6rem;
}

#side-bar:is(:hover, :focus-within)::after {
    left: calc(-1 * var(--sidebar-width));
    opacity: 0;
}

#interwiki {
    background-color: unset;
}

#interwiki body {
    background-color: unset;
    min-width: unset;
}

:is(#side-bar, #interwiki) > * {
    position: relative;
    z-index: 1;
}

:is(#side-bar, #interwiki) p {
    display: contents;
}

:is(#side-bar, #interwiki) .side-block {
    display: flex;
    flex-direction: column;
}

#side-bar .side-block.media {
    background: rgba(var(--sidebar-media-background-color));
}

#side-bar .side-block.media > div {
    display: flex;
    justify-content: space-evenly;
}

#side-bar .side-block.media a {
    overflow: hidden;
}

#side-bar .side-block.media a img {
    position: relative;
    transform: translateX(-20rem);
    filter: drop-shadow(rgba(var(--sidebar-media-icon-color)) 20rem 0);
}

:is(#side-bar, #interwiki) .heading,
#side-bar .collapsible-block-unfolded-link a,
#side-bar .collapsible-block-folded a {
    background: rgba(var(--sidebar-title-background-color));
    color: rgba(var(--sidebar-title-text-color));
    height: 1.3333333333rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 0.8rem;
    text-shadow: 1px 1px 1px rgba(var(--sidebar-title-shadow-color));
    font-weight: 700;
    border-bottom: solid 0.1333333333rem rgba(var(--sidebar-border-color));
    direction: ltr;
}

#side-bar .collapsible-block-unfolded-link,
#side-bar .collapsible-block-folded {
    margin: 0;
}

#side-bar .collapsible-block-folded a::before {
    content: "▶";
}

#side-bar .collapsible-block-folded a::after {
    content: "◀";
}

#side-bar .collapsible-block-unfolded-link a::before,
#side-bar .collapsible-block-unfolded-link a::after {
    content: "▼";
}

:is(#side-bar, #interwiki) .menu-item {
    font-size: 0;
    display: flex;
    border-bottom: solid 0.1333333333rem rgba(var(--sidebar-border-color));
    direction: ltr;
}

:is(#side-bar, #interwiki) .menu-item > img {
    display: none;
}

:is(#side-bar, #interwiki) .menu-item a {
    display: block;
    font-size: 0.9rem;
    text-decoration: none;
    color: rgba(var(--sidebar-text-color));
    transition: background 0.1s;
    padding: 0.1rem 0;
    padding-left: 1em;
    border-left: solid 0.1333333333rem rgba(var(--sidebar-border-color));
    background: transparent;
    flex-grow: 2;
}

:is(#side-bar, #interwiki) .menu-item a:is(:hover, :active, :focus, :focus-within) {
    background: rgba(var(--sidebar-hover-background-color));
    color: rgba(var(--sidebar-hover-text-color));
}

#side-bar .close-menu {
    position: fixed;
    top: 0;
    right: 0;
    display: block;
    height: 100vh;
    width: 100%;
    transition: opacity 0.25s ease 0.125s, width 0.25s ease 0.125s;
    z-index: -1;
    pointer-events: none;
    background: rgba(var(--popup-fader-color));
    opacity: 0;
    backdrop-filter: blur(var(--general-blur));
}

#side-bar .close-menu img {
    display: none;
}

/* ------------------- */
/* Action Area ------- */
/* ------------------- */
#edit-page-form,
#new-post-form {
    background-color: rgba(var(--edit-area-background-color));
    color: rgba(var(--edit-area-text-color));
    padding: 1rem;
}

#edit-page-form .form {
    margin: 0 !important;
    width: 100%;
}

#edit-page-form .form td:first-child {
    display: none;
}

#edit-page-form .form td:last-child {
    padding: 0;
}

#edit-page-title,
#new-post-div input.text {
    border: none;
    color: rgba(var(--edit-area-textarea-text-color));
    background: rgba(var(--edit-area-textarea-background-color));
    margin: 0;
    padding: 0.2em 0.5em;
    width: 100%;
    box-sizing: border-box;
    outline: none;
    transition: box-shadow var(--general-transition-time-slow);
    font-weight: 900;
}

#edit-page-textarea,
#new-post-div textarea#np-text {
    width: 100% !important;
    color: rgba(var(--edit-area-textarea-text-color));
    background: rgba(var(--edit-area-textarea-background-color));
    padding: 0.5rem;
    font-size: 0.95rem;
    outline: none;
    box-sizing: border-box;
    border: none;
    transition: box-shadow var(--general-transition-time-slow);
}

.change-textarea-size {
    margin: 1rem 0;
    padding: 0;
    display: flex;
}

.change-textarea-size a {
    color: rgba(var(--edit-area-button-text-color));
    background: rgba(var(--edit-area-button-background-color));
    border: none;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.5rem;
    height: 1.5rem;
    font-size: 1rem;
    margin-left: 0.5rem;
    text-decoration: none;
    transition: background var(--general-transition-time-fast);
}

.edit-help-34 {
    margin: 1rem 0;
    font-size: 0;
}

.edit-help-34 a {
    color: rgba(var(--edit-area-button-text-color));
    background: rgba(var(--edit-area-button-background-color));
    height: 1.5rem;
    padding: 0 0.5em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-right: 0.5rem;
    font-size: 0.8rem;
    text-decoration: none;
    transition: background var(--general-transition-time-fast);
}

.edit-help-34 a:is(:hover, :active, :focus, :focus-within),
.change-textarea-size a:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--edit-area-hover-button-text-color));
    background: rgba(var(--edit-area-hover-button-background-color));
}

.edit-page-bottomtable {
    margin: 1rem 0;
    padding: 0;
    display: flex;
    grid-gap: 1rem;
    flex-wrap: wrap;
}

.edit-page-bottomtable tbody,
.edit-page-bottomtable tr {
    display: contents;
}

.edit-page-bottomtable td {
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    font-size: 0.8rem;
    font-weight: 500;
    flex-basis: calc((var(--body-width) - 2rem) / 3);
    flex-grow: 1;
}

#edit-page-comments {
    color: rgba(var(--edit-area-textarea-text-color));
    background: rgba(var(--edit-area-textarea-background-color));
    font-size: 0.95rem;
    outline: none;
    width: 100% !important;
    box-sizing: border-box;
    min-height: 5rem;
    transition: box-shadow var(--general-transition-time-slow);
    border: none;
    padding: 0.5rem;
}

.edit-page-bottomtable td .sub {
    text-align: right;
    color: rgba(var(--action-area-subtext-color));
}

#edit-page-title:focus-visible,
#edit-page-textarea:focus-visible,
#edit-page-comments:focus-visible,
#new-post-div input.text:focus-visible,
#new-post-div textarea#np-text:focus-visible {
    box-shadow: 2px 2px 0 rgba(var(--edit-area-textarea-border-color)), -2px 2px 0 rgba(var(--edit-area-textarea-border-color)), -2px -2px 0 rgba(var(--edit-area-textarea-border-color)), 2px -2px 0 rgba(var(--edit-area-textarea-border-color));
}

#lock-info {
    color: rgba(var(--edit-area-info-text-color));
    background: rgba(var(--edit-area-info-background-color));
    margin: 0;
    padding: 2em 1em;
    width: 100%;
    border: none;
    box-sizing: border-box;
}

.do-not-notify {
    display: none;
}

#edit-page-form div.buttons,
#new-post-form div.buttons {
    margin: 1rem 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0.5rem;
}

div.buttons input, input.button, button, file, a.button {
    margin: 0;
    padding: 0 0.5em;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    color: rgba(var(--general-button-text-color));
    background: rgba(var(--general-button-background-color));
    flex-basis: 6.5em;
    flex-grow: 1;
    height: 2rem;
    cursor: pointer;
    transition: background var(--general-transition-time-fast);
    line-height: 1;
    text-decoration: none;
}

div.buttons input:is(:hover, :active, :focus, :focus-within),
input.button:is(:hover, :active, :focus, :focus-within),
button:is(:hover, :active, :focus, :focus-within),
file:is(:hover, :active, :focus, :focus-within),
a.button:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--general-hover-button-text-color));
    background: rgba(var(--general-hover-button-background-color));
}

#edit-page-form div.buttons input {
    color: rgba(var(--edit-area-button-text-color));
    background: rgba(var(--edit-area-button-background-color));
}

#edit-page-form div.buttons input:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--edit-area-hover-button-text-color));
    background: rgba(var(--edit-area-hover-button-background-color));
}

:is(#wd-editor-toolbar-panel, #np-editor-panel) {
    margin: 1rem 0;
    display: flex;
    flex-direction: column;
    grid-gap: 0.5rem;
}

:is(#wd-editor-toolbar-panel, #np-editor-panel) div {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0.5rem;
    width: 100%;
    justify-content: center;
    height: auto;
}

:is(#wd-editor-toolbar-panel, #np-editor-panel) div > ul {
    display: contents;
}

:is(#wd-editor-toolbar-panel, #np-editor-panel) div > ul li {
    display: block;
    width: 2rem;
    height: 2rem;
}

:is(#wd-editor-toolbar-panel, #np-editor-panel) div > ul > li.hseparator {
    display: none;
}

:is(#wd-editor-toolbar-panel, #np-editor-panel) ul li:hover ul {
    border: 2px solid rgba(var(--edit-area-hover-button-background-color));
}

:is(#wd-editor-toolbar-panel, #np-editor-panel) a {
    width: 100%;
    height: 100%;
    background: rgba(var(--edit-area-button-background-color));
    transition: background var(--general-transition-time-fast);
}

:is(#wd-editor-toolbar-panel, #np-editor-panel) a:is(:hover, :active, :focus, :focus-within) {
    background: rgba(var(--edit-area-hover-button-background-color));
}

:is(#wd-editor-toolbar-panel, #np-editor-panel) a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    -webkit-mask-image: var(--edit-area-toolbar-icon-mask);
            mask-image: var(--edit-area-toolbar-icon-mask);
    background: rgba(var(--edit-area-button-text-color));
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 75%;
            mask-size: 75%;
}

:is(#wd-editor-toolbar-panel, #np-editor-panel) a:is(:hover, :active, :focus, :focus-within)::before {
    background: rgba(var(--edit-area-hover-button-text-color));
}

#view-diff-div {
    margin-top: 2rem;
    position: relative;
}

#view-diff-div > p {
    display: contents;
}

#view-diff-div > h1 {
    margin-top: 0;
}

.preview-message {
    position: fixed;
    top: 1rem;
    right: 1rem;
    background: rgba(var(--warning-color));
    color: rgba(var(--warning-text-color));
    padding: 1em;
    font-size: 0.9rem;
    border: none;
    z-index: 20;
    opacity: 1;
}

.preview-message a {
    font-weight: 700;
    color: rgba(var(--warning-text-color));
}

/* Who Rates? */
#who-rated-page-area > div {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(var(--body-width) / 4 - 2rem), 1fr) 1.25rem);
    font-size: 0.85rem;
    overflow: hidden;
}

#who-rated-page-area br {
    display: none;
}

#who-rated-page-area .printuser {
    border-bottom: rgba(var(--action-area-border-color)) solid 0.15rem;
    padding: 0.2rem;
}

#who-rated-page-area span[style*=color] {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-weight: 700;
    color: rgba(var(--text-color)) !important;
    font-size: 1.25em;
    line-height: 1;
    border-bottom: rgba(var(--action-area-border-color)) solid 0.15rem;
}

/* Tags */
#action-area {
    position: relative;
    padding: 0.01px 0;
    margin: 1rem 0;
}

#action-area > h1 {
    line-height: 1;
    margin-top: 0;
}

#file-upload-form table.form,
#rename-option-rename table.form,
form[onsubmit*=setParent] > table.form,
form[onsubmit*=PageTagsModule] > table.form {
    margin: 0;
    display: flex;
    flex-direction: column;
}

table.form tbody,
table.form tr {
    display: contents;
}

table.form td {
    display: block;
    padding: 0;
}

table.form td:first-child {
    font-size: 85%;
    padding-bottom: 0.2em;
    font-weight: 700;
}

table.form td input,
.new-page-box form input.text {
    width: 100%;
    box-sizing: border-box;
    border: none;
    background: rgba(var(--edit-area-textarea-background-color));
    color: rgba(var(--edit-area-textarea-text-color));
    padding: 0.2em 0.5em;
    margin: 0;
    outline: none;
    transition: box-shadow var(--general-transition-time-slow);
    font-weight: 500;
}

table.form td input:focus-visible,
.new-page-box form input.text:focus-visible {
    box-shadow: 2px 2px 0 rgba(var(--edit-area-textarea-border-color)), -2px 2px 0 rgba(var(--edit-area-textarea-border-color)), -2px -2px 0 rgba(var(--edit-area-textarea-border-color)), 2px -2px 0 rgba(var(--edit-area-textarea-border-color));
}

table.form td div.sub {
    text-align: right;
    color: rgba(var(--action-area-subtext-color));
    font-weight: 500;
    font-size: 0.8rem;
}

div.buttons {
    margin: 1rem 0;
    padding: 0;
    display: flex;
    grid-gap: 1rem;
}

a.action-area-close,
#view-diff-div > p > a {
    position: absolute;
    top: 0;
    right: 0;
    height: 2rem;
    width: 2rem;
    background: rgba(var(--general-button-background-color));
    color: rgba(var(--general-button-text-color));
    transition: background var(--general-transition-time-slow);
    text-decoration: none;
    font-size: 0;
    margin: 0;
    border: none;
}

a.action-area-close::before,
#view-diff-div > p > a::before {
    content: "✕";
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 1;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

a.action-area-close:is(:hover, :active, :focus, :focus-within),
#view-diff-div > p > a:is(:hover, :active, :focus, :focus-within) {
    background: rgba(var(--general-hover-button-background-color));
    color: rgba(var(--general-hover-button-text-color));
}

/* Files */
#file-upload-form table.form tr:first-child {
    display: flex;
    grid-gap: 0.5rem;
    width: 100%;
    margin-bottom: 1rem;
}

#file-upload-form table.form tr:first-child td {
    flex: auto;
}

#file-upload-form table.form tr:first-child td:first-child {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex: none;
}

#file-upload-form table.form tr:first-child td:first-child::after {
    content: ":";
}

#upload-userfile[type=file] {
    cursor: pointer;
    box-shadow: none;
    transition: box-shadow var(--general-transition-time-slow);
}

#upload-userfile[type=file]:is(:hover, :active, :focus, :focus-within) {
    box-shadow: 2px 2px 0 rgba(var(--edit-area-textarea-border-color)), -2px 2px 0 rgba(var(--edit-area-textarea-border-color)), -2px -2px 0 rgba(var(--edit-area-textarea-border-color)), 2px -2px 0 rgba(var(--edit-area-textarea-border-color));
}

#upload-userfile[type=file]::file-selector-button {
    margin: -0.2em 0.5em -0.2em -0.5em;
    padding: 0.4em 0.5em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: none;
    color: rgba(var(--general-button-text-color));
    background: rgba(var(--general-button-background-color));
    min-width: 5em;
    cursor: pointer;
    transition: background var(--general-transition-time-fast);
    font-weight: 500;
    line-height: normal;
}

#upload-userfile[type=file]::file-selector-button:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--general-hover-button-text-color));
    background: rgba(var(--general-hover-button-background-color));
}

#file-comments {
    color: rgba(var(--edit-area-textarea-text-color));
    background: rgba(var(--edit-area-textarea-background-color));
    font-size: 0.95rem;
    outline: none;
    width: 100% !important;
    box-sizing: border-box;
    min-height: 5rem;
    transition: box-shadow var(--general-transition-time-slow);
    border: none;
}

#file-comments:focus-visible {
    box-shadow: 2px 2px 0 rgba(var(--edit-area-textarea-border-color)), -2px 2px 0 rgba(var(--edit-area-textarea-border-color)), -2px -2px 0 rgba(var(--edit-area-textarea-border-color)), 2px -2px 0 rgba(var(--edit-area-textarea-border-color));
}

/* History */
#history-form-1 table.form {
    margin: 0;
    width: 100%;
}

#history-form-1 table.form tr:first-child td:last-child {
    display: grid;
    grid-template-columns: repeat(auto-fill, 1rem minmax(10em, 1fr));
    font-size: 0.9rem;
    margin-bottom: 1rem;
}

#history-form-1 table.form tr:first-child td:last-child br {
    display: none;
}

#history-form-1 table.form tr:last-child {
    display: flex;
    align-items: baseline;
}

#history-form-1 table.form tr:last-child td:first-child {
    margin-right: 1ex;
}

#revision-list {
    margin-top: 3rem;
}

#revision-list .pager {
    margin: 0;
}

.pager {
    position: relative;
    width: 100%;
    padding-top: 1.5rem;
    display: flex;
    border-bottom: rgba(var(--general-hover-button-background-color)) solid 0.2rem;
    flex-wrap: wrap;
}

.pager-no {
    position: absolute;
    padding: 0;
    font-weight: 700;
    font-size: 0.8rem;
    top: 0;
    left: 0;
}

.pager .target {
    display: contents;
}

.pager a, .pager .current, .pager .dots {
    display: flex;
    flex: auto;
    border: none;
    margin: 0;
    padding: 0.2em;
    text-decoration: none;
    color: rgba(var(--text-color));
    background: transparent;
    justify-content: center;
    font-size: 0.9rem;
    transition: background var(--general-transition-time-slow);
    min-width: 1rem;
    font-weight: 500;
}

.pager a:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--general-button-text-color));
    background: rgba(var(--general-button-background-color));
}

.pager .current {
    color: rgba(var(--general-hover-button-text-color));
    background: rgba(var(--general-hover-button-background-color));
}

table.page-history {
    display: flex;
    flex-direction: column;
}

table.page-history tbody {
    display: contents;
}

table.page-history tr:first-child {
    display: none;
}

table.page-history tr {
    display: grid;
    grid-template-areas: "revision choose action user memo date" "signature choose action user memo date";
    grid-template-columns: 2.5rem 3rem 4.4rem max-content 1fr max-content;
    border-bottom: rgba(var(--action-area-border-color)) solid 0.15rem;
    padding: 0.5rem 0;
    transition: background var(--general-transition-time-slow);
}

table.page-history tr:is(:hover, :focus-within) {
    background: rgba(var(--action-area-border-color));
}

table.page-history tr td {
    display: block;
    padding: 0;
}

table.page-history tr td:nth-child(1) {
    grid-area: revision;
    font-size: 0.8rem;
    text-align: center;
}

table.page-history tr td:nth-child(2) {
    grid-area: choose;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    width: 100% !important;
}

table.page-history tr td:nth-child(2) input {
    margin: 0;
}

table.page-history tr td:nth-child(3) {
    grid-area: signature;
    font-size: 0.9rem;
    font-weight: 700;
    text-align: center;
}

table.page-history tr td:nth-child(4) {
    grid-area: action;
    width: 100% !important;
    display: flex;
    grid-gap: 0.2rem;
    align-items: center;
    padding: 0 0.2rem;
    box-sizing: border-box;
}

table.page-history tr td:nth-child(4) a {
    border: none;
    padding: 0;
    width: 1.2rem;
    height: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: rgba(var(--general-button-text-color));
    background: rgba(var(--general-button-background-color));
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: background var(--general-transition-time-slow);
}

table.page-history tr td:nth-child(4) a:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--general-hover-button-text-color));
    background: rgba(var(--general-hover-button-background-color));
}

table.page-history tr td:nth-child(5) {
    grid-area: user;
    width: -moz-fit-content !important;
    width: fit-content !important;
    display: flex;
    padding: 0 0.5rem;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
}

table.page-history tr td:nth-child(6) {
    grid-area: date;
    width: -moz-fit-content !important;
    width: fit-content !important;
    font-size: 0.8rem;
    font-weight: 400;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 0.5rem;
    padding: 0 0.25rem 0 0 !important;
}

table.page-history tr td:nth-child(7) {
    grid-area: memo;
    word-break: break-word;
    font-size: 0.85rem !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

table.page-compare {
    display: grid;
    width: 100%;
    margin: 1rem 0;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
}

table.page-compare tbody,
table.page-compare tr {
    display: contents;
}

table.page-compare tr > *:first-child {
    display: none;
}

table.page-compare tr > * {
    display: block;
    border: none;
    padding: 0;
}

table.page-compare th {
    font-size: 0.8rem;
    text-align: left;
    color: rgba(var(--action-area-subtext-color));
    font-weight: 700;
    line-height: 1;
}

#history-subarea {
    margin-top: 2rem;
    position: relative;
}

#history-subarea > h2 {
    margin-top: 0;
}

/* Page Tools */
#site-tools-box {
    padding-top: 2rem !important;
}

.page-options-bottom {
    margin: 1rem 0;
    padding: 0;
    display: flex;
    grid-gap: 0.5rem;
}

.page-options-bottom ul,
.page-options-bottom li {
    display: contents;
}

.page-options-bottom a {
    flex: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    color: rgba(var(--general-button-text-color));
    background: rgba(var(--general-button-background-color));
    text-decoration: none;
    transition: background var(--general-transition-time-slow);
    height: 2rem;
}

.page-options-bottom a:is(:hover, :active) {
    color: rgba(var(--general-hover-button-text-color));
    background: rgba(var(--general-hover-button-background-color));
}

#st-action-area {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    overflow-wrap: anywhere;
}

.wanted-pages-module,
#st-action-area > h1,
#st-action-area > p {
    grid-column: 1/span 2;
}

.wanted-pages-module table.form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
}

.wanted-pages-module table.form th,
.wanted-pages-module table.form td {
    border: none;
}

.wanted-pages-module table.form th {
    background: rgba(var(--action-area-info-background-color));
    color: rgba(var(--action-area-info-text-color));
    font-size: 0.8rem;
}

.wanted-pages-module table.form td {
    font-weight: 400;
    font-size: 0.8rem;
    border-bottom: rgba(var(--action-area-border-color)) solid 0.15rem;
    transition: background var(--general-transition-time-slow);
}

.wanted-pages-module table.form td:is(:hover, :focus-within) {
    background: rgba(var(--action-area-border-color));
}

.wanted-pages-module table.form td:last-child {
    display: flex;
    align-items: center;
}

#st-action-area > br {
    display: none;
}

#st-action-area > a,
#st-action-area > span {
    border-bottom: rgba(var(--action-area-border-color)) solid 0.15rem;
    transition: background var(--general-transition-time-slow);
    display: block;
    padding: 0.3rem 0.5rem;
}

#st-action-area > a:is(:hover, :active, :focus, :focus-within),
#st-action-area > span:is(:hover, :focus-within) {
    background: rgba(var(--action-area-border-color));
}

#st-action-area > a:has(+ span) {
    text-align: right;
}

#st-action-area > a:has(+ br) {
    grid-column: 1/span 2;
}

#st-action-area > span {
    color: rgba(var(--action-area-subtext-color)) !important;
}

/* Edit Meta */
#action-area h1 + p + h2 ~ div[style="padding-left:3em;"] {
    padding: 0 !important;
    margin: 1rem 0;
}

#action-area h1 + p + h2 ~ div[style="padding-left:3em;"] > div {
    display: flex;
    border-bottom: rgba(var(--action-area-border-color)) solid 0.15rem;
    word-break: break-word;
}

#action-area h1 + p + h2 ~ div[style="padding-left:3em;"] > div a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: rgba(var(--general-button-text-color));
    background: rgba(var(--general-button-background-color));
    text-decoration: none;
    transition: background var(--general-transition-time-slow);
    min-height: 2rem;
    min-width: 3rem;
    font-size: 0.8rem;
    margin-right: 0.5rem !important;
}

#action-area h1 + p + h2 ~ div[style="padding-left:3em;"] > div a:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--general-hover-button-text-color));
    background: rgba(var(--general-hover-button-background-color));
}

/* Watcher */
#action-area p + ul[style*="list-style: none"] {
    padding: 0;
    margin: 1rem 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(var(--body-width) / 4 - 2rem), 1fr));
}

#action-area p + ul[style*="list-style: none"] li {
    font-size: 0.8rem;
    padding: 0.3rem 0.5rem;
    border-bottom: rgba(var(--action-area-border-color)) solid 0.15rem;
    transition: background var(--general-transition-time-slow);
}

#action-area p + ul[style*="list-style: none"] li:is(:hover, :active, :focus, :focus-within) {
    background: rgba(var(--action-area-border-color));
}

/* Backlink */
#action-area > h1 + h2 + ul,
#action-area > h1 + h2 ~ h2 ~ ul {
    display: block;
    padding: 0;
    margin: 1rem 0;
}

#action-area > h1 + h2 + ul li,
#action-area > h1 + h2 ~ h2 ~ ul li {
    font-size: 0.8rem;
    padding: 0.2rem 0.5rem;
    border-bottom: rgba(var(--action-area-border-color)) solid 0.15rem;
    transition: background var(--general-transition-time-slow);
    display: flex;
    align-items: center;
}

#action-area > h1 + h2 + ul li:is(:hover, :active, :focus, :focus-within),
#action-area > h1 + h2 ~ h2 ~ ul li:is(:hover, :active, :focus, :focus-within) {
    background: rgba(var(--action-area-border-color));
}

#action-area > h1 + h2 + ul li > *,
#action-area > h1 + h2 ~ h2 ~ ul li > * {
    flex: none;
}

#action-area > h1 + h2 + ul li > a:first-child,
#action-area > h1 + h2 ~ h2 ~ ul li > a:first-child {
    flex: 1;
}

/* Page Source */
.page-source {
    background: rgba(var(--page-source-background-color));
    color: rgba(var(--page-source-text-color));
    word-break: break-word;
    border: none;
    padding: 1rem;
    font-family: var(--mono-font);
    font-size: 0.8rem;
}

.inline-diff del {
    white-space: normal;
    color: rgba(var(--warning-text-color));
    background: rgba(var(--warning-color));
    text-decoration: none;
}

.inline-diff ins {
    white-space: normal;
    color: rgba(var(--accept-text-color));
    background: rgba(var(--accept-color));
    text-decoration: none;
}

/* Parent */
.autocomplete-container {
    width: 100% !important;
}

.error-block {
    background: rgba(var(--warning-color));
    color: rgba(var(--warning-text-color));
    border: none;
    margin: 1rem 0;
    padding: 0.3rem 1rem;
    text-align: center;
}

.error-block a {
    color: rgba(var(--warning-text-color));
}

/* Rename */
#rename-backlinks-box table.form {
    display: grid;
    grid-template-columns: 1fr max-content;
    grid-template-rows: auto;
}

#rename-backlinks-box table.form th {
    background: rgba(var(--action-area-info-background-color));
    color: rgba(var(--action-area-info-text-color));
    font-size: 0.8rem;
    padding: 0.5em 1em;
}

#rename-backlinks-box table.form td {
    font-weight: 400;
    font-size: 0.8rem;
    border-bottom: rgba(var(--action-area-border-color)) solid 0.15rem;
    transition: background var(--general-transition-time-slow);
    padding: 0.5em 1em;
}

#rename-backlinks-box table.form td:is(:hover, :focus-within) {
    background: rgba(var(--action-area-border-color));
}

#rename-backlinks-box table.form td:last-child {
    display: flex;
    align-items: center;
}

#rename-option-rename table.form tr:last-child td {
    grid-column: 1/span 2;
    display: flex;
}

#rename-option-rename table.form tr:first-child td:last-child {
    margin-bottom: 1rem;
    padding: 0.2em 0.5em;
    background: rgba(var(--action-area-info-background-color));
    color: rgba(var(--action-area-info-text-color));
    font-family: var(--mono-font);
    font-weight: 500;
}

#action-area > a.action-area-close + h1 + p + table.form {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

#action-area > a.action-area-close + h1 + p + table.form > tbody > tr > td:nth-child(2) {
    display: grid;
    grid-template-columns: 1.25em 1fr;
    align-items: center;
    gap: 0.25rem 0.125rem;
}

/* ------------------- */
/* Hovertips --------- */
/* ------------------- */
#avatar-hover-container {
    display: none;
}

.hovertip {
    background: rgba(var(--hovertip-background-color)) !important;
    color: rgba(var(--hovertip-text-color));
    border: rgba(var(--hovertip-border-color)) solid 0.15rem !important;
    padding: 0;
    font-size: 0.95rem;
    font-weight: 500;
    width: -moz-max-content;
    width: max-content;
    max-width: min(87.5%, var(--body-width) * 0.75);
}

/* ------------------- */
/* Writing Elements -- */
/* ------------------- */
/* Image Blocks */
#page-content > img {
    margin: 1rem 0;
}

.image-container {
    padding: 0;
    margin: 1rem 0;
    max-width: 100%;
}

.scp-image-block {
    display: flex;
    flex-direction: column;
    box-shadow: 0.2rem 0.2rem 0.4rem rgba(var(--imageblock-shadow-color));
    clear: both;
    border: rgba(var(--imageblock-border-color)) var(--imageblock-border-width) solid;
    max-width: 100%;
}

.scp-image-caption {
    background: rgba(var(--imageblock-caption-background-color));
    color: rgba(var(--imageblock-caption-text-color));
    padding: 0.2em 1em;
    text-align: center;
    width: auto !important;
}

.scp-image-caption p {
    font-size: 0.8rem;
    font-weight: 700;
}

#page-content .scp-image-caption p:first-child {
    margin-top: 0;
}

#page-content .scp-image-caption p:last-child {
    margin-bottom: 0;
}

.scp-image-block.block-right,
.image-container.floatright {
    float: right;
    margin: 0.25rem 0 1rem 2rem;
}

.scp-image-block.block-left,
.image-container.floatleft {
    float: left;
    margin: 0.25rem 2rem 1rem 0;
}

.scp-image-block.block-center {
    margin: 1rem auto;
}

/* Horizon Line */
hr {
    margin: 1rem 0;
    height: 0;
    border-top: rgba(var(--hr-color)) solid 0.15rem;
}

/* Collapsible */
.collapsible-block-unfolded-link,
.collapsible-block-folded {
    margin: 1rem 0;
}

/* Tabview */
.yui-navset {
    display: flex;
    flex-direction: column;
    width: calc(100% - 2 * var(--tabview-border-width));
    margin: 1rem auto;
}

.yui-navset .yui-nav {
    border: none;
    display: flex;
    flex-wrap: wrap;
    zoom: unset;
    width: 100%;
    z-index: 1;
    box-shadow: 0 0.3rem 0 rgba(var(--tabview-horizon-color));
}

.yui-navset .yui-nav li,
.yui-navset .yui-nav li.selected {
    margin: 0;
    flex-grow: 2;
    zoom: unset;
    box-shadow: 0 0 0 var(--tabview-border-width) rgba(var(--tabview-border-color));
    display: block;
    padding: 0;
    background: rgba(var(--tabview-button-background-color));
    transition: background var(--general-transition-time-slow);
    max-width: 100%;
}

.yui-navset .yui-nav li a,
.yui-navset .yui-nav li.selected a {
    background: none;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    border: none;
    zoom: unset;
    color: rgba(var(--tabview-button-text-color));
}

.yui-navset .yui-nav a:is(:hover, :active, :focus, :focus-within),
.yui-navset .yui-nav .selected a, .yui-navset .yui-nav .selected a:focus, .yui-navset .yui-nav .selected a:hover {
    background: none;
}

.yui-navset .yui-nav li a em,
.yui-navset .yui-nav li.selected a em {
    padding: 0.3em 0.5em;
    margin: 0;
    border: none;
    position: static;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    max-width: 100%;
}

.yui-navset .yui-nav li:is(:hover, :active, :focus, :focus-within) {
    background: rgba(var(--tabview-hover-button-background-color));
}

.yui-navset .yui-nav li:is(:hover, :active, :focus, :focus-within) a {
    color: rgba(var(--tabview-hover-button-text-color));
}

.yui-navset .yui-nav li.selected {
    background: rgba(var(--tabview-selected-button-background-color));
}

.yui-navset .yui-nav li.selected a,
.yui-navset .yui-nav li.selected a:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--tabview-selected-button-text-color));
}

.yui-navset .yui-content {
    box-shadow: 0 0 0 var(--tabview-border-width) rgba(var(--tabview-border-color));
    border: none;
    width: 100%;
    box-sizing: border-box;
    background: rgba(var(--tabview-content-background-color));
    color: rgba(var(--tabview-content-text-color));
    padding: 0.5rem 1rem;
}

/* Wiki Table */
table.wiki-content-table {
    margin: 1rem auto;
}

table.wiki-content-table th {
    background: rgba(var(--table-header-background-color));
    color: rgba(var(--table-header-text-color));
    border: rgba(var(--table-border-color)) var(--table-border-width) solid;
}

table.wiki-content-table td {
    background: rgba(var(--table-background-color));
    color: rgba(var(--table-text-color));
    border: rgba(var(--table-border-color)) var(--table-border-width) solid;
}

/* Blockquote */
blockquote, .blockquote {
    background: rgba(var(--blockquote-background-color));
    color: rgba(var(--blockquote-text-color));
    box-shadow: 0.05rem 0.1rem 0.3rem rgba(var(--blockquote-shadow-color));
    margin: 1rem 2rem;
    border: rgba(var(--blockquote-border-color)) var(--blockquote-border-width) solid;
    padding: 0.01rem 1rem;
}

/* Code Block */
.code {
    background: rgba(var(--code-block-background-color));
    color: rgba(var(--code-block-text-color));
    margin: 1rem 0;
    border: rgba(var(--code-block-border-color)) dashed 0.15rem;
}

/* TOC */
table[style^="margin:0;"][style*="margin:0;"],
table[style^="margin:0;"][style*="margin:0;"] :is(tbody, tr, td) {
    display: contents;
}

#toc {
    display: grid;
    margin: 1rem 0;
    padding: 0;
    width: 60%;
    max-width: 100%;
    background: rgba(var(--toc-background-color));
    color: rgba(var(--toc-text-color));
    border: rgba(var(--toc-border-color)) solid 0.15rem;
    position: relative;
}

#toc.floatright {
    margin: 1rem 0 1rem 2rem;
}

#toc.floatleft {
    margin: 1rem 2rem 1rem 0;
}

#toc .title {
    margin: 0;
    padding: 0.2rem 1rem;
    font-size: 1.25rem;
    text-align: left;
    background: rgba(var(--toc-border-color));
    color: rgba(var(--toc-background-color));
}

#toc #toc-action-bar {
    position: absolute;
    right: 0.5rem;
    top: 0.2rem;
}

#toc-action-bar a {
    color: rgba(var(--toc-background-color));
}

/* Definition List */
dt {
    font-weight: 700;
}

dd {
    margin-inline-start: 1rem;
}

ul, ol {
    padding-inline-start: 2rem;
}

/* Note */
div.wiki-note {
    background: rgba(var(--note-background-color));
    color: rgba(var(--note-text-color));
    border: rgba(var(--note-border-color)) solid 0.2rem;
    text-align: left;
    margin: 1rem auto;
    padding: 1rem;
    max-width: 25rem;
    font-weight: 500;
}

/* Error inline */
.error-inline {
    color: rgba(var(--warning-text-color));
    background: rgba(var(--warning-color));
    display: inline-block;
    padding: 0.2em 0.5em;
    margin: 0 0.2em;
    font-size: 0.8rem;
    font-weight: 500;
    vertical-align: middle;
    border: none;
}

/* Footnote & Reference */
.footnote .f-footer,
.reference .r-footer {
    display: none;
}

.footnote .f-content,
.reference .r-content {
    font-weight: 400;
}

.footnotes-footer,
.bibitems {
    background: rgba(var(--footnote-block-background-color));
    color: rgba(var(--footnote-block-text-color));
    border-left: rgba(var(--footnote-block-border-color)) solid 0.4rem;
    margin: 1rem 0;
    padding: 1rem;
    height: auto;
}

.footnotes-footer .title,
.bibitems .title {
    margin: 0 0 0.5rem;
}

.footnotes-footer .footnote-footer a:first-child {
    font-family: var(--mono-font);
}

.bibitem:not(:last-child) {
    margin-bottom: 0.5rem;
}

/* ------------------- */
/* Popups ------------ */
/* ------------------- */
.odialog-shader, .odialog-shader-iframe {
    display: none;
}

#odialog-container[style*=block],
div.fader,
div.infobox-footer {
    display: flex !important;
    justify-content: center;
    align-items: center;
    position: fixed;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(var(--general-blur));
    background: rgba(var(--popup-fader-color));
    top: 0;
    left: 0;
    padding: 0;
    margin: 0;
    box-shadow: none;
}

div.infobox-footer {
    z-index: -1;
    backdrop-filter: none;
}

div.infobox-footer p a.button {
    padding: 0;
    margin: 0;
    font-size: 0;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0);
    position: absolute;
    border: none;
}

div.modalcontainer,
div#u-infobox {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    width: 100%;
    height: 100%;
    max-width: unset;
    pointer-events: none;
}

div#u-infobox {
    backdrop-filter: blur(var(--general-blur));
}

.owindow,
div.modalbox,
div.infobox {
    max-width: 80ch;
    top: initial !important;
    left: initial !important;
    position: relative;
    flex-basis: calc(100% - 2rem);
    background: rgba(var(--popup-background-color));
    box-sizing: border-box;
    border: rgba(var(--popup-border-color)) solid 0.2rem;
    color: rgba(var(--popup-text-color));
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    pointer-events: auto;
    font-size: var(--content-font-size);
}

div.infobox {
    pointer-events: inherit;
}

.owindow.owait,
.owindow.osuccess {
    padding: 0.6rem 2rem;
    flex-basis: 1px;
    text-align: center;
}

.owindow.osuccess .content {
    white-space: nowrap;
    margin: 0;
    padding: 0;
    background-image: none;
}

.owindow.owait {
    display: flex;
    align-items: center;
    flex-direction: column;
    height: 5rem;
}

.owindow.owait::before {
    content: var(--popup-loading-content);
    display: block;
    white-space: nowrap;
}

.owindow.owait .content {
    display: block;
    position: relative;
    width: 0.2rem;
    height: 0.5rem;
    animation: saving-page-animation infinite 1s ease-in-out -0.2s;
    background-image: none;
    background-color: rgba(var(--popup-loading-color));
    font-size: 0;
    margin: 1rem;
    padding: 0;
    flex: none;
}

.owindow.owait .content:before,
.owindow.owait .content:after {
    position: absolute;
    width: 0.2rem;
    height: 0.5rem;
    content: "";
    background-color: rgba(var(--popup-loading-color));
}

.owindow.owait .content:before {
    left: -0.6rem;
    animation: saving-page-animation infinite 1s ease-in-out -0.4s;
}

.owindow.owait .content:after {
    right: -0.6rem;
    animation: saving-page-animation infinite 1s ease-in-out;
}

@keyframes saving-page-animation {
    0%, 80%, 100% {
        height: 0.7rem;
        box-shadow: 0 0 rgba(var(--popup-loading-color));
    }
    40% {
        height: 1rem;
        box-shadow: 0 -0.7rem rgba(var(--popup-loading-color));
    }
}
.owindow .title {
    cursor: initial;
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    background: rgba(var(--popup-title-background-color));
    color: rgba(var(--popup-title-text-color));
}

.owindow .content {
    padding: 1rem 1rem 0;
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0.75rem;
}

.owindow > :not(.button-bar, .title) > :not(img, img + h1) {
    flex-basis: 100%;
    margin: 0;
}

.owindow .content > img {
    width: 5rem;
    height: 5rem;
    padding: 0 !important;
    background: none !important;
}

.owindow .content > img + h1 {
    margin: 0;
    display: flex;
    align-items: center;
    margin-left: 0.5rem;
}

.owindow .content > img + h1 + table {
    display: grid;
    border-top: rgba(var(--popup-text-color), 0.18) solid 0.1rem;
    grid-template-columns: max-content 1fr;
    max-height: 42.5vh;
    overflow-y: auto;
}

.owindow .content > img + h1 + table tbody,
.owindow .content > img + h1 + table tr {
    display: contents;
}

.owindow .content > img + h1 + table td {
    padding: 0.35rem 0.5rem;
    border-bottom: rgba(var(--popup-text-color), 0.18) solid 0.1rem;
    font-size: 0.9rem;
}

.owindow .content > img + h1 + table td img {
    vertical-align: middle;
}

.owindow .content > img + h1 + table + div {
    margin-top: 0.25rem !important;
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0.5rem;
}

.owindow .button-bar > a:not([onclick*=cleanAll]),
.owindow div[style*=margin-top] a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: rgba(var(--popup-button-text-color));
    background: rgba(var(--popup-button-background-color));
    flex-basis: 8em;
    flex-grow: 2;
    height: 2rem;
    transition: background var(--general-transition-time-fast);
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    padding: 0 0.5em;
    font-size: 0.8rem;
    white-space: nowrap;
    border: none;
}

.owindow .button-bar > a:not([onclick*=cleanAll]):is(:hover, :active, :focus, :focus-within),
.owindow div[style*=margin-top] a:is(:hover, :active, :focus, :focus-within) {
    color: rgba(var(--popup-hover-button-text-color));
    background: rgba(var(--popup-hover-button-background-color));
}

.owindow .content > img + h1 + table + div > div {
    display: contents;
}

.owindow .content > img + h1 + table + div > a:nth-child(2) {
    order: 1;
}

.owindow .content > img + h1 + table + div > a:nth-child(3) {
    order: 2;
}

.owindow .content > img + h1 + table + div > a:nth-child(4) {
    order: 3;
}

.owindow .content > img + h1 + table + div > div a {
    order: 4;
}

.owindow .button-bar {
    padding: 0.5rem;
    margin: 0;
    display: flex;
}

.owindow .button-bar > a[onclick*=cleanAll] {
    position: absolute;
    border: none;
    margin: 0;
    padding: 0;
    height: 2.5rem;
    bottom: -2.2rem;
    right: 0;
    width: 100%;
    background: transparent;
    color: rgba(var(--popup-tip-color));
    display: flex;
    font-size: 0;
    font-weight: 700;
    justify-content: center;
    align-items: flex-end;
}

.owindow .button-bar > a[onclick*=cleanAll]:hover {
    background: transparent;
}

.owindow .button-bar > a[onclick*=cleanAll]::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.owindow .button-bar > a[onclick*=cleanAll]::after {
    content: var(--popup-tip-content);
    font-size: 0.8rem;
}

/* Rating Module */
ul.creditRate {
    margin: 0;
    display: block;
    padding: 0;
}

.creditRate > li {
    line-height: 1.5;
}

div.rate-box-with-credit-button,
div.page-rate-widget-box,
div.creditButtonStandalone {
    display: inline-flex;
    background: rgba(var(--rating-background-color));
    color: rgba(var(--rating-text-color));
    border: none;
    padding: 0;
    margin: 0.2rem 0;
    border-radius: 0;
    box-shadow: none;
    border-bottom: rgba(var(--rating-border-color)) solid 0.15rem;
}

div.creditBottomRate div.page-rate-widget-box {
    border-bottom: none;
}

div.rate-box-with-credit-button div.page-rate-widget-box,
div.creditButton p,
div.creditButtonStandalone p {
    display: contents;
}

div.page-rate-widget-box .rate-points {
    color: rgba(var(--rating-text-color));
    background: transparent;
    display: flex;
    align-items: center;
    font-size: 0.7rem;
    padding: 0 0.5rem;
    grid-gap: 0.1rem;
}

div.page-rate-widget-box .rate-points .number {
    font-size: 1rem;
}

div.rate-box-with-credit-button div.creditButton {
    display: block;
}

div.page-rate-widget-box .btn,
div.rate-box-with-credit-button div.creditButton {
    width: 1.6rem;
    height: 1.6rem;
}

div.page-rate-widget-box a,
div.creditButton p a,
div.creditButtonStandalone p a {
    background: transparent;
    text-decoration: none;
    border: none;
    font-family: var(--body-font);
    font-size: 0;
    display: flex;
    width: 100%;
    height: 100%;
    padding: 0;
    transition: background var(--general-transition-time-slow);
    margin: 0;
}

div.creditButtonStandalone p a {
    width: 1.6rem;
    height: 1.6rem;
    box-shadow: none;
    border-radius: 0;
}

div.page-rate-widget-box a::before,
div.creditButton p a::before,
div.creditButtonStandalone p a::before {
    --rating-module-button-mask: none;
    --rating-module-button-color: var(--rating-text-color);
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    -webkit-mask-image: var(--rating-module-button-mask);
            mask-image: var(--rating-module-button-mask);
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: 40%;
            mask-size: 40%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    background: rgba(var(--rating-module-button-color));
}

div.page-rate-widget-box .rateup a:is(:hover, :active, :focus, :focus-within) {
    background: rgba(var(--rating-rateup-color));
}

div.page-rate-widget-box .rateup a::before {
    --rating-module-button-mask: var(--vote-plus-mask);
}

div.page-rate-widget-box .rateup a:is(:hover, :active, :focus, :focus-within)::before {
    --rating-module-button-color: var(--rating-rateup-text-color);
}

div.page-rate-widget-box .ratedown a:is(:hover, :active, :focus, :focus-within) {
    background: rgba(var(--rating-ratedown-color));
}

div.page-rate-widget-box .ratedown a::before {
    --rating-module-button-mask: var(--vote-minus-mask);
}

div.page-rate-widget-box .ratedown a:is(:hover, :active, :focus, :focus-within)::before {
    --rating-module-button-color: var(--rating-ratedown-text-color);
}

div.page-rate-widget-box .cancel a:is(:hover, :active, :focus, :focus-within) {
    background: rgba(var(--rating-cancel-color));
}

div.page-rate-widget-box .cancel a::before {
    --rating-module-button-mask: var(--vote-cancel-mask);
}

div.page-rate-widget-box .cancel a:is(:hover, :active, :focus, :focus-within)::before {
    --rating-module-button-color: var(--rating-cancel-text-color);
}

div.creditButton p a:is(:hover, :active, :focus, :focus-within),
div.creditButtonStandalone p a:is(:hover, :active, :focus, :focus-within) {
    background: rgba(var(--rating-info-color));
}

div.creditButtonStandalone p a::before,
div.creditButton p a::before {
    --rating-module-button-mask: var(--vote-info-mask);
    -webkit-mask-size: 27.5%;
            mask-size: 27.5%;
    -webkit-mask-position: center 40%;
            mask-position: center 40%;
}

div.creditButtonStandalone p a:is(:hover, :active, :focus, :focus-within)::before,
div.creditButton p a:is(:hover, :active, :focus, :focus-within)::before {
    --rating-module-button-color: var(--rating-info-text-color);
}

div.modalbox {
    max-height: unset;
}

div.modalbox::after,
div.infobox::after {
    position: absolute;
    border: none;
    margin: 0;
    padding: 0;
    height: 2.5rem;
    bottom: -2.2rem;
    right: 0;
    width: 100%;
    background: transparent;
    color: rgba(var(--popup-tip-color));
    display: flex;
    font-weight: 700;
    justify-content: center;
    align-items: flex-end;
    content: var(--popup-tip-content);
    font-size: 0.8rem;
    pointer-events: none;
}

div.modalbox > hr {
    display: none;
}

div.modalbox > div:first-child,
div.infobox-title {
    background: rgba(var(--popup-title-background-color));
    padding: 0.5rem 1rem;
    text-align: left !important;
    display: block;
    line-height: 1.5;
}

div.modalbox > div:first-child h2,
div.infobox-title p {
    margin: 0;
    font-size: 1.25rem;
    color: rgba(var(--popup-title-text-color));
    font-family: var(--title-font);
}

div.close-credits {
    display: none;
}

div.infobox-body,
div.infobox-footer p {
    display: contents;
}

div.modalbox .credit,
div.infobox-body > div:first-child {
    padding: 0.5rem 1rem;
    margin: 0;
    max-height: 47.5vh;
    overflow-y: auto;
    height: auto;
    min-height: 5rem;
}

div.creditBottomRate {
    height: auto;
    border-top: rgba(var(--popup-text-color), 0.18) solid 0.15rem;
    padding: 0.5rem 0;
}

div.creditRate + br + span[style*="margin-top: -0.7rem"] {
    margin: -0.2rem 0.5rem 0.2rem 0 !important;
    font-weight: 500;
    font-size: 0.9em;
}

/* The 4 */
.lightblock {
    background: rgba(var(--lightblock-background-color));
    color: rgba(var(--lightblock-text-color));
    margin: 1rem 0;
    padding: 0.5rem 1rem;
}

.darkblock {
    --h1-color: var(--darkblock-text-color);
    --h2-color: var(--darkblock-text-color);
    --h3-color: var(--darkblock-text-color);
    --h4-color: var(--darkblock-text-color);
    --h5-color: var(--darkblock-text-color);
    --h6-color: var(--darkblock-text-color);
    background: rgba(var(--darkblock-background-color));
    color: rgba(var(--darkblock-text-color));
    margin: 1rem 0;
    padding: 0.5rem 1rem;
}

.styled-quote {
    background: rgba(var(--styled-quote-background-color));
    color: rgba(var(--styled-quote-text-color));
    border-left: rgba(var(--styled-quote-border-color)) solid 0.6rem;
    margin: 1rem 0;
    padding: 0.5rem 1rem;
}

.dark-styled-quote {
    --h1-color: var(--dark-styled-quote-text-color);
    --h2-color: var(--dark-styled-quote-text-color);
    --h3-color: var(--dark-styled-quote-text-color);
    --h4-color: var(--dark-styled-quote-text-color);
    --h5-color: var(--dark-styled-quote-text-color);
    --h6-color: var(--dark-styled-quote-text-color);
    background: rgba(var(--dark-styled-quote-background-color));
    color: rgba(var(--dark-styled-quote-text-color));
    border-left: rgba(var(--dark-styled-quote-border-color)) solid 0.6rem;
    margin: 1rem 0;
    padding: 0.5rem 1rem;
}

/* Printuser */
.printuser {
    display: inline-flex;
    align-items: baseline;
    gap: 0.25em;
    text-indent: 0;
}

.printuser a {
    margin-right: 0;
}

.printuser > a:first-child {
    display: flex;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    align-self: center;
    min-width: -moz-max-content;
    min-width: max-content;
}

.printuser > a:first-child img {
    height: 1.25em;
    width: 1.25em;
    padding: 0;
    padding-left: 0.5em;
    -o-object-fit: contain;
       object-fit: contain;
    background-size: cover;
    overflow: hidden;
}

.printuser.deleted img {
    height: 1.25em;
    width: 1.25em;
    padding: 0;
    vertical-align: 0;
    align-self: center;
}

/* Old Divs */
.footer-wikiwalk-nav {
    font-weight: 700;
    font-size: 0.8em;
}

.bblock {
    background-color: rgba(var(--text-color));
    transition: color var(--general-transition-time-slow) linear;
}

.bblock:is(:hover, :focus-within) {
    background-color: rgba(var(--text-color));
    color: rgb(var(--background-color));
}

.dblock {
    background-color: currentColor;
    transition: background-color var(--general-transition-time-slow) linear;
}

.dblock:is(:hover, :focus-within) {
    background-color: transparent;
}

.keycap {
    background-color: rgba(var(--general-light-background-color));
    color: rgba(var(--general-light-text-color));
    padding: 0.25em;
    border-radius: 0.25rem;
    box-shadow: 0 0.125em 0 0.05em rgb(var(--dark-color-3), 0.5);
}

.rt, rt {
    display: table-header-group;
    font-size: 0.65em;
    line-height: 1.15;
}

.ruby, ruby {
    display: inline-table;
    line-height: 1;
    vertical-align: text-bottom;
}

.rt, .ruby, rt, ruby {
    text-align: center;
    white-space: nowrap;
}

/* License Box */
.licensebox a.collapsible-block-link {
    opacity: 0.75;
    color: rgba(var(--text-color));
    font-size: 0.85em;
    font-weight: 700;
    transition: opacity var(--general-transition-time-slow);
}

.licensebox a.collapsible-block-link:is(:hover, :active, :focus, :focus-within) {
    opacity: 1;
}

.licensebox :is(blockquote, .blockquote) {
    margin-left: 0;
    margin-right: 0;
}

/* ------------------- */
/* Wikidot Modules --- */
/* ------------------- */
.join-box a {
    display: block;
    margin: 1rem auto;
    padding: 0.2em 1em;
    background-image: none;
    background-color: rgba(var(--general-medium-background-color));
    color: rgba(var(--general-medium-text-color));
    border-radius: 0;
    transition: background var(--general-transition-time-fast);
    text-decoration: none;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 1em;
    font-weight: normal;
}

.join-box a:is(:hover, :active, :focus, :focus-within) {
    background-color: rgba(var(--general-dark-background-color));
    color: rgba(var(--general-dark-text-color));
}

#who-invited-form table.form,
#petition-new-campain-form table.form {
    width: 100%;
}

#who-invited-form .autocomplete-container {
    padding-top: 0 !important;
}

.new-page-box form {
    display: flex;
    gap: 0.25rem;
}

#new-post-form > br,
#np-editor-title {
    display: none;
}

/* ------------------- */
/* Mobile Adaptation - */
/* ------------------- */
@media only screen and (max-width: 1024px) {
    :root {
        --header-height: calc(var(--main-header-height-on-mobile) + var(--topbar-height-on-mobile));
        --header-background-image: linear-gradient(to top, rgba(var(--header-background-bottom)) var(--topbar-height-on-mobile), rgba(var(--header-background-top)) 100%);
        --header-margin: max(calc((100% - var(--header-width-on-mobile)) / 2), 0px);
    }
    /* Header */
    #header {
        grid-template-rows: var(--main-header-height-on-mobile) var(--topbar-height-on-mobile);
        position: sticky;
        top: calc(-1 * var(--main-header-height-on-mobile));
    }
    #header::before {
        height: var(--main-header-height-on-mobile);
    }
    /* Header Title */
    #header h1 a span {
        grid-gap: 0.1rem;
    }
    #header h1 a span::before {
        font-size: var(--header-title-font-size-on-mobile);
    }
    #header h1 a span::after {
        font-size: var(--header-subtitle-font-size-on-mobile);
    }
    /* Header Logo */
    #header h2 {
        height: calc(100% - var(--topbar-height-on-mobile) - 1rem);
    }
    /* User Info */
    #login-status {
        font-size: 0.75rem;
        right: calc(var(--header-margin) + 0.5rem + var(--search-icon-width-on-mobile));
    }
    /* Search */
    #search-top-box {
        right: 0;
        top: 0;
        width: var(--search-icon-width-on-mobile);
        height: var(--main-header-height-on-mobile);
    }
    #search-top-box-form {
        display: contents;
    }
    #search-top-box-form .button {
        font-size: 0;
        width: 100%;
        height: 100%;
        -webkit-mask-image: var(--search-icon-mask);
                mask-image: var(--search-icon-mask);
        -webkit-mask-size: 40%;
                mask-size: 40%;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center 0.8rem;
                mask-position: center 0.8rem;
    }
    /* Top Bar */
    #top-bar .top-bar {
        display: none;
    }
    #top-bar .mobile-top-bar {
        display: flex;
        position: relative;
    }
    #top-bar div[class*=top-bar] > ul > li {
        position: static;
    }
    #top-bar div[class*=top-bar] > ul > li > a {
        font-size: var(--topbar-font-size-on-mobile);
    }
    #top-bar div[class*=top-bar] > ul > li > ul {
        max-width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
    }
    #top-bar div[class*=top-bar] > ul > li > ul > li {
        flex-basis: 40%;
        flex-grow: 2;
        height: var(--topbar-height-on-mobile);
    }
    #top-bar div[class*=top-bar] > ul > li > ul > li:nth-child(2) {
        border-top: 0;
    }
    #top-bar div[class*=top-bar] > ul > li > ul > li:nth-child(2n):nth-last-child(2) {
        box-shadow: 0 calc(var(--topbar-drop-border-width) / 2) 0 rgba(var(--topbar-drop-border-color));
    }
    #top-bar div[class*=top-bar] > ul > li > ul > li:nth-child(2n+1):last-child {
        max-width: calc(50% + var(--topbar-drop-border-width) / 2);
        border-right-width: var(--topbar-drop-border-width);
    }
    #top-bar div[class*=top-bar] > ul > li > ul > li > a {
        font-size: calc(var(--topbar-font-size-on-mobile) * 0.9);
    }
    /* Side Bar */
    #side-bar,
    #side-bar:is(:hover, :focus-within):not(:target) {
        left: calc(var(--sidebar-width) * -1);
        width: min(var(--sidebar-width-on-mobile), 100% - 3rem);
    }
    #side-bar::before,
    #side-bar::after {
        display: none;
    }
    #side-bar:target {
        left: 0;
    }
    #side-bar:target .close-menu {
        opacity: 1;
        pointer-events: auto;
        width: calc(100% - min(var(--sidebar-width-on-mobile), 100% - 3rem));
    }
    /* Footer */
    #footer {
        font-size: 0.6rem;
    }
    #license-area {
        font-size: 0.8rem;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
}
@media only screen and (max-width: 540px) {
    /* Image Block */
    .scp-image-block:is(.block-right, .block-left) {
        float: none;
        margin: 0.1rem auto;
    }
    /* Page History */
    table.page-history tr {
        grid-template-areas: "revision signature date" "choose action user" "memo memo memo";
        grid-template-columns: 2.5rem 4.4rem 1fr;
    }
    table.page-history tr td:nth-child(3) {
        text-align: left;
        font-size: 0.8rem;
        font-weight: 400;
        margin-bottom: 0.2rem;
    }
    table.page-history tr td:nth-child(5) {
        width: auto !important;
        padding-right: 0;
        font-size: 0.8rem;
        justify-content: flex-end;
    }
    table.page-history tr td:nth-child(6) {
        width: auto !important;
        justify-content: flex-end;
        padding-right: 0;
    }
    table.page-history tr td:nth-child(7) {
        margin-top: 0.2rem;
    }
    /* Popup Info */
    .owindow .content > img + h1 + table {
        grid-template-columns: 1fr;
    }
    .owindow .content > img + h1 + table td:first-child {
        padding-bottom: 0;
        border-bottom: none;
    }
    .owindow .content > img + h1 + table td:last-child {
        padding-top: 0;
    }
    /* Page Title */
    #page-title, .meta-title {
        font-size: 1.75rem;
        padding-bottom: 0;
    }
    /* Blockquote */
    blockquote, .blockquote {
        margin: 1rem 0;
    }
}
/*# sourceMappingURL=data:application/json;base64,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Y3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU3VwZXIgTGltaW5hbCBUaGVtZSAqL1xuLyogLS0tLS0gYnkgQW1iZXJzaWdodCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2l0ZSBTdHVmZiAqL1xuQGltcG9ydCB1cmwoXCIuLi8uLi9OZXdfQkhML2Nzcy9iYW5saXN0LmNzc1wiKTtcbkBpbXBvcnQgdXJsKFwiLi4vLi4vTmV3X0JITC9jc3MvZm9ydW0uY3NzXCIpO1xuQGltcG9ydCB1cmwoXCIuLi8uLi9zdGlja2Vycy9jc3Mvc3RpY2tlcnMuY3NzXCIpO1xuQGltcG9ydCB1cmwoXCIuL2NvbG1vZC1zdHlsZS5jc3NcIik7XG4vKiBJY29ucyAqL1xuQGltcG9ydCB1cmwoXCIuL2ljb24tbWFza3MuY3NzXCIpO1xuLyogRm9udHMgKi9cbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjppdGFsLG9wc3osd2dodEAwLDE0Li4zMiwxMDAuLjkwMDsxLDE0Li4zMiwxMDAuLjkwMCZkaXNwbGF5PXN3YXBcIik7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SmV0QnJhaW5zK01vbm86aXRhbCx3Z2h0QDAsMTAwLi44MDA7MSwxMDAuLjgwMCZkaXNwbGF5PXN3YXBcIik7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Tm90bytTYW5zK1NDOndnaHRAMTAwLi45MDAmZGlzcGxheT1zd2FwXCIpO1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU5vdG8rU2FucytUQzp3Z2h0QDEwMC4uOTAwJmRpc3BsYXk9c3dhcFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Ob3RvK1NlcmlmK1NDOndnaHRAMjAwLi45MDAmZGlzcGxheT1zd2FwXCIpO1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU5vdG8rU2VyaWYrVEM6d2dodEAyMDAuLjkwMCZkaXNwbGF5PXN3YXBcIik7XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBSb290IFZhcmlhYmxlcyAtLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG46cm9vdCB7XG4gICAgLyogRm9udCBTZXQgKi9cbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgLS1ib2R5LWZvbnQ6IEludGVyLCBcIk5vdG8gU2FucyBTQ1wiLCBcIk5vdG8gU2FucyBUQ1wiLCBBcmltbywgVmVyZGFuYSwgR2VuZXZhLCBzYW5zLXNlcmlmO1xuICAgIC0taGVhZGVyLWZvbnQ6IEludGVyLCBcIk5vdG8gU2FucyBTQ1wiLCBcIk5vdG8gU2FucyBUQ1wiLCBGcmFua2xpbiBHb3RoaWMgTWVkaXVtLCBGcmFua2xpbiBHb3RoaWMsIElUQyBGcmFua2xpbiBHb3RoaWMsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIC0tdGl0bGUtZm9udDogSW50ZXIsIFwiTm90byBTYW5zIFNDXCIsIFwiTm90byBTYW5zIFRDXCIsIEZyYW5rbGluIEdvdGhpYyBNZWRpdW0sIEZyYW5rbGluIEdvdGhpYywgSVRDIEZyYW5rbGluIEdvdGhpYywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgLS1tb25vLWZvbnQ6IFwiSmV0QnJhaW5zIE1vbm9cIiwgXCJOb3RvIFNlcmlmIFNDXCIsIFwiTm90byBTZXJpZiBUQ1wiLCBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2U7XG4gICAgLyogQmFzaWMgQ29sb3JzICovXG4gICAgLS1iYWNrZ3JvdW5kLWNvbG9yOiAyMzcsIDIzMywgMjIzO1xuICAgIC0tdGV4dC1jb2xvcjogMjUsIDIwLCAxNjtcbiAgICAvKiBEZWNvIENvbG9ycyAqL1xuICAgIC0tbGlnaHQtY29sb3ItMTogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS1saWdodC1jb2xvci0yOiAyNTUsIDI1MSwgMjQwO1xuICAgIC0tZGFyay1jb2xvci0xOiAxNjAsIDE2MCwgMTYwO1xuICAgIC0tZGFyay1jb2xvci0yOiAxNDAsIDEzNiwgMTI2O1xuICAgIC0tZGFyay1jb2xvci0zOiA3MiwgNjksIDYwO1xuICAgIC0tZGFyay1jb2xvci00OiA0OCwgNDgsIDUyO1xuICAgIC8qIFNwZWNpYWwgQ29sb3JzICovXG4gICAgLS13YXJuaW5nLWNvbG9yOiAxOTMsIDQ0LCA1MDtcbiAgICAtLWFjY2VwdC1jb2xvcjogMjAsIDE2OSwgMzI7XG4gICAgLS1uZXV0cmFsLWNvbG9yOiAxOTMsIDE0NywgNDQ7XG4gICAgLS13YXJuaW5nLXRleHQtY29sb3I6IHZhcigtLWxpZ2h0LWNvbG9yLTIpO1xuICAgIC0tYWNjZXB0LXRleHQtY29sb3I6IHZhcigtLXdhcm5pbmctdGV4dC1jb2xvcik7XG4gICAgLS1uZXV0cmFsLXRleHQtY29sb3I6IHZhcigtLXdhcm5pbmctdGV4dC1jb2xvcik7XG4gICAgLyogTGluayBDb2xvcnMgKi9cbiAgICAtLWxpbmstY29sb3I6IDIzMCwgMjMsIDY4O1xuICAgIC0taG92ZXItbGluay1jb2xvcjogMTg3LCAwLCAzNDtcbiAgICAtLXZpc2l0ZWQtbGluay1jb2xvcjogMTUwLCAyNCwgNDM7XG4gICAgLS1uZXdwYWdlLWNvbG9yOiAyMjEsIDEwMiwgMTc7XG4gICAgLyogU2VsZWN0IENvbG9ycyAqL1xuICAgIC0tc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogNjcsIDk4LCAxOTc7XG4gICAgLS1zZWxlY3RlZC10ZXh0LWNvbG9yOiAyNTMsIDI1MywgMjUzO1xuICAgIC8qIFNjcm9sbGJhciBDb2xvcnMgKi9cbiAgICAtLXNjcm9sbGJhci1jb2xvcjogdmFyKC0tZGFyay1jb2xvci0xKSwgMC43NTtcbiAgICAtLXNjcm9sbGJhci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLWNvbG9yLTEpLCAwLjE1O1xuICAgIC8qIEdlbmVyYWwgQ29sb3JzICovXG4gICAgLS1nZW5lcmFsLWxpZ2h0LWJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWNvbG9yLTIpO1xuICAgIC0tZ2VuZXJhbC1saWdodC10ZXh0LWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICAtLWdlbmVyYWwtbWVkaXVtLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmstY29sb3ItMik7XG4gICAgLS1nZW5lcmFsLW1lZGl1bS10ZXh0LWNvbG9yOiB2YXIoLS1saWdodC1jb2xvci0xKTtcbiAgICAtLWdlbmVyYWwtZGFyay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLWNvbG9yLTMpO1xuICAgIC0tZ2VuZXJhbC1kYXJrLXRleHQtY29sb3I6IHZhcigtLWxpZ2h0LWNvbG9yLTEpO1xuICAgIC0tZ2VuZXJhbC1zaGFkb3ctY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIC0tZ2VuZXJhbC1saWdodC1ib3JkZXItY29sb3I6IHZhcigtLWRhcmstY29sb3ItMyksIDAuMDg7XG4gICAgLS1nZW5lcmFsLW1lZGl1bS1ib3JkZXItY29sb3I6IHZhcigtLWRhcmstY29sb3ItMyksIDAuMjtcbiAgICAtLWdlbmVyYWwtc3Ryb25nLWJvcmRlci1jb2xvcjogdmFyKC0tZGFyay1jb2xvci0zKSwgMC41O1xuICAgIC0tZ2VuZXJhbC1kYXJrLWJvcmRlci1jb2xvcjogdmFyKC0tZGFyay1jb2xvci0zKTtcbiAgICAtLWdlbmVyYWwtYmx1cjogMC4xNXJlbTtcbiAgICAtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLWZhc3Q6IDAuMnM7XG4gICAgLS1nZW5lcmFsLXRyYW5zaXRpb24tdGltZS1zbG93OiAwLjNzO1xuICAgIC8qIEdlbmVyYWwgQnV0dG9ucyAqL1xuICAgIC0tZ2VuZXJhbC1idXR0b24tdGV4dC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1tZWRpdW0tdGV4dC1jb2xvcik7XG4gICAgLS1nZW5lcmFsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW5lcmFsLW1lZGl1bS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAtLWdlbmVyYWwtaG92ZXItYnV0dG9uLXRleHQtY29sb3I6IHZhcigtLWdlbmVyYWwtZGFyay10ZXh0LWNvbG9yKTtcbiAgICAtLWdlbmVyYWwtaG92ZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtZGFyay1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAvKiBIZWFkZXIgVnMgKi9cbiAgICAtLW1haW4taGVhZGVyLWhlaWdodDogOHJlbTtcbiAgICAtLW1haW4taGVhZGVyLWhlaWdodC1vbi1tb2JpbGU6IDhyZW07XG4gICAgLS1oZWFkZXItaGVpZ2h0OiBjYWxjKHZhcigtLW1haW4taGVhZGVyLWhlaWdodCkgKyB2YXIoLS10b3BiYXItaGVpZ2h0KSk7XG4gICAgLS1oZWFkZXItd2lkdGg6IDY1cmVtO1xuICAgIC0taGVhZGVyLXdpZHRoLW9uLW1vYmlsZTogMTAwJTtcbiAgICAtLWhlYWRlci1tYXJnaW46IG1heChjYWxjKCgxMDAlIC0gdmFyKC0taGVhZGVyLXdpZHRoKSkgLyAyKSwgMHB4KTtcbiAgICAtLWxvZ28taW1hZ2U6IHVybChcImh0dHBzOi8vZ2l0aHViLmJhY2tyb29tc3dpa2kuY24vU3VwZXJfTGltaW5hbC9pbWFnZXMvd2hpdGVfbG9nby5zdmdcIik7XG4gICAgLS1oZWFkZXItdGl0bGU6IFwiVGhlIEJhY2tyb29tc1wiO1xuICAgIC0taGVhZGVyLXRpdGxlLWZvbnQtc2l6ZTogMi42NXJlbTtcbiAgICAtLWhlYWRlci10aXRsZS1mb250LXNpemUtb24tbW9iaWxlOiAxLjZyZW07XG4gICAgLS1oZWFkZXItc3VidGl0bGU6IFwi5L2g5pu+57uP5p2l6L+H6L+Z6YeMXCI7XG4gICAgLS1oZWFkZXItc3VidGl0bGUtZm9udC1zaXplOiAxcmVtO1xuICAgIC0taGVhZGVyLXN1YnRpdGxlLWZvbnQtc2l6ZS1vbi1tb2JpbGU6IDAuNnJlbTtcbiAgICAtLXNlYXJjaC1pY29uLXdpZHRoLW9uLW1vYmlsZTogMi41cmVtO1xuICAgIC8qIEhlYWRlciBDb2xvcnMgKi9cbiAgICAtLWhlYWRlci1iYWNrZ3JvdW5kLWJvdHRvbTogdmFyKC0tZ2VuZXJhbC1kYXJrLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0taGVhZGVyLWJhY2tncm91bmQtdG9wOiB2YXIoLS1nZW5lcmFsLWRhcmstYmFja2dyb3VuZC1jb2xvciksIDAuOTtcbiAgICAtLWhlYWRlci1iYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKHZhcigtLWhlYWRlci1iYWNrZ3JvdW5kLWJvdHRvbSkpIHZhcigtLXRvcGJhci1oZWlnaHQpLCByZ2JhKHZhcigtLWhlYWRlci1iYWNrZ3JvdW5kLXRvcCkpIDEwMCUpO1xuICAgIC0taGVhZGVyLWV4dHJhLWJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEodmFyKC0tZ2VuZXJhbC1kYXJrLWJhY2tncm91bmQtY29sb3IpKSA1MCUsIHRyYW5zcGFyZW50IDApO1xuICAgIC0taGVhZGVyLXRleHQtY29sb3I6IHZhcigtLWdlbmVyYWwtZGFyay10ZXh0LWNvbG9yKTtcbiAgICAtLWhlYWRlci10ZXh0LXNoYWRvdy1jb2xvcjogdmFyKC0tZ2VuZXJhbC1zaGFkb3ctY29sb3IpO1xuICAgIC8qIFRvcGJhciBWcyAqL1xuICAgIC0tdG9wYmFyLWhlaWdodDogMnJlbTtcbiAgICAtLXRvcGJhci1oZWlnaHQtb24tbW9iaWxlOiAzLjJyZW07XG4gICAgLS10b3BiYXItZm9udC1zaXplOiAwLjhyZW07XG4gICAgLS10b3BiYXItZm9udC1zaXplLW9uLW1vYmlsZTogMXJlbTtcbiAgICAvKiBUb3BiYXIgQ29sb3JzICovXG4gICAgLS10b3BiYXItdGV4dC1jb2xvcjogdmFyKC0tbGlnaHQtY29sb3ItMSk7XG4gICAgLS10b3BiYXItaG92ZXItdGV4dC1jb2xvcjogdmFyKC0tdG9wYmFyLXRleHQtY29sb3IpO1xuICAgIC0tdG9wYmFyLWJhY2tncm91bmQtY29sb3I6IDAsIDAsIDAsIDA7XG4gICAgLS10b3BiYXItaG92ZXItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyay1jb2xvci00KTtcbiAgICAtLXRvcGJhci1ob3Zlci1ib3JkZXItY29sb3I6IHZhcigtLWRhcmstY29sb3ItMiksIDAuNTtcbiAgICAtLXRvcGJhci1kcm9wLXRleHQtY29sb3I6IHZhcigtLWxpZ2h0LWNvbG9yLTEpO1xuICAgIC0tdG9wYmFyLWRyb3AtaG92ZXItdGV4dC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1tZWRpdW0tdGV4dC1jb2xvcik7XG4gICAgLS10b3BiYXItZHJvcC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLWNvbG9yLTQpLCAwLjkzO1xuICAgIC0tdG9wYmFyLWRyb3AtaG92ZXItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1tZWRpdW0tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS10b3BiYXItZHJvcC1ib3JkZXItY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIC0tdG9wYmFyLWRyb3AtYm9yZGVyLXdpZHRoOiBjYWxjKDRyZW0gLyA0NSk7XG4gICAgLS10b3BiYXItZHJvcC1zaGFkb3ctY29sb3I6IHZhcigtLWdlbmVyYWwtc2hhZG93LWNvbG9yKSwgMC41O1xuICAgIC8qIFVzZXIgQWNjb3VudCBDb2xvcnMgKi9cbiAgICAtLWhlYWRlci11c2VybmFtZS1jb2xvcjogdmFyKC0tZGFyay1jb2xvci0xKTtcbiAgICAtLWFjY291bnQtYnV0dG9uLXRleHQtY29sb3I6IHZhcigtLWdlbmVyYWwtZGFyay1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAtLWFjY291bnQtYnV0dG9uLWhvdmVyLXRleHQtY29sb3I6IHZhcigtLWdlbmVyYWwtbWVkaXVtLXRleHQtY29sb3IpO1xuICAgIC0tYWNjb3VudC1idXR0b24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1kYXJrLXRleHQtY29sb3IpO1xuICAgIC0tYWNjb3VudC1idXR0b24taG92ZXItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1tZWRpdW0tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS1hY2NvdW50LWRyb3AtdGV4dC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1saWdodC10ZXh0LWNvbG9yKTtcbiAgICAtLWFjY291bnQtZHJvcC1ob3Zlci10ZXh0LWNvbG9yOiB2YXIoLS1nZW5lcmFsLW1lZGl1bS10ZXh0LWNvbG9yKTtcbiAgICAtLWFjY291bnQtZHJvcC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW5lcmFsLWxpZ2h0LWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tYWNjb3VudC1kcm9wLWhvdmVyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtbWVkaXVtLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tYWNjb3VudC1kcm9wLWJvcmRlci1jb2xvcjogdmFyKC0tZ2VuZXJhbC1kYXJrLWJvcmRlci1jb2xvcik7XG4gICAgLS1hY2NvdW50LWRyb3AtYm9yZGVyLXdpZHRoOiB2YXIoLS10b3BiYXItZHJvcC1ib3JkZXItd2lkdGgpO1xuICAgIC8qIFNlYXJjaCBCdXR0b24gQ29sb3JzICovXG4gICAgLS1zZWFyY2gtYnV0dG9uLXRleHQtY29sb3I6IHZhcigtLWFjY291bnQtYnV0dG9uLXRleHQtY29sb3IpO1xuICAgIC0tc2VhcmNoLWJ1dHRvbi1ob3Zlci10ZXh0LWNvbG9yOiB2YXIoLS1hY2NvdW50LWJ1dHRvbi1ob3Zlci10ZXh0LWNvbG9yKTtcbiAgICAtLXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjb3VudC1idXR0b24tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS1zZWFyY2gtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY291bnQtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC8qIENvbnRlbnQgVnMgKi9cbiAgICAtLWJvZHktd2lkdGg6IDQ4cmVtO1xuICAgIC0tYm9keS1tYXJnaW46IG1heChjYWxjKCgxMDAlIC0gdmFyKC0tYm9keS13aWR0aCkpIC8gMiksIDFyZW0pO1xuICAgIC0tY29udGVudC1mb250LXNpemU6IGNsYW1wKDAuODdyZW0sIGNhbGMoMC44M3JlbSArIDAuMTk1dncpLCAxcmVtKTtcbiAgICAvKiBQYWdlIFRpdGxlIENvbG9ycyAqL1xuICAgIC0tcGFnZS10aXRsZS10ZXh0LWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICAtLXBhZ2UtdGl0bGUtYm9yZGVyLWNvbG9yOiB2YXIoLS1nZW5lcmFsLWRhcmstYm9yZGVyLWNvbG9yKTtcbiAgICAvKiBQYWdlIFRhZyBDb2xvcnMgKi9cbiAgICAtLXBhZ2UtdGFnLWJvcmRlci1jb2xvcjogdmFyKC0tZ2VuZXJhbC1tZWRpdW0tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS1wYWdlLXRhZy10aXRsZS1jb2xvcjogdmFyKC0tZ2VuZXJhbC1tZWRpdW0tdGV4dC1jb2xvcik7XG4gICAgLS1wYWdlLXRhZy10ZXh0LWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICAtLXBhZ2UtdGFnLWhvdmVyLXRleHQtY29sb3I6IHZhcigtLWdlbmVyYWwtZGFyay10ZXh0LWNvbG9yKTtcbiAgICAtLXBhZ2UtdGFnLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmstY29sb3ItMiksIDAuMjtcbiAgICAtLXBhZ2UtdGFnLWhvdmVyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtZGFyay1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAvKiBQYWdlIFRhZyBWcyAqL1xuICAgIC0tcGFnZS10YWctdGl0bGU6IFwi5qCH562+IOKGtFwiO1xuICAgIC8qIFBhZ2UgT3B0aW9uIENvbG9ycyAqL1xuICAgIC0tcGFnZS1vcHRpb24tdGV4dC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1idXR0b24tdGV4dC1jb2xvcik7XG4gICAgLS1wYWdlLW9wdGlvbi1ob3Zlci10ZXh0LWNvbG9yOiB2YXIoLS1nZW5lcmFsLWhvdmVyLWJ1dHRvbi10ZXh0LWNvbG9yKTtcbiAgICAtLXBhZ2Utb3B0aW9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tcGFnZS1vcHRpb24taG92ZXItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1ob3Zlci1idXR0b24tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLyogRm9vdGVyIENvbG9ycyAqL1xuICAgIC0tZm9vdGVyLXRleHQtY29sb3I6IHZhcigtLWdlbmVyYWwtbWVkaXVtLXRleHQtY29sb3IpO1xuICAgIC0tZm9vdGVyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtbWVkaXVtLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tbGljZW5zZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1jb2xvci0xKTtcbiAgICAtLWxpY2Vuc2UtdGV4dC1jb2xvcjogdmFyKC0tZGFyay1jb2xvci0zKTtcbiAgICAtLWxpY2Vuc2UtbGluay1jb2xvcjogdmFyKC0tbGljZW5zZS10ZXh0LWNvbG9yKTtcbiAgICAvKiBTaWRlYmFyIFZzICovXG4gICAgLS1zaWRlYmFyLXdpZHRoOiAxOHJlbTtcbiAgICAtLXNpZGViYXItd2lkdGgtb24tbW9iaWxlOiAxNnJlbTtcbiAgICAvKiBTaWRlYmFyIENvbG9ycyAqL1xuICAgIC0tc2lkZWJhci1oYW5kbGUtdGV4dC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1kYXJrLXRleHQtY29sb3IpO1xuICAgIC0tc2lkZWJhci1oYW5kbGUtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1kYXJrLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1jb2xvci0xKTtcbiAgICAtLXNpZGViYXItbWVkaWEtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1jb2xvciksIDAuMTU7XG4gICAgLS1zaWRlYmFyLW1lZGlhLWljb24tY29sb3I6IHZhcigtLWRhcmstY29sb3ItMyk7XG4gICAgLS1zaWRlYmFyLXRpdGxlLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtZGFyay1iYWNrZ3JvdW5kLWNvbG9yKSwgMC41O1xuICAgIC0tc2lkZWJhci10aXRsZS10ZXh0LWNvbG9yOiB2YXIoLS1nZW5lcmFsLWRhcmstdGV4dC1jb2xvcik7XG4gICAgLS1zaWRlYmFyLXRpdGxlLXNoYWRvdy1jb2xvcjogdmFyKC0tZ2VuZXJhbC1zaGFkb3ctY29sb3IpO1xuICAgIC0tc2lkZWJhci10ZXh0LWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICAtLXNpZGViYXItaG92ZXItdGV4dC1jb2xvcjogdmFyKC0tc2lkZWJhci10ZXh0LWNvbG9yKTtcbiAgICAtLXNpZGViYXItYm9yZGVyLWNvbG9yOiB2YXIoLS1nZW5lcmFsLWxpZ2h0LWJvcmRlci1jb2xvcik7XG4gICAgLS1zaWRlYmFyLWhvdmVyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtY29sb3IpLCAwLjE1O1xuICAgIC8qIEFjdGlvbiBDb2xvcnMgKi9cbiAgICAtLWFjdGlvbi1hcmVhLWJvcmRlci1jb2xvcjogdmFyKC0tZ2VuZXJhbC1saWdodC1ib3JkZXItY29sb3IpO1xuICAgIC0tYWN0aW9uLWFyZWEtc3VidGV4dC1jb2xvcjogdmFyKC0tdGV4dC1jb2xvciksIDAuNzU7XG4gICAgLS1hY3Rpb24tYXJlYS1pbmZvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtbWVkaXVtLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tYWN0aW9uLWFyZWEtaW5mby10ZXh0LWNvbG9yOiB2YXIoLS1nZW5lcmFsLW1lZGl1bS10ZXh0LWNvbG9yKTtcbiAgICAtLXBhZ2Utc291cmNlLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtbGlnaHQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS1wYWdlLXNvdXJjZS10ZXh0LWNvbG9yOiB2YXIoLS1nZW5lcmFsLWxpZ2h0LXRleHQtY29sb3IpO1xuICAgIC8qIEVkaXQgQXJlYSBDb2xvcnMgKi9cbiAgICAtLWVkaXQtYXJlYS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLWNvbG9yLTIpLCAwLjE1O1xuICAgIC0tZWRpdC1hcmVhLXRleHQtY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIC0tZWRpdC1hcmVhLXRleHRhcmVhLXRleHQtY29sb3I6IHZhcigtLWdlbmVyYWwtbGlnaHQtdGV4dC1jb2xvcik7XG4gICAgLS1lZGl0LWFyZWEtdGV4dGFyZWEtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1saWdodC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAtLWVkaXQtYXJlYS10ZXh0YXJlYS1ib3JkZXItY29sb3I6IHZhcigtLWdlbmVyYWwtZGFyay1ib3JkZXItY29sb3IpO1xuICAgIC0tZWRpdC1hcmVhLWluZm8tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWN0aW9uLWFyZWEtaW5mby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAtLWVkaXQtYXJlYS1pbmZvLXRleHQtY29sb3I6IHZhcigtLWFjdGlvbi1hcmVhLWluZm8tdGV4dC1jb2xvcik7XG4gICAgLS1lZGl0LWFyZWEtYnV0dG9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tZWRpdC1hcmVhLWJ1dHRvbi10ZXh0LWNvbG9yOiB2YXIoLS1nZW5lcmFsLWJ1dHRvbi10ZXh0LWNvbG9yKTtcbiAgICAtLWVkaXQtYXJlYS1ob3Zlci1idXR0b24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1ob3Zlci1idXR0b24tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS1lZGl0LWFyZWEtaG92ZXItYnV0dG9uLXRleHQtY29sb3I6IHZhcigtLWdlbmVyYWwtaG92ZXItYnV0dG9uLXRleHQtY29sb3IpO1xuICAgIC8qIEhvdmVydGlwIENvbG9ycyAqL1xuICAgIC0taG92ZXJ0aXAtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1saWdodC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAtLWhvdmVydGlwLXRleHQtY29sb3I6IHZhcigtLWdlbmVyYWwtbGlnaHQtdGV4dC1jb2xvcik7XG4gICAgLS1ob3ZlcnRpcC1ib3JkZXItY29sb3I6IHZhcigtLWdlbmVyYWwtZGFyay1ib3JkZXItY29sb3IpO1xuICAgIC8qIEltYWdlIEJsb2NrIFZzICovXG4gICAgLS1pbWFnZWJsb2NrLWJvcmRlci13aWR0aDogMC4xNXJlbTtcbiAgICAvKiBJbWFnZSBCbG9jayBDb2xvcnMgKi9cbiAgICAtLWltYWdlYmxvY2stY2FwdGlvbi1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW5lcmFsLWxpZ2h0LWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0taW1hZ2VibG9jay1jYXB0aW9uLXRleHQtY29sb3I6IHZhcigtLWdlbmVyYWwtbGlnaHQtdGV4dC1jb2xvcik7XG4gICAgLS1pbWFnZWJsb2NrLXNoYWRvdy1jb2xvcjogMCwgMCwgMCwgMDtcbiAgICAtLWltYWdlYmxvY2stYm9yZGVyLWNvbG9yOiB2YXIoLS1nZW5lcmFsLW1lZGl1bS1ib3JkZXItY29sb3IpO1xuICAgIC8qIEhlYWRlciAmIEhvcml6b24gQ29sb3JzICovXG4gICAgLS1oMS1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgLS1oMi1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgLS1oMy1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgLS1oNC1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgLS1oNS1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgLS1oNi1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgLS1oci1jb2xvcjogdmFyKC0tZGFyay1jb2xvci0xKTtcbiAgICAvKiBUYWJ2aWV3IFZzICovXG4gICAgLS10YWJ2aWV3LWJvcmRlci13aWR0aDogY2FsYygxcmVtIC8gMTUpO1xuICAgIC8qIFRhYnZpZXcgQ29sb3JzICovXG4gICAgLS10YWJ2aWV3LWJvcmRlci1jb2xvcjogdmFyKC0tZ2VuZXJhbC1kYXJrLWJvcmRlci1jb2xvcik7XG4gICAgLS10YWJ2aWV3LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW5lcmFsLWxpZ2h0LWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tdGFidmlldy1idXR0b24tdGV4dC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1saWdodC10ZXh0LWNvbG9yKTtcbiAgICAtLXRhYnZpZXctaG92ZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtbWVkaXVtLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tdGFidmlldy1ob3Zlci1idXR0b24tdGV4dC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1tZWRpdW0tdGV4dC1jb2xvcik7XG4gICAgLS10YWJ2aWV3LXNlbGVjdGVkLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW5lcmFsLWRhcmstYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS10YWJ2aWV3LXNlbGVjdGVkLWJ1dHRvbi10ZXh0LWNvbG9yOiB2YXIoLS1nZW5lcmFsLWRhcmstdGV4dC1jb2xvcik7XG4gICAgLS10YWJ2aWV3LWhvcml6b24tY29sb3I6IHZhcigtLWRhcmstY29sb3ItMyksIDAuNjU7XG4gICAgLS10YWJ2aWV3LWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1saWdodC1iYWNrZ3JvdW5kLWNvbG9yKSwgMC4yNTtcbiAgICAtLXRhYnZpZXctY29udGVudC10ZXh0LWNvbG9yOiB2YXIoLS1nZW5lcmFsLWxpZ2h0LXRleHQtY29sb3IpO1xuICAgIC8qIFRhYmxlIFZzICovXG4gICAgLS10YWJsZS1ib3JkZXItd2lkdGg6IGNhbGMoMnJlbSAvIDE1KTtcbiAgICAvKiBUYWJsZSBDb2xvcnMgKi9cbiAgICAtLXRhYmxlLWJvcmRlci1jb2xvcjogdmFyKC0tZ2VuZXJhbC1zdHJvbmctYm9yZGVyLWNvbG9yKTtcbiAgICAtLXRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW5lcmFsLW1lZGl1bS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAtLXRhYmxlLWhlYWRlci10ZXh0LWNvbG9yOiB2YXIoLS1nZW5lcmFsLW1lZGl1bS10ZXh0LWNvbG9yKTtcbiAgICAtLXRhYmxlLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWNvbG9yLTEpO1xuICAgIC0tdGFibGUtdGV4dC1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgLyogQmxvY2txdW90ZSBWcyAqL1xuICAgIC0tYmxvY2txdW90ZS1ib3JkZXItd2lkdGg6IGNhbGMoMnJlbSAvIDE1KTtcbiAgICAvKiBCbG9ja3F1b3RlIENvbG9ycyAqL1xuICAgIC0tYmxvY2txdW90ZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW5lcmFsLWxpZ2h0LWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tYmxvY2txdW90ZS10ZXh0LWNvbG9yOiB2YXIoLS1nZW5lcmFsLWxpZ2h0LXRleHQtY29sb3IpO1xuICAgIC0tYmxvY2txdW90ZS1zaGFkb3ctY29sb3I6IDAsIDAsIDAsIDA7XG4gICAgLS1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogdmFyKC0tZ2VuZXJhbC1tZWRpdW0tYm9yZGVyLWNvbG9yKTtcbiAgICAvKiBDb2RlIEJsb2NrIENvbG9ycyAqL1xuICAgIC0tY29kZS1ibG9jay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibG9ja3F1b3RlLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tY29kZS1ibG9jay10ZXh0LWNvbG9yOiB2YXIoLS1ibG9ja3F1b3RlLXRleHQtY29sb3IpO1xuICAgIC0tY29kZS1ibG9jay1ib3JkZXItY29sb3I6IHZhcigtLWdlbmVyYWwtc3Ryb25nLWJvcmRlci1jb2xvcik7XG4gICAgLyogVE9DIENvbG9ycyAqL1xuICAgIC0tdG9jLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtbGlnaHQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS10b2MtdGV4dC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1saWdodC10ZXh0LWNvbG9yKTtcbiAgICAtLXRvYy1ib3JkZXItY29sb3I6IHZhcigtLWRhcmstY29sb3ItMik7XG4gICAgLyogTm90ZSBDb2xvcnMgKi9cbiAgICAtLW5vdGUtYmFja2dyb3VuZC1jb2xvcjogMjU1LCAyNDIsIDExNDtcbiAgICAtLW5vdGUtdGV4dC1jb2xvcjogMjQsIDI3LCAyNztcbiAgICAtLW5vdGUtYm9yZGVyLWNvbG9yOiAyNCwgMjcsIDI3LCAwLjU7XG4gICAgLyogRm9vdG5vdGUgQmxvY2sgQ29sb3JzKi9cbiAgICAtLWZvb3Rub3RlLWJsb2NrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmstY29sb3ItMiksIDAuMTg7XG4gICAgLS1mb290bm90ZS1ibG9jay10ZXh0LWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICAtLWZvb3Rub3RlLWJsb2NrLWJvcmRlci1jb2xvcjogdmFyKC0tZ2VuZXJhbC1kYXJrLWJvcmRlci1jb2xvcik7XG4gICAgLyogUmF0aW5nIE1vZHVsZSBDb2xvcnMgKi9cbiAgICAtLXJhdGluZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW5lcmFsLWxpZ2h0LWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tcmF0aW5nLXRleHQtY29sb3I6IHZhcigtLWdlbmVyYWwtbGlnaHQtdGV4dC1jb2xvcik7XG4gICAgLS1yYXRpbmctcmF0ZXVwLWNvbG9yOiB2YXIoLS1hY2NlcHQtY29sb3IpO1xuICAgIC0tcmF0aW5nLXJhdGVkb3duLWNvbG9yOiB2YXIoLS13YXJuaW5nLWNvbG9yKTtcbiAgICAtLXJhdGluZy1jYW5jZWwtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3IpO1xuICAgIC0tcmF0aW5nLXJhdGV1cC10ZXh0LWNvbG9yOiB2YXIoLS1hY2NlcHQtdGV4dC1jb2xvcik7XG4gICAgLS1yYXRpbmctcmF0ZWRvd24tdGV4dC1jb2xvcjogdmFyKC0td2FybmluZy10ZXh0LWNvbG9yKTtcbiAgICAtLXJhdGluZy1jYW5jZWwtdGV4dC1jb2xvcjogdmFyKC0tbmV1dHJhbC10ZXh0LWNvbG9yKTtcbiAgICAtLXJhdGluZy1pbmZvLWNvbG9yOiB2YXIoLS1kYXJrLWNvbG9yLTMpO1xuICAgIC0tcmF0aW5nLWluZm8tdGV4dC1jb2xvcjogdmFyKC0tbGlnaHQtY29sb3ItMik7XG4gICAgLS1yYXRpbmctYm9yZGVyLWNvbG9yOiB2YXIoLS1nZW5lcmFsLWRhcmstYm9yZGVyLWNvbG9yKTtcbiAgICAvKiBQb3B1cCBWcyAqL1xuICAgIC0tcG9wdXAtdGlwLWNvbnRlbnQ6IFwi77yI54K55Ye756m655m95aSE5YWz6Zet77yJXCI7XG4gICAgLS1wb3B1cC1sb2FkaW5nLWNvbnRlbnQ6IFwi5q2j5Zyo5L+d5a2Y4oCm4oCmXCI7XG4gICAgLyogUG9wdXBzIENvbG9ycyAqL1xuICAgIC0tcG9wdXAtZmFkZXItY29sb3I6IHZhcigtLWdlbmVyYWwtc2hhZG93LWNvbG9yKSwgMC42NTtcbiAgICAtLXBvcHVwLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtbGlnaHQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS1wb3B1cC10ZXh0LWNvbG9yOiB2YXIoLS1nZW5lcmFsLWxpZ2h0LXRleHQtY29sb3IpO1xuICAgIC0tcG9wdXAtdGl0bGUtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1kYXJrLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tcG9wdXAtdGl0bGUtdGV4dC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1kYXJrLXRleHQtY29sb3IpO1xuICAgIC0tcG9wdXAtYm9yZGVyLWNvbG9yOiB2YXIoLS1nZW5lcmFsLXN0cm9uZy1ib3JkZXItY29sb3IpO1xuICAgIC0tcG9wdXAtYnV0dG9uLXRleHQtY29sb3I6IHZhcigtLWdlbmVyYWwtYnV0dG9uLXRleHQtY29sb3IpO1xuICAgIC0tcG9wdXAtYnV0dG9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tcG9wdXAtaG92ZXItYnV0dG9uLXRleHQtY29sb3I6IHZhcigtLWdlbmVyYWwtaG92ZXItYnV0dG9uLXRleHQtY29sb3IpO1xuICAgIC0tcG9wdXAtaG92ZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtaG92ZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tcG9wdXAtdGlwLWNvbG9yOiB2YXIoLS1saWdodC1jb2xvci0yKTtcbiAgICAtLXBvcHVwLWxvYWRpbmctY29sb3I6IHZhcigtLWRhcmstY29sb3ItMik7XG4gICAgLyogVGhlIDQgKi9cbiAgICAtLWxpZ2h0YmxvY2stYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1saWdodC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAtLWxpZ2h0YmxvY2stdGV4dC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1saWdodC10ZXh0LWNvbG9yKTtcbiAgICAtLWRhcmtibG9jay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW5lcmFsLWRhcmstYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS1kYXJrYmxvY2stdGV4dC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1kYXJrLXRleHQtY29sb3IpO1xuICAgIC0tc3R5bGVkLXF1b3RlLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbmVyYWwtbGlnaHQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS1zdHlsZWQtcXVvdGUtdGV4dC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1saWdodC10ZXh0LWNvbG9yKTtcbiAgICAtLXN0eWxlZC1xdW90ZS1ib3JkZXItY29sb3I6IHZhcigtLWdlbmVyYWwtZGFyay1ib3JkZXItY29sb3IpO1xuICAgIC0tZGFyay1zdHlsZWQtcXVvdGUtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1kYXJrLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tZGFyay1zdHlsZWQtcXVvdGUtdGV4dC1jb2xvcjogdmFyKC0tZ2VuZXJhbC1kYXJrLXRleHQtY29sb3IpO1xuICAgIC0tZGFyay1zdHlsZWQtcXVvdGUtYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodC1jb2xvci0yKTtcbiAgICAvKiBTd2F0Y2ggcGFpZCBtZSB0byBkbyB0aGlzICovXG4gICAgLS13aGl0ZS1tb25vY2hyb21lOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAtLXBhbGUtZ3JheS1tb25vY2hyb21lOiB2YXIoLS1saWdodC1jb2xvci0yKTtcbiAgICAtLWxpZ2h0LXBhbGUtZ3JheS1tb25vY2hyb21lOiAyNDQsIDI0NCwgMjQ0O1xuICAgIC0tdmVyeS1saWdodC1ncmF5LW1vbm9jaHJvbWU6IDIxNSwgMjE1LCAyMTU7XG4gICAgLS1saWdodC1ncmF5LW1vbm9jaHJvbWU6IHZhcigtLWRhcmstY29sb3ItMSk7XG4gICAgLS1ncmF5LW1vbm9jaHJvbWU6IHZhcigtLWRhcmstY29sb3ItMyk7XG4gICAgLS1kYXJrLWdyYXktbW9ub2Nocm9tZTogNDgsIDQ4LCA1MjtcbiAgICAtLWJsYWNrLW1vbm9jaHJvbWU6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIC0tcGFsZS1hY2NlbnQ6IHZhcigtLWRhcmstY29sb3ItMik7XG4gICAgLS1icmlnaHQtYWNjZW50OiB2YXIoLS1kYXJrLWNvbG9yLTIpO1xuICAgIC0tbWVkaXVtLWFjY2VudDogdmFyKC0tZGFyay1jb2xvci0zKTtcbiAgICAtLWRhcmstYWNjZW50OiB2YXIoLS1kYXJrLWNvbG9yLTIpO1xuICAgIC0tYWx0LWFjY2VudDogMjIxLCAxMDIsIDE3O1xuICAgIC0tYmFja2dyb3VuZC1ncmFkaWVudC1jb2xvcjogdmFyKC0tdmVyeS1saWdodC1ncmF5LW1vbm9jaHJvbWUpO1xuICAgIC0tc3dhdGNoLWJhY2tncm91bmQ6IHZhcigtLXdoaXRlLW1vbm9jaHJvbWUpO1xuICAgIC0tc3dhdGNoLXByaW1hcnk6IHZhcigtLWJyaWdodC1hY2NlbnQpO1xuICAgIC0tc3dhdGNoLXByaW1hcnktZGFya2VyOiB2YXIoLS1tZWRpdW0tYWNjZW50KTtcbiAgICAtLXN3YXRjaC1wcmltYXJ5LWRhcmtlc3Q6IHZhcigtLWRhcmstYWNjZW50KTtcbiAgICAtLXN3YXRjaC10ZXh0LWRhcms6IHZhcigtLWJsYWNrLW1vbm9jaHJvbWUpO1xuICAgIC0tc3dhdGNoLXRleHQtbGlnaHQ6IHZhcigtLXdoaXRlLW1vbm9jaHJvbWUpO1xuICAgIC0tc3dhdGNoLXRleHQtZ2VuZXJhbDogdmFyKC0tc3dhdGNoLXRleHQtZGFyayk7XG4gICAgLS1zd2F0Y2gtaW1wb3J0YW50LXRleHQ6IHZhcigtLWJyaWdodC1hY2NlbnQpO1xuICAgIC0tc3dhdGNoLW1lbnViZy1jb2xvcjogdmFyKC0td2hpdGUtbW9ub2Nocm9tZSk7XG4gICAgLS1zd2F0Y2gtbWVudWJnLWxpZ2h0LWNvbG9yOiB2YXIoLS1wYWxlLWdyYXktbW9ub2Nocm9tZSk7XG4gICAgLS1zd2F0Y2gtbWVudWJnLW1lZGl1bS1jb2xvcjogdmFyKC0tbGlnaHQtZ3JheS1tb25vY2hyb21lKTtcbiAgICAtLXN3YXRjaC1tZW51YmctbWVkaXVtLWRhcmstY29sb3I6IHZhcigtLWdyYXktbW9ub2Nocm9tZSk7XG4gICAgLS1zd2F0Y2gtbWVudWJnLWRhcmstY29sb3I6IHZhcigtLWRhcmstZ3JheS1tb25vY2hyb21lKTtcbiAgICAtLXN3YXRjaC1tZW51YmctYmxhY2stY29sb3I6IHZhcigtLWJsYWNrLW1vbm9jaHJvbWUpO1xuICAgIC0tc3dhdGNoLW1lbnViZy1ob3Zlci1jb2xvcjogdmFyKC0tYmxhY2stbW9ub2Nocm9tZSk7XG4gICAgLS1zd2F0Y2gtbWVudXR4dC1kYXJrLWNvbG9yOiB2YXIoLS1ibGFjay1tb25vY2hyb21lKTtcbiAgICAtLXN3YXRjaC1tZW51dHh0LWxpZ2h0LWNvbG9yOiB2YXIoLS13aGl0ZS1tb25vY2hyb21lKTtcbiAgICAtLXN3YXRjaC1tZW51dHh0LWdlbmVyYWwtY29sb3I6IHZhcigtLXN3YXRjaC1tZW51dHh0LWRhcmstY29sb3IpO1xuICAgIC0tc3dhdGNoLWJvcmRlci1jb2xvcjogdmFyKC0tYmxhY2stbW9ub2Nocm9tZSk7XG4gICAgLS1zd2F0Y2gtc2Vjb25kYXJ5LWNvbG9yOiB2YXIoLS1zd2F0Y2gtbWVudWJnLWxpZ2h0LWNvbG9yKTtcbiAgICAtLXN3YXRjaC10ZXJ0aWFyeS1jb2xvcjogdmFyKC0tc3dhdGNoLW1lbnViZy1tZWRpdW0tY29sb3IpO1xuICAgIC0tc3dhdGNoLXRleHQtc2Vjb25kYXJ5LWNvbG9yOiB2YXIoLS1zd2F0Y2gtbWVudXR4dC1saWdodC1jb2xvcik7XG4gICAgLS1zd2F0Y2gtdGV4dC10ZXJ0aWFyeS1jb2xvcjogdmFyKC0tc3dhdGNoLW1lbnV0eHQtZGFyay1jb2xvcik7XG4gICAgLS1zd2F0Y2gtaGVhZGVyaDEtY29sb3I6IHZhcigtLXN3YXRjaC10ZXh0LWxpZ2h0KTtcbiAgICAtLXN3YXRjaC1oZWFkZXJoMi1jb2xvcjogdmFyKC0tc3dhdGNoLXRleHQtbGlnaHQpO1xuICAgIC0tc3dhdGNoLXRvcG1lbnUtYm9yZGVyLWNvbG9yOiB2YXIoLS1tZWRpdW0tYWNjZW50KTtcbiAgICAtLXN3YXRjaC10b3BtZW51LWJnLWNvbG9yOiB2YXIoLS1zd2F0Y2gtbWVudWJnLW1lZGl1bS1kYXJrLWNvbG9yKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogR2xvYmFsIC0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keSwgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tYm9keS1mb250KTtcbiAgICBoeXBoZW5zOiBtYW51YWw7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tdGV4dC1jb2xvcikpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBzY3JvbGxiYXItY29sb3I6IHJnYmEodmFyKC0tc2Nyb2xsYmFyLWNvbG9yKSkgcmdiYSh2YXIoLS1zY3JvbGxiYXItYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIHNjcm9sbGJhci13aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tc2VsZWN0ZWQtdGV4dC1jb2xvcikpO1xufVxuXG5hIHtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1saW5rLWNvbG9yKSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hOnZpc2l0ZWQge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXZpc2l0ZWQtbGluay1jb2xvcikpO1xufVxuXG5hOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgY29sb3I6IHJnYmEodmFyKC0taG92ZXItbGluay1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDAuMWVtO1xufVxuXG5hLm5ld3BhZ2Uge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLW5ld3BhZ2UtY29sb3IpKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbnRhYmxlIHtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tdGl0bGUtZm9udCk7XG4gICAgbWFyZ2luOiAwLjM1ZW0gMDtcbn1cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWgxLWNvbG9yKSk7XG59XG5cbmgyIHtcbiAgICBmb250LXNpemU6IDEuNzVlbTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1oMi1jb2xvcikpO1xufVxuXG5oMyB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1oMy1jb2xvcikpO1xufVxuXG5oNCB7XG4gICAgZm9udC1zaXplOiAxLjMyNWVtO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWg0LWNvbG9yKSk7XG59XG5cbmg1IHtcbiAgICBmb250LXNpemU6IDEuMTVlbTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1oNS1jb2xvcikpO1xufVxuXG5oNiB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgY29sb3I6IHJnYmEodmFyKC0taDYtY29sb3IpKTtcbn1cblxuaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QsIGJ1dHRvbiwgbWV0ZXIsIHByb2dyZXNzLCBjb2RlLCB0dCwgLmNvZGUsIHByZSwgLnByZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLW1vbm8tZm9udCk7XG59XG5cbnR0IHtcbiAgICBmb250LXNpemU6IDEwMCU7XG59XG5cbmltZywgZW1iZWQsIHZpZGVvLCBvYmplY3QsIGlmcmFtZSwgdGFibGUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmJ1dHRvbiwgLmJ0biwgaW5wdXRbdHlwZT1idXR0b25dIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tYm9keS1mb250KTtcbn1cblxuI2NvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEhlYWRlciAtLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNoZWFkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taGVhZGVyLWJhY2tncm91bmQtaW1hZ2UpO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWhlYWRlci10ZXh0LWNvbG9yKSk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImgxXCIgXCJ0b3BiYXJcIjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHZhcigtLW1haW4taGVhZGVyLWhlaWdodCkgdmFyKC0tdG9wYmFyLWhlaWdodCk7XG4gICAgei1pbmRleDogNztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbiNoZWFkZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4jaGVhZGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiB2YXIoLS1tYWluLWhlYWRlci1oZWlnaHQpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1oZWFkZXItZXh0cmEtYmFja2dyb3VuZC1pbWFnZSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwLjI1ZW0gMC4yNWVtO1xufVxuXG4vKiBIZWFkZXIgVGl0bGUgKi9cbiNoZWFkZXIgaDEge1xuICAgIGdyaWQtYXJlYTogaDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwIHZhcigtLWhlYWRlci1tYXJnaW4pO1xufVxuXG4jaGVhZGVyIGgxIGEge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jaGVhZGVyIGgxIGEgc3BhbiB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWhlYWRlci10ZXh0LWNvbG9yKSk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWhlYWRlci1mb250KTtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSh2YXIoLS1oZWFkZXItdGV4dC1zaGFkb3ctY29sb3IpKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG4jaGVhZGVyIGgxIGEgc3Bhbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiB2YXIoLS1oZWFkZXItdGl0bGUpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLXRpdGxlLWZvbnQtc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbiNoZWFkZXIgaDEgYSBzcGFuOjphZnRlciB7XG4gICAgY29udGVudDogdmFyKC0taGVhZGVyLXN1YnRpdGxlKTtcbiAgICBmb250LXNpemU6IHZhcigtLWhlYWRlci1zdWJ0aXRsZS1mb250LXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBIZWFkZXIgTG9nbyAqL1xuI2hlYWRlciBoMiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tdG9wYmFyLWhlaWdodCkgLSAxcmVtKTtcbiAgICB0b3A6IDFyZW07XG4gICAgei1pbmRleDogMDtcbn1cblxuI2hlYWRlciBoMiBzcGFuIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIG1hcmdpbjogMCB2YXIoLS1oZWFkZXItbWFyZ2luKTtcbn1cblxuI2hlYWRlciBoMiBzcGFuOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbG9nby1pbWFnZSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFRvcCBCYXIgKi9cbiN0b3AtYmFyIHtcbiAgICBncmlkLWFyZWE6IHRvcGJhcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCB2YXIoLS1oZWFkZXItbWFyZ2luKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXRvcGJhci1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMjtcbn1cblxuI3RvcC1iYXIgdWwsXG4jdG9wLWJhciBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbiN0b3AtYmFyIGRpdltjbGFzcyo9dG9wLWJhcl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuI3RvcC1iYXIgZGl2W2NsYXNzKj10b3AtYmFyXSA+IHVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuI3RvcC1iYXIgZGl2W2NsYXNzKj10b3AtYmFyXSA+IHVsID4gbGkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbGV4OiAyIDIgYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdyk7XG59XG5cbiN0b3AtYmFyIGRpdltjbGFzcyo9dG9wLWJhcl0gPiB1bCA+IGxpOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluLCAuc2Zob3Zlcikge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tdG9wYmFyLWhvdmVyLWJhY2tncm91bmQtY29sb3IpKTtcbn1cblxuI3RvcC1iYXIgZGl2W2NsYXNzKj10b3AtYmFyXSA+IHVsID4gbGkgPiBhIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdG9wYmFyLWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS10b3BiYXItdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyBjbGFtcCgwcywgMC4xNXMsIHZhcigtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLXNsb3cpIC8gMik7XG59XG5cbiN0b3AtYmFyIGRpdltjbGFzcyo9dG9wLWJhcl0gPiB1bCA+IGxpOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluLCAuc2Zob3ZlcikgPiBhIHtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS10b3BiYXItaG92ZXItdGV4dC1jb2xvcikpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMC4ycmVtIDAgcmdiYSh2YXIoLS10b3BiYXItaG92ZXItYm9yZGVyLWNvbG9yKSksIGluc2V0IDAgLTAuMnJlbSAwIHJnYmEodmFyKC0tdG9wYmFyLWhvdmVyLWJvcmRlci1jb2xvcikpO1xufVxuXG4jdG9wLWJhciBkaXZbY2xhc3MqPXRvcC1iYXJdID4gdWwgPiBsaSA+IHVsIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlcjogc29saWQgY2FsYyh2YXIoLS10b3BiYXItZHJvcC1ib3JkZXItd2lkdGgpIC8gMikgcmdiYSh2YXIoLS10b3BiYXItZHJvcC1ib3JkZXItY29sb3IpKTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tdG9wYmFyLWRyb3AtYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKHZhcigtLWdlbmVyYWwtYmx1cikpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKHZhcigtLXRvcGJhci1kcm9wLXNoYWRvdy1jb2xvcikpO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtZmFzdCkgZWFzZS1pbi1vdXQ7XG59XG5cbiN0b3AtYmFyIGRpdltjbGFzcyo9dG9wLWJhcl0gPiB1bCA+IGxpOmxhc3Qtb2YtdHlwZSA+IHVsIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG4jdG9wLWJhciBkaXZbY2xhc3MqPXRvcC1iYXJdID4gdWwgPiBsaTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiwgLnNmaG92ZXIpID4gdWwsXG4jdG9wLWJhciBkaXZbY2xhc3MqPXRvcC1iYXJdID4gdWwgPiBsaSA+IHVsID4gbGk6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIC5zZmhvdmVyKSA+IHVsIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4jdG9wLWJhciBkaXZbY2xhc3MqPXRvcC1iYXJdID4gdWwgPiBsaSA+IHVsID4gbGksXG4jdG9wLWJhciBkaXZbY2xhc3MqPXRvcC1iYXJdID4gdWwgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlcjogc29saWQgY2FsYyh2YXIoLS10b3BiYXItZHJvcC1ib3JkZXItd2lkdGgpIC8gMikgcmdiYSh2YXIoLS10b3BiYXItZHJvcC1ib3JkZXItY29sb3IpKTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jdG9wLWJhciBkaXZbY2xhc3MqPXRvcC1iYXJdID4gdWwgPiBsaSA+IHVsID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDA7XG59XG5cbiN0b3AtYmFyIGRpdltjbGFzcyo9dG9wLWJhcl0gPiB1bCA+IGxpID4gdWwgPiBsaSA+IGEsXG4jdG9wLWJhciBkaXZbY2xhc3MqPXRvcC1iYXJdID4gdWwgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tdG9wYmFyLWRyb3AtdGV4dC1jb2xvcikpO1xuICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdyk7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3RvcC1iYXIgZGl2W2NsYXNzKj10b3AtYmFyXSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiksXG4jdG9wLWJhciBkaXZbY2xhc3MqPXRvcC1iYXJdID4gdWwgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbikge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXRvcGJhci1kcm9wLWhvdmVyLXRleHQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXRvcGJhci1kcm9wLWhvdmVyLWJhY2tncm91bmQtY29sb3IpKTtcbn1cblxuI3RvcC1iYXIgZGl2W2NsYXNzKj10b3AtYmFyXSA+IHVsID4gbGkgPiB1bCA+IGxpID4gdWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiBzb2xpZCBjYWxjKHZhcigtLXRvcGJhci1kcm9wLWJvcmRlci13aWR0aCkgLyAyKSByZ2JhKHZhcigtLXRvcGJhci1kcm9wLWJvcmRlci1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tdG9wYmFyLWRyb3AtYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKHZhcigtLWdlbmVyYWwtYmx1cikpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKHZhcigtLXRvcGJhci1kcm9wLXNoYWRvdy1jb2xvcikpO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiBjYWxjKC0xICogdmFyKC0tdG9wYmFyLWRyb3AtYm9yZGVyLXdpZHRoKSAvIDIpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLWZhc3QpIGVhc2UtaW4tb3V0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuI3RvcC1iYXIgLm1vYmlsZS10b3AtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jdG9wLWJhciAubW9iaWxlLXRvcC1iYXIgLm9wZW4tbWVudSB7XG4gICAgd2lkdGg6IHZhcigtLXRvcGJhci1oZWlnaHQtb24tbW9iaWxlKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbiN0b3AtYmFyIC5tb2JpbGUtdG9wLWJhciAub3Blbi1tZW51IHAge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4jdG9wLWJhciAubW9iaWxlLXRvcC1iYXIgLm9wZW4tbWVudSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdyksIGJveC1zaGFkb3cgY2xhbXAoMHMsIDAuMTVzLCB2YXIoLS1nZW5lcmFsLXRyYW5zaXRpb24tdGltZS1zbG93KSAvIDIpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4jdG9wLWJhciAubW9iaWxlLXRvcC1iYXIgLm9wZW4tbWVudSBhOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tdG9wYmFyLXRleHQtY29sb3IpKTtcbiAgICBtYXNrLWltYWdlOiB2YXIoLS1zaWRlLWJhci1idXR0b24tbWFzayk7XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4jdG9wLWJhciAubW9iaWxlLXRvcC1iYXIgLm9wZW4tbWVudSBhOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS10b3BiYXItaG92ZXItYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMC4ycmVtIDAgcmdiYSh2YXIoLS10b3BiYXItaG92ZXItYm9yZGVyLWNvbG9yKSksIGluc2V0IDAgLTAuMnJlbSAwIHJnYmEodmFyKC0tdG9wYmFyLWhvdmVyLWJvcmRlci1jb2xvcikpO1xufVxuXG4jdG9wLWJhciAubW9iaWxlLXRvcC1iYXIgLm9wZW4tbWVudSBhOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXRvcGJhci1ob3Zlci10ZXh0LWNvbG9yKSk7XG59XG5cbi8qIFVzZXIgSW5mbyAqL1xuI2xvZ2luLXN0YXR1cyB7XG4gICAgcmlnaHQ6IGNhbGModmFyKC0taGVhZGVyLW1hcmdpbikgKyAwLjZyZW0pO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgei1pbmRleDogMztcbn1cblxuI2xvZ2luLXN0YXR1cyAucHJpbnR1c2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiAwLjNyZW07XG4gICAgY29sb3I6IHJnYmEodmFyKC0taGVhZGVyLXVzZXJuYW1lLWNvbG9yKSk7XG59XG5cbiNsb2dpbi1zdGF0dXMgLnByaW50dXNlciA+IGE6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbn1cblxuI2xvZ2luLXN0YXR1cyAucHJpbnR1c2VyID4gYTpmaXJzdC1jaGlsZCBpbWcge1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBwYWRkaW5nOiAwIDAgMCAwLjVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IC0wLjJyZW07XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xufVxuXG4jbG9naW4tc3RhdHVzIGEge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWhlYWRlci10ZXh0LWNvbG9yKSk7XG59XG5cbmEjYWNjb3VudC10b3BidXR0b24ge1xuICAgIGZvbnQtc2l6ZTogODUlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tYWNjb3VudC1idXR0b24tYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWFjY291bnQtYnV0dG9uLXRleHQtY29sb3IpKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1nZW5lcmFsLXRyYW5zaXRpb24tdGltZS1zbG93KTtcbn1cblxuI2FjY291bnQtdG9wYnV0dG9uOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1hY2NvdW50LWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tYWNjb3VudC1idXR0b24taG92ZXItdGV4dC1jb2xvcikpO1xufVxuXG4jYWNjb3VudC1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lkdGg6IDZlbTtcbiAgICBib3JkZXI6IHNvbGlkIHZhcigtLWFjY291bnQtZHJvcC1ib3JkZXItd2lkdGgpIHJnYmEodmFyKC0tYWNjb3VudC1kcm9wLWJvcmRlci1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tYWNjb3VudC1kcm9wLWJhY2tncm91bmQtY29sb3IpKTtcbn1cblxuI2FjY291bnQtb3B0aW9ucyB1bCxcbiNhY2NvdW50LW9wdGlvbnMgbGkge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4jYWNjb3VudC1vcHRpb25zIGxpIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1nZW5lcmFsLXRyYW5zaXRpb24tdGltZS1zbG93KTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1hY2NvdW50LWRyb3AtdGV4dC1jb2xvcikpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuI2FjY291bnQtb3B0aW9ucyBsaSBhOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tYWNjb3VudC1kcm9wLWhvdmVyLXRleHQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWFjY291bnQtZHJvcC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKSk7XG59XG5cbiNsb2dpbi1zdGF0dXMgI2FjY291bnQtb3B0aW9uczpmb2N1cy13aXRoaW4sXG4jbG9naW4tc3RhdHVzICNhY2NvdW50LXRvcGJ1dHRvbjppcyg6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pICsgI2FjY291bnQtb3B0aW9ucyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG4vKiBTZWFyY2ggKi9cbiNzZWFyY2gtdG9wLWJveCB7XG4gICAgei1pbmRleDogMjtcbiAgICByaWdodDogY2FsYyh2YXIoLS1oZWFkZXItbWFyZ2luKSArIDAuNnJlbSk7XG4gICAgdG9wOiA0NSU7XG59XG5cbiNzZWFyY2gtdG9wLWJveC1pbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuI3NlYXJjaC10b3AtYm94LWZvcm0gLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjFlbSAwLjNlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXNlYXJjaC1idXR0b24tdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1nZW5lcmFsLXRyYW5zaXRpb24tdGltZS1zbG93KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1ib2R5LWZvbnQpO1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuI3NlYXJjaC10b3AtYm94LWZvcm0gLmJ1dHRvbjppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbikge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXNlYXJjaC1idXR0b24taG92ZXItdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tc2VhcmNoLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKSk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1haW4gQ29udGVudCAtLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNtYWluLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMnJlbSB2YXIoLS1ib2R5LW1hcmdpbik7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4jcGFnZS10aXRsZSxcbi5tZXRhLXRpdGxlIHtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1wYWdlLXRpdGxlLXRleHQtY29sb3IpKTtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAwLjE1cmVtIHJnYmEodmFyKC0tcGFnZS10aXRsZS1ib3JkZXItY29sb3IpKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDAgMCAwLjI1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXRpdGxlLWZvbnQpO1xufVxuXG4ubWV0YS10aXRsZSB7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG59XG5cbi5tZXRhLXRpdGxlIHAge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4jYnJlYWRjcnVtYnMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjJyZW0gMDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG59XG5cbiNwYWdlLWNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSk7XG4gICAgbWFyZ2luOiAxLjZyZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tY29udGVudC1mb250LXNpemUpO1xufVxuXG4vKiBUYWdzICovXG4ucGFnZS10YWdzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZm9udC1zaXplOiB2YXIoLS1jb250ZW50LWZvbnQtc2l6ZSk7XG59XG5cbi5wYWdlLXRhZ3M6OmJlZm9yZSB7XG4gICAgY29udGVudDogdmFyKC0tcGFnZS10YWctdGl0bGUpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tcGFnZS10YWctYm9yZGVyLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tcGFnZS10YWctdGl0bGUtY29sb3IpKTtcbiAgICBwYWRkaW5nOiAwLjNlbSAwLjZlbSBjYWxjKDAuM2VtIC0gMC4xNXJlbSk7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4ucGFnZS10YWdzIHNwYW4ge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDAuMTVyZW0gcmdiYSh2YXIoLS1wYWdlLXRhZy1ib3JkZXItY29sb3IpKTtcbiAgICBwYWRkaW5nLXRvcDogMC40cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGdyaWQtZ2FwOiAwLjVyZW07XG59XG5cbi5wYWdlLXRhZ3Mgc3BhbiBhIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXBhZ2UtdGFnLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1wYWdlLXRhZy10ZXh0LWNvbG9yKSk7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICAgIHBhZGRpbmc6IDAuMXJlbSAwLjNyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLWZhc3QpO1xufVxuXG4ucGFnZS10YWdzIHNwYW4gYTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbikge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXBhZ2UtdGFnLWhvdmVyLXRleHQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXBhZ2UtdGFnLWhvdmVyLWJhY2tncm91bmQtY29sb3IpKTtcbn1cblxuI21haW4tY29udGVudCAucGFnZS10YWdzIFtocmVmXj1cIi9zeXN0ZW06cGFnZS10YWdzL3RhZy9fXCJdIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBCdXR0b25zICovXG4jcGFnZS1vcHRpb25zLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4jcGFnZS1pbmZvIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wYWdlLXdhdGNoLW9wdGlvbnMge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbn1cblxuZGl2W2lkKj1wYWdlLW9wdGlvbnMtYm90dG9tXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ3JpZC1nYXA6IDAuMjVyZW07XG4gICAgbWFyZ2luOiAwLjI1cmVtIDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5kaXZbaWQqPXBhZ2Utb3B0aW9ucy1ib3R0b21dID4gYSB7XG4gICAgZmxleDogMiAwIGF1dG87XG4gICAgY29sb3I6IHJnYmEodmFyKC0tcGFnZS1vcHRpb24tdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tcGFnZS1vcHRpb24tYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZzogMCAwLjI1cmVtO1xuICAgIG1hcmdpbjogMDtcbn1cblxuZGl2W2lkKj1wYWdlLW9wdGlvbnMtYm90dG9tXSA+IGE6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tcGFnZS1vcHRpb24taG92ZXItdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tcGFnZS1vcHRpb24taG92ZXItYmFja2dyb3VuZC1jb2xvcikpO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb290ZXIgLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWZvb3Rlci10ZXh0LWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1mb290ZXItYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuMnJlbSAwO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA4O1xufVxuXG4jZm9vdGVyIC5vcHRpb25zIHtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMnJlbTtcbn1cblxuI2Zvb3RlciAub3B0aW9uczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIHwgXCI7XG59XG5cbiNmb290ZXIgYSB7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZm9vdGVyLXRleHQtY29sb3IpKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4jZm9vdGVyID4gYSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMmVtO1xufVxuXG4jbGljZW5zZS1hcmVhIHtcbiAgICBwYWRkaW5nOiAwLjRlbSAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tbGljZW5zZS1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tbGljZW5zZS10ZXh0LWNvbG9yKSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogODtcbn1cblxuI2xpY2Vuc2UtYXJlYSBhIHtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1saWNlbnNlLWxpbmstY29sb3IpKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2lkZSBCYXIgLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI3NpZGUtYmFyIHtcbiAgICB3aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aCk7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zaWRlYmFyLXdpZHRoKSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjI1cyBlYXNlIDAuMTI1cztcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHotaW5kZXg6IDk7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1zaWRlYmFyLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAwLjEzMzMzMzMzMzNyZW0gcmdiYSh2YXIoLS1zaWRlYmFyLWJvcmRlci1jb2xvcikpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiNzaWRlLWJhcjppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pIHtcbiAgICBsZWZ0OiAwO1xufVxuXG4jc2lkZS1iYXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAtMTtcbn1cblxuI3NpZGUtYmFyOjphZnRlciB7XG4gICAgY29udGVudDogXCLil4BcIjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDE0cmVtO1xuICAgIHRvcDogY2FsYyg1MHZoIC0gN3JlbSk7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgY29sb3I6IHJnYmEodmFyKC0tc2lkZWJhci1oYW5kbGUtdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tc2lkZWJhci1oYW5kbGUtYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMC43NXJlbSAwLjc1cmVtIDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLWZhc3QpIGVhc2UsIGxlZnQgY2FsYygyICogdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtZmFzdCkpIGVhc2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuXG4jc2lkZS1iYXI6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zaWRlYmFyLXdpZHRoKSk7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuI2ludGVyd2lraSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG59XG5cbiNpbnRlcndpa2kgYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gICAgbWluLXdpZHRoOiB1bnNldDtcbn1cblxuOmlzKCNzaWRlLWJhciwgI2ludGVyd2lraSkgPiAqIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbn1cblxuOmlzKCNzaWRlLWJhciwgI2ludGVyd2lraSkgcCB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbjppcygjc2lkZS1iYXIsICNpbnRlcndpa2kpIC5zaWRlLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbiNzaWRlLWJhciAuc2lkZS1ibG9jay5tZWRpYSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1zaWRlYmFyLW1lZGlhLWJhY2tncm91bmQtY29sb3IpKTtcbn1cblxuI3NpZGUtYmFyIC5zaWRlLWJsb2NrLm1lZGlhID4gZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xufVxuXG4jc2lkZS1iYXIgLnNpZGUtYmxvY2subWVkaWEgYSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuI3NpZGUtYmFyIC5zaWRlLWJsb2NrLm1lZGlhIGEgaW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHJlbSk7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdyhyZ2JhKHZhcigtLXNpZGViYXItbWVkaWEtaWNvbi1jb2xvcikpIDIwcmVtIDApO1xufVxuXG46aXMoI3NpZGUtYmFyLCAjaW50ZXJ3aWtpKSAuaGVhZGluZyxcbiNzaWRlLWJhciAuY29sbGFwc2libGUtYmxvY2stdW5mb2xkZWQtbGluayBhLFxuI3NpZGUtYmFyIC5jb2xsYXBzaWJsZS1ibG9jay1mb2xkZWQgYSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1zaWRlYmFyLXRpdGxlLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1zaWRlYmFyLXRpdGxlLXRleHQtY29sb3IpKTtcbiAgICBoZWlnaHQ6IDEuMzMzMzMzMzMzM3JlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKHZhcigtLXNpZGViYXItdGl0bGUtc2hhZG93LWNvbG9yKSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAwLjEzMzMzMzMzMzNyZW0gcmdiYSh2YXIoLS1zaWRlYmFyLWJvcmRlci1jb2xvcikpO1xuICAgIGRpcmVjdGlvbjogbHRyO1xufVxuXG4jc2lkZS1iYXIgLmNvbGxhcHNpYmxlLWJsb2NrLXVuZm9sZGVkLWxpbmssXG4jc2lkZS1iYXIgLmNvbGxhcHNpYmxlLWJsb2NrLWZvbGRlZCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4jc2lkZS1iYXIgLmNvbGxhcHNpYmxlLWJsb2NrLWZvbGRlZCBhOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4pa2XCI7XG59XG5cbiNzaWRlLWJhciAuY29sbGFwc2libGUtYmxvY2stZm9sZGVkIGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIuKXgFwiO1xufVxuXG4jc2lkZS1iYXIgLmNvbGxhcHNpYmxlLWJsb2NrLXVuZm9sZGVkLWxpbmsgYTo6YmVmb3JlLFxuI3NpZGUtYmFyIC5jb2xsYXBzaWJsZS1ibG9jay11bmZvbGRlZC1saW5rIGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIuKWvFwiO1xufVxuXG46aXMoI3NpZGUtYmFyLCAjaW50ZXJ3aWtpKSAubWVudS1pdGVtIHtcbiAgICBmb250LXNpemU6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAwLjEzMzMzMzMzMzNyZW0gcmdiYSh2YXIoLS1zaWRlYmFyLWJvcmRlci1jb2xvcikpO1xuICAgIGRpcmVjdGlvbjogbHRyO1xufVxuXG46aXMoI3NpZGUtYmFyLCAjaW50ZXJ3aWtpKSAubWVudS1pdGVtID4gaW1nIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG46aXMoI3NpZGUtYmFyLCAjaW50ZXJ3aWtpKSAubWVudS1pdGVtIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1zaWRlYmFyLXRleHQtY29sb3IpKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXM7XG4gICAgcGFkZGluZzogMC4xcmVtIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDAuMTMzMzMzMzMzM3JlbSByZ2JhKHZhcigtLXNpZGViYXItYm9yZGVyLWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZmxleC1ncm93OiAyO1xufVxuXG46aXMoI3NpZGUtYmFyLCAjaW50ZXJ3aWtpKSAubWVudS1pdGVtIGE6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXNpZGViYXItaG92ZXItYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXNpZGViYXItaG92ZXItdGV4dC1jb2xvcikpO1xufVxuXG4jc2lkZS1iYXIgLmNsb3NlLW1lbnUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UgMC4xMjVzLCB3aWR0aCAwLjI1cyBlYXNlIDAuMTI1cztcbiAgICB6LWluZGV4OiAtMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXBvcHVwLWZhZGVyLWNvbG9yKSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIodmFyKC0tZ2VuZXJhbC1ibHVyKSk7XG59XG5cbiNzaWRlLWJhciAuY2xvc2UtbWVudSBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEFjdGlvbiBBcmVhIC0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNlZGl0LXBhZ2UtZm9ybSxcbiNuZXctcG9zdC1mb3JtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWVkaXQtYXJlYS1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZWRpdC1hcmVhLXRleHQtY29sb3IpKTtcbiAgICBwYWRkaW5nOiAxcmVtO1xufVxuXG4jZWRpdC1wYWdlLWZvcm0gLmZvcm0ge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4jZWRpdC1wYWdlLWZvcm0gLmZvcm0gdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNlZGl0LXBhZ2UtZm9ybSAuZm9ybSB0ZDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4jZWRpdC1wYWdlLXRpdGxlLFxuI25ldy1wb3N0LWRpdiBpbnB1dC50ZXh0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZWRpdC1hcmVhLXRleHRhcmVhLXRleHQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWVkaXQtYXJlYS10ZXh0YXJlYS1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuMmVtIDAuNWVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLXNsb3cpO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbiNlZGl0LXBhZ2UtdGV4dGFyZWEsXG4jbmV3LXBvc3QtZGl2IHRleHRhcmVhI25wLXRleHQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZWRpdC1hcmVhLXRleHRhcmVhLXRleHQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWVkaXQtYXJlYS10ZXh0YXJlYS1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdyk7XG59XG5cbi5jaGFuZ2UtdGV4dGFyZWEtc2l6ZSB7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uY2hhbmdlLXRleHRhcmVhLXNpemUgYSB7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZWRpdC1hcmVhLWJ1dHRvbi10ZXh0LWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1lZGl0LWFyZWEtYnV0dG9uLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1nZW5lcmFsLXRyYW5zaXRpb24tdGltZS1mYXN0KTtcbn1cblxuLmVkaXQtaGVscC0zNCB7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgZm9udC1zaXplOiAwO1xufVxuXG4uZWRpdC1oZWxwLTM0IGEge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWVkaXQtYXJlYS1idXR0b24tdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tZWRpdC1hcmVhLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgcGFkZGluZzogMCAwLjVlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLWZhc3QpO1xufVxuXG4uZWRpdC1oZWxwLTM0IGE6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pLFxuLmNoYW5nZS10ZXh0YXJlYS1zaXplIGE6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pIHtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1lZGl0LWFyZWEtaG92ZXItYnV0dG9uLXRleHQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWVkaXQtYXJlYS1ob3Zlci1idXR0b24tYmFja2dyb3VuZC1jb2xvcikpO1xufVxuXG4uZWRpdC1wYWdlLWJvdHRvbXRhYmxlIHtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ3JpZC1nYXA6IDFyZW07XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uZWRpdC1wYWdlLWJvdHRvbXRhYmxlIHRib2R5LFxuLmVkaXQtcGFnZS1ib3R0b210YWJsZSB0ciB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbi5lZGl0LXBhZ2UtYm90dG9tdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCh2YXIoLS1ib2R5LXdpZHRoKSAtIDJyZW0pIC8gMyk7XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4jZWRpdC1wYWdlLWNvbW1lbnRzIHtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1lZGl0LWFyZWEtdGV4dGFyZWEtdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tZWRpdC1hcmVhLXRleHRhcmVhLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLWhlaWdodDogNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLXNsb3cpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG59XG5cbi5lZGl0LXBhZ2UtYm90dG9tdGFibGUgdGQgLnN1YiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tYWN0aW9uLWFyZWEtc3VidGV4dC1jb2xvcikpO1xufVxuXG4jZWRpdC1wYWdlLXRpdGxlOmZvY3VzLXZpc2libGUsXG4jZWRpdC1wYWdlLXRleHRhcmVhOmZvY3VzLXZpc2libGUsXG4jZWRpdC1wYWdlLWNvbW1lbnRzOmZvY3VzLXZpc2libGUsXG4jbmV3LXBvc3QtZGl2IGlucHV0LnRleHQ6Zm9jdXMtdmlzaWJsZSxcbiNuZXctcG9zdC1kaXYgdGV4dGFyZWEjbnAtdGV4dDpmb2N1cy12aXNpYmxlIHtcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDAgcmdiYSh2YXIoLS1lZGl0LWFyZWEtdGV4dGFyZWEtYm9yZGVyLWNvbG9yKSksIC0ycHggMnB4IDAgcmdiYSh2YXIoLS1lZGl0LWFyZWEtdGV4dGFyZWEtYm9yZGVyLWNvbG9yKSksIC0ycHggLTJweCAwIHJnYmEodmFyKC0tZWRpdC1hcmVhLXRleHRhcmVhLWJvcmRlci1jb2xvcikpLCAycHggLTJweCAwIHJnYmEodmFyKC0tZWRpdC1hcmVhLXRleHRhcmVhLWJvcmRlci1jb2xvcikpO1xufVxuXG4jbG9jay1pbmZvIHtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1lZGl0LWFyZWEtaW5mby10ZXh0LWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1lZGl0LWFyZWEtaW5mby1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDJlbSAxZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5kby1ub3Qtbm90aWZ5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jZWRpdC1wYWdlLWZvcm0gZGl2LmJ1dHRvbnMsXG4jbmV3LXBvc3QtZm9ybSBkaXYuYnV0dG9ucyB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdyaWQtZ2FwOiAwLjVyZW07XG59XG5cbmRpdi5idXR0b25zIGlucHV0LCBpbnB1dC5idXR0b24sIGJ1dHRvbiwgZmlsZSwgYS5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZ2VuZXJhbC1idXR0b24tdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tZ2VuZXJhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGZsZXgtYmFzaXM6IDYuNWVtO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtZmFzdCk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5kaXYuYnV0dG9ucyBpbnB1dDppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiksXG5pbnB1dC5idXR0b246aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pLFxuYnV0dG9uOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSxcbmZpbGU6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pLFxuYS5idXR0b246aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pIHtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1nZW5lcmFsLWhvdmVyLWJ1dHRvbi10ZXh0LWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1nZW5lcmFsLWhvdmVyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKSk7XG59XG5cbiNlZGl0LXBhZ2UtZm9ybSBkaXYuYnV0dG9ucyBpbnB1dCB7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZWRpdC1hcmVhLWJ1dHRvbi10ZXh0LWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1lZGl0LWFyZWEtYnV0dG9uLWJhY2tncm91bmQtY29sb3IpKTtcbn1cblxuI2VkaXQtcGFnZS1mb3JtIGRpdi5idXR0b25zIGlucHV0OmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZWRpdC1hcmVhLWhvdmVyLWJ1dHRvbi10ZXh0LWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1lZGl0LWFyZWEtaG92ZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3IpKTtcbn1cblxuOmlzKCN3ZC1lZGl0b3ItdG9vbGJhci1wYW5lbCwgI25wLWVkaXRvci1wYW5lbCkge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBncmlkLWdhcDogMC41cmVtO1xufVxuXG46aXMoI3dkLWVkaXRvci10b29sYmFyLXBhbmVsLCAjbnAtZWRpdG9yLXBhbmVsKSBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdyaWQtZ2FwOiAwLjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG46aXMoI3dkLWVkaXRvci10b29sYmFyLXBhbmVsLCAjbnAtZWRpdG9yLXBhbmVsKSBkaXYgPiB1bCB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbjppcygjd2QtZWRpdG9yLXRvb2xiYXItcGFuZWwsICNucC1lZGl0b3ItcGFuZWwpIGRpdiA+IHVsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG59XG5cbjppcygjd2QtZWRpdG9yLXRvb2xiYXItcGFuZWwsICNucC1lZGl0b3ItcGFuZWwpIGRpdiA+IHVsID4gbGkuaHNlcGFyYXRvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuOmlzKCN3ZC1lZGl0b3ItdG9vbGJhci1wYW5lbCwgI25wLWVkaXRvci1wYW5lbCkgdWwgbGk6aG92ZXIgdWwge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEodmFyKC0tZWRpdC1hcmVhLWhvdmVyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKSk7XG59XG5cbjppcygjd2QtZWRpdG9yLXRvb2xiYXItcGFuZWwsICNucC1lZGl0b3ItcGFuZWwpIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWVkaXQtYXJlYS1idXR0b24tYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtZmFzdCk7XG59XG5cbjppcygjd2QtZWRpdG9yLXRvb2xiYXItcGFuZWwsICNucC1lZGl0b3ItcGFuZWwpIGE6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWVkaXQtYXJlYS1ob3Zlci1idXR0b24tYmFja2dyb3VuZC1jb2xvcikpO1xufVxuXG46aXMoI3dkLWVkaXRvci10b29sYmFyLXBhbmVsLCAjbnAtZWRpdG9yLXBhbmVsKSBhOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hc2staW1hZ2U6IHZhcigtLWVkaXQtYXJlYS10b29sYmFyLWljb24tbWFzayk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1lZGl0LWFyZWEtYnV0dG9uLXRleHQtY29sb3IpKTtcbiAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXNpemU6IDc1JTtcbn1cblxuOmlzKCN3ZC1lZGl0b3ItdG9vbGJhci1wYW5lbCwgI25wLWVkaXRvci1wYW5lbCkgYTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbik6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1lZGl0LWFyZWEtaG92ZXItYnV0dG9uLXRleHQtY29sb3IpKTtcbn1cblxuI3ZpZXctZGlmZi1kaXYge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jdmlldy1kaWZmLWRpdiA+IHAge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4jdmlldy1kaWZmLWRpdiA+IGgxIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucHJldmlldy1tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAxcmVtO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0td2FybmluZy1jb2xvcikpO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXdhcm5pbmctdGV4dC1jb2xvcikpO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgei1pbmRleDogMjA7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnByZXZpZXctbWVzc2FnZSBhIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXdhcm5pbmctdGV4dC1jb2xvcikpO1xufVxuXG4vKiBXaG8gUmF0ZXM/ICovXG4jd2hvLXJhdGVkLXBhZ2UtYXJlYSA+IGRpdiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heChjYWxjKHZhcigtLWJvZHktd2lkdGgpIC8gNCAtIDJyZW0pLCAxZnIpIDEuMjVyZW0pO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4jd2hvLXJhdGVkLXBhZ2UtYXJlYSBiciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuI3doby1yYXRlZC1wYWdlLWFyZWEgLnByaW50dXNlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogcmdiYSh2YXIoLS1hY3Rpb24tYXJlYS1ib3JkZXItY29sb3IpKSBzb2xpZCAwLjE1cmVtO1xuICAgIHBhZGRpbmc6IDAuMnJlbTtcbn1cblxuI3doby1yYXRlZC1wYWdlLWFyZWEgc3BhbltzdHlsZSo9Y29sb3JdIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tdGV4dC1jb2xvcikpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLWJvdHRvbTogcmdiYSh2YXIoLS1hY3Rpb24tYXJlYS1ib3JkZXItY29sb3IpKSBzb2xpZCAwLjE1cmVtO1xufVxuXG4vKiBUYWdzICovXG4jYWN0aW9uLWFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwLjAxcHggMDtcbiAgICBtYXJnaW46IDFyZW0gMDtcbn1cblxuI2FjdGlvbi1hcmVhID4gaDEge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbiNmaWxlLXVwbG9hZC1mb3JtIHRhYmxlLmZvcm0sXG4jcmVuYW1lLW9wdGlvbi1yZW5hbWUgdGFibGUuZm9ybSxcbmZvcm1bb25zdWJtaXQqPXNldFBhcmVudF0gPiB0YWJsZS5mb3JtLFxuZm9ybVtvbnN1Ym1pdCo9UGFnZVRhZ3NNb2R1bGVdID4gdGFibGUuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxudGFibGUuZm9ybSB0Ym9keSxcbnRhYmxlLmZvcm0gdHIge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG50YWJsZS5mb3JtIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xufVxuXG50YWJsZS5mb3JtIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBmb250LXNpemU6IDg1JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxudGFibGUuZm9ybSB0ZCBpbnB1dCxcbi5uZXctcGFnZS1ib3ggZm9ybSBpbnB1dC50ZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWVkaXQtYXJlYS10ZXh0YXJlYS1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZWRpdC1hcmVhLXRleHRhcmVhLXRleHQtY29sb3IpKTtcbiAgICBwYWRkaW5nOiAwLjJlbSAwLjVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLXNsb3cpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbnRhYmxlLmZvcm0gdGQgaW5wdXQ6Zm9jdXMtdmlzaWJsZSxcbi5uZXctcGFnZS1ib3ggZm9ybSBpbnB1dC50ZXh0OmZvY3VzLXZpc2libGUge1xuICAgIGJveC1zaGFkb3c6IDJweCAycHggMCByZ2JhKHZhcigtLWVkaXQtYXJlYS10ZXh0YXJlYS1ib3JkZXItY29sb3IpKSwgLTJweCAycHggMCByZ2JhKHZhcigtLWVkaXQtYXJlYS10ZXh0YXJlYS1ib3JkZXItY29sb3IpKSwgLTJweCAtMnB4IDAgcmdiYSh2YXIoLS1lZGl0LWFyZWEtdGV4dGFyZWEtYm9yZGVyLWNvbG9yKSksIDJweCAtMnB4IDAgcmdiYSh2YXIoLS1lZGl0LWFyZWEtdGV4dGFyZWEtYm9yZGVyLWNvbG9yKSk7XG59XG5cbnRhYmxlLmZvcm0gdGQgZGl2LnN1YiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tYWN0aW9uLWFyZWEtc3VidGV4dC1jb2xvcikpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbmRpdi5idXR0b25zIHtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ3JpZC1nYXA6IDFyZW07XG59XG5cbmEuYWN0aW9uLWFyZWEtY2xvc2UsXG4jdmlldy1kaWZmLWRpdiA+IHAgPiBhIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWdlbmVyYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1nZW5lcmFsLWJ1dHRvbi10ZXh0LWNvbG9yKSk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1nZW5lcmFsLXRyYW5zaXRpb24tdGltZS1zbG93KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbmEuYWN0aW9uLWFyZWEtY2xvc2U6OmJlZm9yZSxcbiN2aWV3LWRpZmYtZGl2ID4gcCA+IGE6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLinJVcIjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5hLmFjdGlvbi1hcmVhLWNsb3NlOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSxcbiN2aWV3LWRpZmYtZGl2ID4gcCA+IGE6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWdlbmVyYWwtaG92ZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1nZW5lcmFsLWhvdmVyLWJ1dHRvbi10ZXh0LWNvbG9yKSk7XG59XG5cbi8qIEZpbGVzICovXG4jZmlsZS11cGxvYWQtZm9ybSB0YWJsZS5mb3JtIHRyOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdyaWQtZ2FwOiAwLjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuI2ZpbGUtdXBsb2FkLWZvcm0gdGFibGUuZm9ybSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgZmxleDogYXV0bztcbn1cblxuI2ZpbGUtdXBsb2FkLWZvcm0gdGFibGUuZm9ybSB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleDogbm9uZTtcbn1cblxuI2ZpbGUtdXBsb2FkLWZvcm0gdGFibGUuZm9ybSB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiOlwiO1xufVxuXG4jdXBsb2FkLXVzZXJmaWxlW3R5cGU9ZmlsZV0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdyk7XG59XG5cbiN1cGxvYWQtdXNlcmZpbGVbdHlwZT1maWxlXTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbikge1xuICAgIGJveC1zaGFkb3c6IDJweCAycHggMCByZ2JhKHZhcigtLWVkaXQtYXJlYS10ZXh0YXJlYS1ib3JkZXItY29sb3IpKSwgLTJweCAycHggMCByZ2JhKHZhcigtLWVkaXQtYXJlYS10ZXh0YXJlYS1ib3JkZXItY29sb3IpKSwgLTJweCAtMnB4IDAgcmdiYSh2YXIoLS1lZGl0LWFyZWEtdGV4dGFyZWEtYm9yZGVyLWNvbG9yKSksIDJweCAtMnB4IDAgcmdiYSh2YXIoLS1lZGl0LWFyZWEtdGV4dGFyZWEtYm9yZGVyLWNvbG9yKSk7XG59XG5cbiN1cGxvYWQtdXNlcmZpbGVbdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIG1hcmdpbjogLTAuMmVtIDAuNWVtIC0wLjJlbSAtMC41ZW07XG4gICAgcGFkZGluZzogMC40ZW0gMC41ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZ2VuZXJhbC1idXR0b24tdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tZ2VuZXJhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIG1pbi13aWR0aDogNWVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLWZhc3QpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuI3VwbG9hZC11c2VyZmlsZVt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbikge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWdlbmVyYWwtaG92ZXItYnV0dG9uLXRleHQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWdlbmVyYWwtaG92ZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3IpKTtcbn1cblxuI2ZpbGUtY29tbWVudHMge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWVkaXQtYXJlYS10ZXh0YXJlYS10ZXh0LWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1lZGl0LWFyZWEtdGV4dGFyZWEtYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4taGVpZ2h0OiA1cmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdyk7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4jZmlsZS1jb21tZW50czpmb2N1cy12aXNpYmxlIHtcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDAgcmdiYSh2YXIoLS1lZGl0LWFyZWEtdGV4dGFyZWEtYm9yZGVyLWNvbG9yKSksIC0ycHggMnB4IDAgcmdiYSh2YXIoLS1lZGl0LWFyZWEtdGV4dGFyZWEtYm9yZGVyLWNvbG9yKSksIC0ycHggLTJweCAwIHJnYmEodmFyKC0tZWRpdC1hcmVhLXRleHRhcmVhLWJvcmRlci1jb2xvcikpLCAycHggLTJweCAwIHJnYmEodmFyKC0tZWRpdC1hcmVhLXRleHRhcmVhLWJvcmRlci1jb2xvcikpO1xufVxuXG4vKiBIaXN0b3J5ICovXG4jaGlzdG9yeS1mb3JtLTEgdGFibGUuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4jaGlzdG9yeS1mb3JtLTEgdGFibGUuZm9ybSB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgMXJlbSBtaW5tYXgoMTBlbSwgMWZyKSk7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuI2hpc3RvcnktZm9ybS0xIHRhYmxlLmZvcm0gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCBiciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuI2hpc3RvcnktZm9ybS0xIHRhYmxlLmZvcm0gdHI6bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG59XG5cbiNoaXN0b3J5LWZvcm0tMSB0YWJsZS5mb3JtIHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMWV4O1xufVxuXG4jcmV2aXNpb24tbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbn1cblxuI3JldmlzaW9uLWxpc3QgLnBhZ2VyIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5wYWdlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXItYm90dG9tOiByZ2JhKHZhcigtLWdlbmVyYWwtaG92ZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3IpKSBzb2xpZCAwLjJyZW07XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ucGFnZXItbm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi5wYWdlciAudGFyZ2V0IHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbn1cblxuLnBhZ2VyIGEsIC5wYWdlciAuY3VycmVudCwgLnBhZ2VyIC5kb3RzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IGF1dG87XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdyk7XG4gICAgbWluLXdpZHRoOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5wYWdlciBhOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZ2VuZXJhbC1idXR0b24tdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tZ2VuZXJhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvcikpO1xufVxuXG4ucGFnZXIgLmN1cnJlbnQge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWdlbmVyYWwtaG92ZXItYnV0dG9uLXRleHQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWdlbmVyYWwtaG92ZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3IpKTtcbn1cblxudGFibGUucGFnZS1oaXN0b3J5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbnRhYmxlLnBhZ2UtaGlzdG9yeSB0Ym9keSB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbnRhYmxlLnBhZ2UtaGlzdG9yeSB0cjpmaXJzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxudGFibGUucGFnZS1oaXN0b3J5IHRyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwicmV2aXNpb24gY2hvb3NlIGFjdGlvbiB1c2VyIG1lbW8gZGF0ZVwiIFwic2lnbmF0dXJlIGNob29zZSBhY3Rpb24gdXNlciBtZW1vIGRhdGVcIjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIuNXJlbSAzcmVtIDQuNHJlbSBtYXgtY29udGVudCAxZnIgbWF4LWNvbnRlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogcmdiYSh2YXIoLS1hY3Rpb24tYXJlYS1ib3JkZXItY29sb3IpKSBzb2xpZCAwLjE1cmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdyk7XG59XG5cbnRhYmxlLnBhZ2UtaGlzdG9yeSB0cjppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWFjdGlvbi1hcmVhLWJvcmRlci1jb2xvcikpO1xufVxuXG50YWJsZS5wYWdlLWhpc3RvcnkgdHIgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRhYmxlLnBhZ2UtaGlzdG9yeSB0ciB0ZDpudGgtY2hpbGQoMSkge1xuICAgIGdyaWQtYXJlYTogcmV2aXNpb247XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG50YWJsZS5wYWdlLWhpc3RvcnkgdHIgdGQ6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWFyZWE6IGNob29zZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxudGFibGUucGFnZS1oaXN0b3J5IHRyIHRkOm50aC1jaGlsZCgyKSBpbnB1dCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG50YWJsZS5wYWdlLWhpc3RvcnkgdHIgdGQ6bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWFyZWE6IHNpZ25hdHVyZTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxudGFibGUucGFnZS1oaXN0b3J5IHRyIHRkOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1hcmVhOiBhY3Rpb247XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdyaWQtZ2FwOiAwLjJyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDAuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG50YWJsZS5wYWdlLWhpc3RvcnkgdHIgdGQ6bnRoLWNoaWxkKDQpIGEge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWdlbmVyYWwtYnV0dG9uLXRleHQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWdlbmVyYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLXNsb3cpO1xufVxuXG50YWJsZS5wYWdlLWhpc3RvcnkgdHIgdGQ6bnRoLWNoaWxkKDQpIGE6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pIHtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1nZW5lcmFsLWhvdmVyLWJ1dHRvbi10ZXh0LWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1nZW5lcmFsLWhvdmVyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKSk7XG59XG5cbnRhYmxlLnBhZ2UtaGlzdG9yeSB0ciB0ZDpudGgtY2hpbGQoNSkge1xuICAgIGdyaWQtYXJlYTogdXNlcjtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxudGFibGUucGFnZS1oaXN0b3J5IHRyIHRkOm50aC1jaGlsZCg2KSB7XG4gICAgZ3JpZC1hcmVhOiBkYXRlO1xuICAgIHdpZHRoOiBmaXQtY29udGVudCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgcGFkZGluZzogMCAwLjI1cmVtIDAgMCAhaW1wb3J0YW50O1xufVxuXG50YWJsZS5wYWdlLWhpc3RvcnkgdHIgdGQ6bnRoLWNoaWxkKDcpIHtcbiAgICBncmlkLWFyZWE6IG1lbW87XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBmb250LXNpemU6IDAuODVyZW0gIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbnRhYmxlLnBhZ2UtY29tcGFyZSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xufVxuXG50YWJsZS5wYWdlLWNvbXBhcmUgdGJvZHksXG50YWJsZS5wYWdlLWNvbXBhcmUgdHIge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG50YWJsZS5wYWdlLWNvbXBhcmUgdHIgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG50YWJsZS5wYWdlLWNvbXBhcmUgdHIgPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxudGFibGUucGFnZS1jb21wYXJlIHRoIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWFjdGlvbi1hcmVhLXN1YnRleHQtY29sb3IpKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4jaGlzdG9yeS1zdWJhcmVhIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI2hpc3Rvcnktc3ViYXJlYSA+IGgyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBQYWdlIFRvb2xzICovXG4jc2l0ZS10b29scy1ib3gge1xuICAgIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLW9wdGlvbnMtYm90dG9tIHtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ3JpZC1nYXA6IDAuNXJlbTtcbn1cblxuLnBhZ2Utb3B0aW9ucy1ib3R0b20gdWwsXG4ucGFnZS1vcHRpb25zLWJvdHRvbSBsaSB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbi5wYWdlLW9wdGlvbnMtYm90dG9tIGEge1xuICAgIGZsZXg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWdlbmVyYWwtYnV0dG9uLXRleHQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWdlbmVyYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1nZW5lcmFsLXRyYW5zaXRpb24tdGltZS1zbG93KTtcbiAgICBoZWlnaHQ6IDJyZW07XG59XG5cbi5wYWdlLW9wdGlvbnMtYm90dG9tIGE6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZ2VuZXJhbC1ob3Zlci1idXR0b24tdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tZ2VuZXJhbC1ob3Zlci1idXR0b24tYmFja2dyb3VuZC1jb2xvcikpO1xufVxuXG4jc3QtYWN0aW9uLWFyZWEge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuXG4ud2FudGVkLXBhZ2VzLW1vZHVsZSxcbiNzdC1hY3Rpb24tYXJlYSA+IGgxLFxuI3N0LWFjdGlvbi1hcmVhID4gcCB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xufVxuXG4ud2FudGVkLXBhZ2VzLW1vZHVsZSB0YWJsZS5mb3JtIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG59XG5cbi53YW50ZWQtcGFnZXMtbW9kdWxlIHRhYmxlLmZvcm0gdGgsXG4ud2FudGVkLXBhZ2VzLW1vZHVsZSB0YWJsZS5mb3JtIHRkIHtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi53YW50ZWQtcGFnZXMtbW9kdWxlIHRhYmxlLmZvcm0gdGgge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tYWN0aW9uLWFyZWEtaW5mby1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tYWN0aW9uLWFyZWEtaW5mby10ZXh0LWNvbG9yKSk7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi53YW50ZWQtcGFnZXMtbW9kdWxlIHRhYmxlLmZvcm0gdGQge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogcmdiYSh2YXIoLS1hY3Rpb24tYXJlYS1ib3JkZXItY29sb3IpKSBzb2xpZCAwLjE1cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdyk7XG59XG5cbi53YW50ZWQtcGFnZXMtbW9kdWxlIHRhYmxlLmZvcm0gdGQ6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1hY3Rpb24tYXJlYS1ib3JkZXItY29sb3IpKTtcbn1cblxuLndhbnRlZC1wYWdlcy1tb2R1bGUgdGFibGUuZm9ybSB0ZDpsYXN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbiNzdC1hY3Rpb24tYXJlYSA+IGJyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jc3QtYWN0aW9uLWFyZWEgPiBhLFxuI3N0LWFjdGlvbi1hcmVhID4gc3BhbiB7XG4gICAgYm9yZGVyLWJvdHRvbTogcmdiYSh2YXIoLS1hY3Rpb24tYXJlYS1ib3JkZXItY29sb3IpKSBzb2xpZCAwLjE1cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4zcmVtIDAuNXJlbTtcbn1cblxuI3N0LWFjdGlvbi1hcmVhID4gYTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiksXG4jc3QtYWN0aW9uLWFyZWEgPiBzcGFuOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tYWN0aW9uLWFyZWEtYm9yZGVyLWNvbG9yKSk7XG59XG5cbiNzdC1hY3Rpb24tYXJlYSA+IGE6aGFzKCsgc3Bhbikge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4jc3QtYWN0aW9uLWFyZWEgPiBhOmhhcygrIGJyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xufVxuXG4jc3QtYWN0aW9uLWFyZWEgPiBzcGFuIHtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1hY3Rpb24tYXJlYS1zdWJ0ZXh0LWNvbG9yKSkgIWltcG9ydGFudDtcbn1cblxuLyogRWRpdCBNZXRhICovXG4jYWN0aW9uLWFyZWEgaDEgKyBwICsgaDIgfiBkaXZbc3R5bGU9XCJwYWRkaW5nLWxlZnQ6M2VtO1wiXSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMXJlbSAwO1xufVxuXG4jYWN0aW9uLWFyZWEgaDEgKyBwICsgaDIgfiBkaXZbc3R5bGU9XCJwYWRkaW5nLWxlZnQ6M2VtO1wiXSA+IGRpdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXItYm90dG9tOiByZ2JhKHZhcigtLWFjdGlvbi1hcmVhLWJvcmRlci1jb2xvcikpIHNvbGlkIDAuMTVyZW07XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuI2FjdGlvbi1hcmVhIGgxICsgcCArIGgyIH4gZGl2W3N0eWxlPVwicGFkZGluZy1sZWZ0OjNlbTtcIl0gPiBkaXYgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWdlbmVyYWwtYnV0dG9uLXRleHQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWdlbmVyYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1nZW5lcmFsLXRyYW5zaXRpb24tdGltZS1zbG93KTtcbiAgICBtaW4taGVpZ2h0OiAycmVtO1xuICAgIG1pbi13aWR0aDogM3JlbTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4jYWN0aW9uLWFyZWEgaDEgKyBwICsgaDIgfiBkaXZbc3R5bGU9XCJwYWRkaW5nLWxlZnQ6M2VtO1wiXSA+IGRpdiBhOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZ2VuZXJhbC1ob3Zlci1idXR0b24tdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tZ2VuZXJhbC1ob3Zlci1idXR0b24tYmFja2dyb3VuZC1jb2xvcikpO1xufVxuXG4vKiBXYXRjaGVyICovXG4jYWN0aW9uLWFyZWEgcCArIHVsW3N0eWxlKj1cImxpc3Qtc3R5bGU6IG5vbmVcIl0ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heChjYWxjKHZhcigtLWJvZHktd2lkdGgpIC8gNCAtIDJyZW0pLCAxZnIpKTtcbn1cblxuI2FjdGlvbi1hcmVhIHAgKyB1bFtzdHlsZSo9XCJsaXN0LXN0eWxlOiBub25lXCJdIGxpIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC41cmVtO1xuICAgIGJvcmRlci1ib3R0b206IHJnYmEodmFyKC0tYWN0aW9uLWFyZWEtYm9yZGVyLWNvbG9yKSkgc29saWQgMC4xNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLXNsb3cpO1xufVxuXG4jYWN0aW9uLWFyZWEgcCArIHVsW3N0eWxlKj1cImxpc3Qtc3R5bGU6IG5vbmVcIl0gbGk6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWFjdGlvbi1hcmVhLWJvcmRlci1jb2xvcikpO1xufVxuXG4vKiBCYWNrbGluayAqL1xuI2FjdGlvbi1hcmVhID4gaDEgKyBoMiArIHVsLFxuI2FjdGlvbi1hcmVhID4gaDEgKyBoMiB+IGgyIH4gdWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG59XG5cbiNhY3Rpb24tYXJlYSA+IGgxICsgaDIgKyB1bCBsaSxcbiNhY3Rpb24tYXJlYSA+IGgxICsgaDIgfiBoMiB+IHVsIGxpIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBwYWRkaW5nOiAwLjJyZW0gMC41cmVtO1xuICAgIGJvcmRlci1ib3R0b206IHJnYmEodmFyKC0tYWN0aW9uLWFyZWEtYm9yZGVyLWNvbG9yKSkgc29saWQgMC4xNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLXNsb3cpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuI2FjdGlvbi1hcmVhID4gaDEgKyBoMiArIHVsIGxpOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSxcbiNhY3Rpb24tYXJlYSA+IGgxICsgaDIgfiBoMiB+IHVsIGxpOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1hY3Rpb24tYXJlYS1ib3JkZXItY29sb3IpKTtcbn1cblxuI2FjdGlvbi1hcmVhID4gaDEgKyBoMiArIHVsIGxpID4gKixcbiNhY3Rpb24tYXJlYSA+IGgxICsgaDIgfiBoMiB+IHVsIGxpID4gKiB7XG4gICAgZmxleDogbm9uZTtcbn1cblxuI2FjdGlvbi1hcmVhID4gaDEgKyBoMiArIHVsIGxpID4gYTpmaXJzdC1jaGlsZCxcbiNhY3Rpb24tYXJlYSA+IGgxICsgaDIgfiBoMiB+IHVsIGxpID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgZmxleDogMTtcbn1cblxuLyogUGFnZSBTb3VyY2UgKi9cbi5wYWdlLXNvdXJjZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1wYWdlLXNvdXJjZS1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tcGFnZS1zb3VyY2UtdGV4dC1jb2xvcikpO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLW1vbm8tZm9udCk7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5pbmxpbmUtZGlmZiBkZWwge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgY29sb3I6IHJnYmEodmFyKC0td2FybmluZy10ZXh0LWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS13YXJuaW5nLWNvbG9yKSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uaW5saW5lLWRpZmYgaW5zIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWFjY2VwdC10ZXh0LWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1hY2NlcHQtY29sb3IpKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIFBhcmVudCAqL1xuLmF1dG9jb21wbGV0ZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5lcnJvci1ibG9jayB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS13YXJuaW5nLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0td2FybmluZy10ZXh0LWNvbG9yKSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIHBhZGRpbmc6IDAuM3JlbSAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmVycm9yLWJsb2NrIGEge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXdhcm5pbmctdGV4dC1jb2xvcikpO1xufVxuXG4vKiBSZW5hbWUgKi9cbiNyZW5hbWUtYmFja2xpbmtzLWJveCB0YWJsZS5mb3JtIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIG1heC1jb250ZW50O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbn1cblxuI3JlbmFtZS1iYWNrbGlua3MtYm94IHRhYmxlLmZvcm0gdGgge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tYWN0aW9uLWFyZWEtaW5mby1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tYWN0aW9uLWFyZWEtaW5mby10ZXh0LWNvbG9yKSk7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xufVxuXG4jcmVuYW1lLWJhY2tsaW5rcy1ib3ggdGFibGUuZm9ybSB0ZCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBib3JkZXItYm90dG9tOiByZ2JhKHZhcigtLWFjdGlvbi1hcmVhLWJvcmRlci1jb2xvcikpIHNvbGlkIDAuMTVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1nZW5lcmFsLXRyYW5zaXRpb24tdGltZS1zbG93KTtcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG59XG5cbiNyZW5hbWUtYmFja2xpbmtzLWJveCB0YWJsZS5mb3JtIHRkOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tYWN0aW9uLWFyZWEtYm9yZGVyLWNvbG9yKSk7XG59XG5cbiNyZW5hbWUtYmFja2xpbmtzLWJveCB0YWJsZS5mb3JtIHRkOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuI3JlbmFtZS1vcHRpb24tcmVuYW1lIHRhYmxlLmZvcm0gdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbiNyZW5hbWUtb3B0aW9uLXJlbmFtZSB0YWJsZS5mb3JtIHRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZzogMC4yZW0gMC41ZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1hY3Rpb24tYXJlYS1pbmZvLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1hY3Rpb24tYXJlYS1pbmZvLXRleHQtY29sb3IpKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbW9uby1mb250KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4jYWN0aW9uLWFyZWEgPiBhLmFjdGlvbi1hcmVhLWNsb3NlICsgaDEgKyBwICsgdGFibGUuZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xufVxuXG4jYWN0aW9uLWFyZWEgPiBhLmFjdGlvbi1hcmVhLWNsb3NlICsgaDEgKyBwICsgdGFibGUuZm9ybSA+IHRib2R5ID4gdHIgPiB0ZDpudGgtY2hpbGQoMikge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjI1ZW0gMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjI1cmVtIDAuMTI1cmVtO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIb3ZlcnRpcHMgLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jYXZhdGFyLWhvdmVyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhvdmVydGlwIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWhvdmVydGlwLWJhY2tncm91bmQtY29sb3IpKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWhvdmVydGlwLXRleHQtY29sb3IpKTtcbiAgICBib3JkZXI6IHJnYmEodmFyKC0taG92ZXJ0aXAtYm9yZGVyLWNvbG9yKSkgc29saWQgMC4xNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIG1heC13aWR0aDogbWluKDg3LjUlLCB2YXIoLS1ib2R5LXdpZHRoKSAqIDAuNzUpO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXcml0aW5nIEVsZW1lbnRzIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbWFnZSBCbG9ja3MgKi9cbiNwYWdlLWNvbnRlbnQgPiBpbWcge1xuICAgIG1hcmdpbjogMXJlbSAwO1xufVxuXG4uaW1hZ2UtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnNjcC1pbWFnZS1ibG9jayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJveC1zaGFkb3c6IDAuMnJlbSAwLjJyZW0gMC40cmVtIHJnYmEodmFyKC0taW1hZ2VibG9jay1zaGFkb3ctY29sb3IpKTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBib3JkZXI6IHJnYmEodmFyKC0taW1hZ2VibG9jay1ib3JkZXItY29sb3IpKSB2YXIoLS1pbWFnZWJsb2NrLWJvcmRlci13aWR0aCkgc29saWQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uc2NwLWltYWdlLWNhcHRpb24ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW1hZ2VibG9jay1jYXB0aW9uLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1pbWFnZWJsb2NrLWNhcHRpb24tdGV4dC1jb2xvcikpO1xuICAgIHBhZGRpbmc6IDAuMmVtIDFlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnNjcC1pbWFnZS1jYXB0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbiNwYWdlLWNvbnRlbnQgLnNjcC1pbWFnZS1jYXB0aW9uIHA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbiNwYWdlLWNvbnRlbnQgLnNjcC1pbWFnZS1jYXB0aW9uIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNjcC1pbWFnZS1ibG9jay5ibG9jay1yaWdodCxcbi5pbWFnZS1jb250YWluZXIuZmxvYXRyaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMC4yNXJlbSAwIDFyZW0gMnJlbTtcbn1cblxuLnNjcC1pbWFnZS1ibG9jay5ibG9jay1sZWZ0LFxuLmltYWdlLWNvbnRhaW5lci5mbG9hdGxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMC4yNXJlbSAycmVtIDFyZW0gMDtcbn1cblxuLnNjcC1pbWFnZS1ibG9jay5ibG9jay1jZW50ZXIge1xuICAgIG1hcmdpbjogMXJlbSBhdXRvO1xufVxuXG4vKiBIb3Jpem9uIExpbmUgKi9cbmhyIHtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogcmdiYSh2YXIoLS1oci1jb2xvcikpIHNvbGlkIDAuMTVyZW07XG59XG5cbi8qIENvbGxhcHNpYmxlICovXG4uY29sbGFwc2libGUtYmxvY2stdW5mb2xkZWQtbGluayxcbi5jb2xsYXBzaWJsZS1ibG9jay1mb2xkZWQge1xuICAgIG1hcmdpbjogMXJlbSAwO1xufVxuXG4vKiBUYWJ2aWV3ICovXG4ueXVpLW5hdnNldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0tdGFidmlldy1ib3JkZXItd2lkdGgpKTtcbiAgICBtYXJnaW46IDFyZW0gYXV0bztcbn1cblxuLnl1aS1uYXZzZXQgLnl1aS1uYXYge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB6b29tOiB1bnNldDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJveC1zaGFkb3c6IDAgMC4zcmVtIDAgcmdiYSh2YXIoLS10YWJ2aWV3LWhvcml6b24tY29sb3IpKTtcbn1cblxuLnl1aS1uYXZzZXQgLnl1aS1uYXYgbGksXG4ueXVpLW5hdnNldCAueXVpLW5hdiBsaS5zZWxlY3RlZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsZXgtZ3JvdzogMjtcbiAgICB6b29tOiB1bnNldDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS10YWJ2aWV3LWJvcmRlci13aWR0aCkgcmdiYSh2YXIoLS10YWJ2aWV3LWJvcmRlci1jb2xvcikpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS10YWJ2aWV3LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1nZW5lcmFsLXRyYW5zaXRpb24tdGltZS1zbG93KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi55dWktbmF2c2V0IC55dWktbmF2IGxpIGEsXG4ueXVpLW5hdnNldCAueXVpLW5hdiBsaS5zZWxlY3RlZCBhIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHpvb206IHVuc2V0O1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXRhYnZpZXctYnV0dG9uLXRleHQtY29sb3IpKTtcbn1cblxuLnl1aS1uYXZzZXQgLnl1aS1uYXYgYTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiksXG4ueXVpLW5hdnNldCAueXVpLW5hdiAuc2VsZWN0ZWQgYSwgLnl1aS1uYXZzZXQgLnl1aS1uYXYgLnNlbGVjdGVkIGE6Zm9jdXMsIC55dWktbmF2c2V0IC55dWktbmF2IC5zZWxlY3RlZCBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4ueXVpLW5hdnNldCAueXVpLW5hdiBsaSBhIGVtLFxuLnl1aS1uYXZzZXQgLnl1aS1uYXYgbGkuc2VsZWN0ZWQgYSBlbSB7XG4gICAgcGFkZGluZzogMC4zZW0gMC41ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi55dWktbmF2c2V0IC55dWktbmF2IGxpOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS10YWJ2aWV3LWhvdmVyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKSk7XG59XG5cbi55dWktbmF2c2V0IC55dWktbmF2IGxpOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSBhIHtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS10YWJ2aWV3LWhvdmVyLWJ1dHRvbi10ZXh0LWNvbG9yKSk7XG59XG5cbi55dWktbmF2c2V0IC55dWktbmF2IGxpLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXRhYnZpZXctc2VsZWN0ZWQtYnV0dG9uLWJhY2tncm91bmQtY29sb3IpKTtcbn1cblxuLnl1aS1uYXZzZXQgLnl1aS1uYXYgbGkuc2VsZWN0ZWQgYSxcbi55dWktbmF2c2V0IC55dWktbmF2IGxpLnNlbGVjdGVkIGE6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pIHtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS10YWJ2aWV3LXNlbGVjdGVkLWJ1dHRvbi10ZXh0LWNvbG9yKSk7XG59XG5cbi55dWktbmF2c2V0IC55dWktY29udGVudCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tdGFidmlldy1ib3JkZXItd2lkdGgpIHJnYmEodmFyKC0tdGFidmlldy1ib3JkZXItY29sb3IpKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXRhYnZpZXctY29udGVudC1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tdGFidmlldy1jb250ZW50LXRleHQtY29sb3IpKTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbn1cblxuLyogV2lraSBUYWJsZSAqL1xudGFibGUud2lraS1jb250ZW50LXRhYmxlIHtcbiAgICBtYXJnaW46IDFyZW0gYXV0bztcbn1cblxudGFibGUud2lraS1jb250ZW50LXRhYmxlIHRoIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tdGFibGUtaGVhZGVyLXRleHQtY29sb3IpKTtcbiAgICBib3JkZXI6IHJnYmEodmFyKC0tdGFibGUtYm9yZGVyLWNvbG9yKSkgdmFyKC0tdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZDtcbn1cblxudGFibGUud2lraS1jb250ZW50LXRhYmxlIHRkIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXRhYmxlLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS10YWJsZS10ZXh0LWNvbG9yKSk7XG4gICAgYm9yZGVyOiByZ2JhKHZhcigtLXRhYmxlLWJvcmRlci1jb2xvcikpIHZhcigtLXRhYmxlLWJvcmRlci13aWR0aCkgc29saWQ7XG59XG5cbi8qIEJsb2NrcXVvdGUgKi9cbmJsb2NrcXVvdGUsIC5ibG9ja3F1b3RlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWJsb2NrcXVvdGUtYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWJsb2NrcXVvdGUtdGV4dC1jb2xvcikpO1xuICAgIGJveC1zaGFkb3c6IDAuMDVyZW0gMC4xcmVtIDAuM3JlbSByZ2JhKHZhcigtLWJsb2NrcXVvdGUtc2hhZG93LWNvbG9yKSk7XG4gICAgbWFyZ2luOiAxcmVtIDJyZW07XG4gICAgYm9yZGVyOiByZ2JhKHZhcigtLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKSkgdmFyKC0tYmxvY2txdW90ZS1ib3JkZXItd2lkdGgpIHNvbGlkO1xuICAgIHBhZGRpbmc6IDAuMDFyZW0gMXJlbTtcbn1cblxuLyogQ29kZSBCbG9jayAqL1xuLmNvZGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29kZS1ibG9jay1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tY29kZS1ibG9jay10ZXh0LWNvbG9yKSk7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgYm9yZGVyOiByZ2JhKHZhcigtLWNvZGUtYmxvY2stYm9yZGVyLWNvbG9yKSkgZGFzaGVkIDAuMTVyZW07XG59XG5cbi8qIFRPQyAqL1xudGFibGVbc3R5bGVePVwibWFyZ2luOjA7XCJdW3N0eWxlKj1cIm1hcmdpbjowO1wiXSxcbnRhYmxlW3N0eWxlXj1cIm1hcmdpbjowO1wiXVtzdHlsZSo9XCJtYXJnaW46MDtcIl0gOmlzKHRib2R5LCB0ciwgdGQpIHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbn1cblxuI3RvYyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiA2MCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tdG9jLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS10b2MtdGV4dC1jb2xvcikpO1xuICAgIGJvcmRlcjogcmdiYSh2YXIoLS10b2MtYm9yZGVyLWNvbG9yKSkgc29saWQgMC4xNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiN0b2MuZmxvYXRyaWdodCB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMXJlbSAycmVtO1xufVxuXG4jdG9jLmZsb2F0bGVmdCB7XG4gICAgbWFyZ2luOiAxcmVtIDJyZW0gMXJlbSAwO1xufVxuXG4jdG9jIC50aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuMnJlbSAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tdG9jLWJvcmRlci1jb2xvcikpO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXRvYy1iYWNrZ3JvdW5kLWNvbG9yKSk7XG59XG5cbiN0b2MgI3RvYy1hY3Rpb24tYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDAuNXJlbTtcbiAgICB0b3A6IDAuMnJlbTtcbn1cblxuI3RvYy1hY3Rpb24tYmFyIGEge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXRvYy1iYWNrZ3JvdW5kLWNvbG9yKSk7XG59XG5cbi8qIERlZmluaXRpb24gTGlzdCAqL1xuZHQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmRkIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAxcmVtO1xufVxuXG51bCwgb2wge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAycmVtO1xufVxuXG4vKiBOb3RlICovXG5kaXYud2lraS1ub3RlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLW5vdGUtYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLW5vdGUtdGV4dC1jb2xvcikpO1xuICAgIGJvcmRlcjogcmdiYSh2YXIoLS1ub3RlLWJvcmRlci1jb2xvcikpIHNvbGlkIDAuMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogMXJlbSBhdXRvO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgbWF4LXdpZHRoOiAyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBFcnJvciBpbmxpbmUgKi9cbi5lcnJvci1pbmxpbmUge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXdhcm5pbmctdGV4dC1jb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0td2FybmluZy1jb2xvcikpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwLjJlbSAwLjVlbTtcbiAgICBtYXJnaW46IDAgMC4yZW07XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLyogRm9vdG5vdGUgJiBSZWZlcmVuY2UgKi9cbi5mb290bm90ZSAuZi1mb290ZXIsXG4ucmVmZXJlbmNlIC5yLWZvb3RlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvb3Rub3RlIC5mLWNvbnRlbnQsXG4ucmVmZXJlbmNlIC5yLWNvbnRlbnQge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5mb290bm90ZXMtZm9vdGVyLFxuLmJpYml0ZW1zIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWZvb3Rub3RlLWJsb2NrLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1mb290bm90ZS1ibG9jay10ZXh0LWNvbG9yKSk7XG4gICAgYm9yZGVyLWxlZnQ6IHJnYmEodmFyKC0tZm9vdG5vdGUtYmxvY2stYm9yZGVyLWNvbG9yKSkgc29saWQgMC40cmVtO1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZm9vdG5vdGVzLWZvb3RlciAudGl0bGUsXG4uYmliaXRlbXMgLnRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW07XG59XG5cbi5mb290bm90ZXMtZm9vdGVyIC5mb290bm90ZS1mb290ZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLW1vbm8tZm9udCk7XG59XG5cbi5iaWJpdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9wdXBzIC0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm9kaWFsb2ctc2hhZGVyLCAub2RpYWxvZy1zaGFkZXItaWZyYW1lIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jb2RpYWxvZy1jb250YWluZXJbc3R5bGUqPWJsb2NrXSxcbmRpdi5mYWRlcixcbmRpdi5pbmZvYm94LWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIodmFyKC0tZ2VuZXJhbC1ibHVyKSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1wb3B1cC1mYWRlci1jb2xvcikpO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbmRpdi5pbmZvYm94LWZvb3RlciB7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBub25lO1xufVxuXG5kaXYuaW5mb2JveC1mb290ZXIgcCBhLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbmRpdi5tb2RhbGNvbnRhaW5lcixcbmRpdiN1LWluZm9ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbmRpdiN1LWluZm9ib3gge1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cih2YXIoLS1nZW5lcmFsLWJsdXIpKTtcbn1cblxuLm93aW5kb3csXG5kaXYubW9kYWxib3gsXG5kaXYuaW5mb2JveCB7XG4gICAgbWF4LXdpZHRoOiA4MGNoO1xuICAgIHRvcDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1iYXNpczogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1wb3B1cC1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXI6IHJnYmEodmFyKC0tcG9wdXAtYm9yZGVyLWNvbG9yKSkgc29saWQgMC4ycmVtO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXBvcHVwLXRleHQtY29sb3IpKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBmb250LXNpemU6IHZhcigtLWNvbnRlbnQtZm9udC1zaXplKTtcbn1cblxuZGl2LmluZm9ib3gge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbmhlcml0O1xufVxuXG4ub3dpbmRvdy5vd2FpdCxcbi5vd2luZG93Lm9zdWNjZXNzIHtcbiAgICBwYWRkaW5nOiAwLjZyZW0gMnJlbTtcbiAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ub3dpbmRvdy5vc3VjY2VzcyAuY29udGVudCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG4ub3dpbmRvdy5vd2FpdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiA1cmVtO1xufVxuXG4ub3dpbmRvdy5vd2FpdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiB2YXIoLS1wb3B1cC1sb2FkaW5nLWNvbnRlbnQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5vd2luZG93Lm93YWl0IC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDAuMnJlbTtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICBhbmltYXRpb246IHNhdmluZy1wYWdlLWFuaW1hdGlvbiBpbmZpbml0ZSAxcyBlYXNlLWluLW91dCAtMC4ycztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tcG9wdXAtbG9hZGluZy1jb2xvcikpO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBtYXJnaW46IDFyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBmbGV4OiBub25lO1xufVxuXG4ub3dpbmRvdy5vd2FpdCAuY29udGVudDpiZWZvcmUsXG4ub3dpbmRvdy5vd2FpdCAuY29udGVudDphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwLjJyZW07XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLXBvcHVwLWxvYWRpbmctY29sb3IpKTtcbn1cblxuLm93aW5kb3cub3dhaXQgLmNvbnRlbnQ6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMC42cmVtO1xuICAgIGFuaW1hdGlvbjogc2F2aW5nLXBhZ2UtYW5pbWF0aW9uIGluZmluaXRlIDFzIGVhc2UtaW4tb3V0IC0wLjRzO1xufVxuXG4ub3dpbmRvdy5vd2FpdCAuY29udGVudDphZnRlciB7XG4gICAgcmlnaHQ6IC0wLjZyZW07XG4gICAgYW5pbWF0aW9uOiBzYXZpbmctcGFnZS1hbmltYXRpb24gaW5maW5pdGUgMXMgZWFzZS1pbi1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgc2F2aW5nLXBhZ2UtYW5pbWF0aW9uIHtcbiAgICAwJSwgODAlLCAxMDAlIHtcbiAgICAgICAgaGVpZ2h0OiAwLjdyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCByZ2JhKHZhcigtLXBvcHVwLWxvYWRpbmctY29sb3IpKTtcbiAgICB9XG4gICAgNDAlIHtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBib3gtc2hhZG93OiAwIC0wLjdyZW0gcmdiYSh2YXIoLS1wb3B1cC1sb2FkaW5nLWNvbG9yKSk7XG4gICAgfVxufVxuLm93aW5kb3cgLnRpdGxlIHtcbiAgICBjdXJzb3I6IGluaXRpYWw7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tcG9wdXAtdGl0bGUtYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXBvcHVwLXRpdGxlLXRleHQtY29sb3IpKTtcbn1cblxuLm93aW5kb3cgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdyaWQtZ2FwOiAwLjc1cmVtO1xufVxuXG4ub3dpbmRvdyA+IDpub3QoLmJ1dHRvbi1iYXIsIC50aXRsZSkgPiA6bm90KGltZywgaW1nICsgaDEpIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm93aW5kb3cgLmNvbnRlbnQgPiBpbWcge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ub3dpbmRvdyAuY29udGVudCA+IGltZyArIGgxIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5cbi5vd2luZG93IC5jb250ZW50ID4gaW1nICsgaDEgKyB0YWJsZSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBib3JkZXItdG9wOiByZ2JhKHZhcigtLXBvcHVwLXRleHQtY29sb3IpLCAwLjE4KSBzb2xpZCAwLjFyZW07XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXgtY29udGVudCAxZnI7XG4gICAgbWF4LWhlaWdodDogNDIuNXZoO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5vd2luZG93IC5jb250ZW50ID4gaW1nICsgaDEgKyB0YWJsZSB0Ym9keSxcbi5vd2luZG93IC5jb250ZW50ID4gaW1nICsgaDEgKyB0YWJsZSB0ciB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbi5vd2luZG93IC5jb250ZW50ID4gaW1nICsgaDEgKyB0YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogMC4zNXJlbSAwLjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogcmdiYSh2YXIoLS1wb3B1cC10ZXh0LWNvbG9yKSwgMC4xOCkgc29saWQgMC4xcmVtO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4ub3dpbmRvdyAuY29udGVudCA+IGltZyArIGgxICsgdGFibGUgdGQgaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ub3dpbmRvdyAuY29udGVudCA+IGltZyArIGgxICsgdGFibGUgKyBkaXYge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBncmlkLWdhcDogMC41cmVtO1xufVxuXG4ub3dpbmRvdyAuYnV0dG9uLWJhciA+IGE6bm90KFtvbmNsaWNrKj1jbGVhbkFsbF0pLFxuLm93aW5kb3cgZGl2W3N0eWxlKj1tYXJnaW4tdG9wXSBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tcG9wdXAtYnV0dG9uLXRleHQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXBvcHVwLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgZmxleC1iYXNpczogOGVtO1xuICAgIGZsZXgtZ3JvdzogMjtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1nZW5lcmFsLXRyYW5zaXRpb24tdGltZS1mYXN0KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4ub3dpbmRvdyAuYnV0dG9uLWJhciA+IGE6bm90KFtvbmNsaWNrKj1jbGVhbkFsbF0pOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSxcbi5vd2luZG93IGRpdltzdHlsZSo9bWFyZ2luLXRvcF0gYTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbikge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXBvcHVwLWhvdmVyLWJ1dHRvbi10ZXh0LWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1wb3B1cC1ob3Zlci1idXR0b24tYmFja2dyb3VuZC1jb2xvcikpO1xufVxuXG4ub3dpbmRvdyAuY29udGVudCA+IGltZyArIGgxICsgdGFibGUgKyBkaXYgPiBkaXYge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4ub3dpbmRvdyAuY29udGVudCA+IGltZyArIGgxICsgdGFibGUgKyBkaXYgPiBhOm50aC1jaGlsZCgyKSB7XG4gICAgb3JkZXI6IDE7XG59XG5cbi5vd2luZG93IC5jb250ZW50ID4gaW1nICsgaDEgKyB0YWJsZSArIGRpdiA+IGE6bnRoLWNoaWxkKDMpIHtcbiAgICBvcmRlcjogMjtcbn1cblxuLm93aW5kb3cgLmNvbnRlbnQgPiBpbWcgKyBoMSArIHRhYmxlICsgZGl2ID4gYTpudGgtY2hpbGQoNCkge1xuICAgIG9yZGVyOiAzO1xufVxuXG4ub3dpbmRvdyAuY29udGVudCA+IGltZyArIGgxICsgdGFibGUgKyBkaXYgPiBkaXYgYSB7XG4gICAgb3JkZXI6IDQ7XG59XG5cbi5vd2luZG93IC5idXR0b24tYmFyIHtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5vd2luZG93IC5idXR0b24tYmFyID4gYVtvbmNsaWNrKj1jbGVhbkFsbF0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgYm90dG9tOiAtMi4ycmVtO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXBvcHVwLXRpcC1jb2xvcikpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4ub3dpbmRvdyAuYnV0dG9uLWJhciA+IGFbb25jbGljayo9Y2xlYW5BbGxdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLm93aW5kb3cgLmJ1dHRvbi1iYXIgPiBhW29uY2xpY2sqPWNsZWFuQWxsXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogLTE7XG59XG5cbi5vd2luZG93IC5idXR0b24tYmFyID4gYVtvbmNsaWNrKj1jbGVhbkFsbF06OmFmdGVyIHtcbiAgICBjb250ZW50OiB2YXIoLS1wb3B1cC10aXAtY29udGVudCk7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi8qIFJhdGluZyBNb2R1bGUgKi9cbnVsLmNyZWRpdFJhdGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uY3JlZGl0UmF0ZSA+IGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5kaXYucmF0ZS1ib3gtd2l0aC1jcmVkaXQtYnV0dG9uLFxuZGl2LnBhZ2UtcmF0ZS13aWRnZXQtYm94LFxuZGl2LmNyZWRpdEJ1dHRvblN0YW5kYWxvbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tcmF0aW5nLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1yYXRpbmctdGV4dC1jb2xvcikpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMC4ycmVtIDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IHJnYmEodmFyKC0tcmF0aW5nLWJvcmRlci1jb2xvcikpIHNvbGlkIDAuMTVyZW07XG59XG5cbmRpdi5jcmVkaXRCb3R0b21SYXRlIGRpdi5wYWdlLXJhdGUtd2lkZ2V0LWJveCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuZGl2LnJhdGUtYm94LXdpdGgtY3JlZGl0LWJ1dHRvbiBkaXYucGFnZS1yYXRlLXdpZGdldC1ib3gsXG5kaXYuY3JlZGl0QnV0dG9uIHAsXG5kaXYuY3JlZGl0QnV0dG9uU3RhbmRhbG9uZSBwIHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbn1cblxuZGl2LnBhZ2UtcmF0ZS13aWRnZXQtYm94IC5yYXRlLXBvaW50cyB7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tcmF0aW5nLXRleHQtY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgZ3JpZC1nYXA6IDAuMXJlbTtcbn1cblxuZGl2LnBhZ2UtcmF0ZS13aWRnZXQtYm94IC5yYXRlLXBvaW50cyAubnVtYmVyIHtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG5cbmRpdi5yYXRlLWJveC13aXRoLWNyZWRpdC1idXR0b24gZGl2LmNyZWRpdEJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbmRpdi5wYWdlLXJhdGUtd2lkZ2V0LWJveCAuYnRuLFxuZGl2LnJhdGUtYm94LXdpdGgtY3JlZGl0LWJ1dHRvbiBkaXYuY3JlZGl0QnV0dG9uIHtcbiAgICB3aWR0aDogMS42cmVtO1xuICAgIGhlaWdodDogMS42cmVtO1xufVxuXG5kaXYucGFnZS1yYXRlLXdpZGdldC1ib3ggYSxcbmRpdi5jcmVkaXRCdXR0b24gcCBhLFxuZGl2LmNyZWRpdEJ1dHRvblN0YW5kYWxvbmUgcCBhIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1ib2R5LWZvbnQpO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdyk7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5kaXYuY3JlZGl0QnV0dG9uU3RhbmRhbG9uZSBwIGEge1xuICAgIHdpZHRoOiAxLjZyZW07XG4gICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5kaXYucGFnZS1yYXRlLXdpZGdldC1ib3ggYTo6YmVmb3JlLFxuZGl2LmNyZWRpdEJ1dHRvbiBwIGE6OmJlZm9yZSxcbmRpdi5jcmVkaXRCdXR0b25TdGFuZGFsb25lIHAgYTo6YmVmb3JlIHtcbiAgICAtLXJhdGluZy1tb2R1bGUtYnV0dG9uLW1hc2s6IG5vbmU7XG4gICAgLS1yYXRpbmctbW9kdWxlLWJ1dHRvbi1jb2xvcjogdmFyKC0tcmF0aW5nLXRleHQtY29sb3IpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hc2staW1hZ2U6IHZhcigtLXJhdGluZy1tb2R1bGUtYnV0dG9uLW1hc2spO1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBtYXNrLXNpemU6IDQwJTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tcmF0aW5nLW1vZHVsZS1idXR0b24tY29sb3IpKTtcbn1cblxuZGl2LnBhZ2UtcmF0ZS13aWRnZXQtYm94IC5yYXRldXAgYTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbikge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tcmF0aW5nLXJhdGV1cC1jb2xvcikpO1xufVxuXG5kaXYucGFnZS1yYXRlLXdpZGdldC1ib3ggLnJhdGV1cCBhOjpiZWZvcmUge1xuICAgIC0tcmF0aW5nLW1vZHVsZS1idXR0b24tbWFzazogdmFyKC0tdm90ZS1wbHVzLW1hc2spO1xufVxuXG5kaXYucGFnZS1yYXRlLXdpZGdldC1ib3ggLnJhdGV1cCBhOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKTo6YmVmb3JlIHtcbiAgICAtLXJhdGluZy1tb2R1bGUtYnV0dG9uLWNvbG9yOiB2YXIoLS1yYXRpbmctcmF0ZXVwLXRleHQtY29sb3IpO1xufVxuXG5kaXYucGFnZS1yYXRlLXdpZGdldC1ib3ggLnJhdGVkb3duIGE6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXJhdGluZy1yYXRlZG93bi1jb2xvcikpO1xufVxuXG5kaXYucGFnZS1yYXRlLXdpZGdldC1ib3ggLnJhdGVkb3duIGE6OmJlZm9yZSB7XG4gICAgLS1yYXRpbmctbW9kdWxlLWJ1dHRvbi1tYXNrOiB2YXIoLS12b3RlLW1pbnVzLW1hc2spO1xufVxuXG5kaXYucGFnZS1yYXRlLXdpZGdldC1ib3ggLnJhdGVkb3duIGE6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pOjpiZWZvcmUge1xuICAgIC0tcmF0aW5nLW1vZHVsZS1idXR0b24tY29sb3I6IHZhcigtLXJhdGluZy1yYXRlZG93bi10ZXh0LWNvbG9yKTtcbn1cblxuZGl2LnBhZ2UtcmF0ZS13aWRnZXQtYm94IC5jYW5jZWwgYTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbikge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tcmF0aW5nLWNhbmNlbC1jb2xvcikpO1xufVxuXG5kaXYucGFnZS1yYXRlLXdpZGdldC1ib3ggLmNhbmNlbCBhOjpiZWZvcmUge1xuICAgIC0tcmF0aW5nLW1vZHVsZS1idXR0b24tbWFzazogdmFyKC0tdm90ZS1jYW5jZWwtbWFzayk7XG59XG5cbmRpdi5wYWdlLXJhdGUtd2lkZ2V0LWJveCAuY2FuY2VsIGE6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pOjpiZWZvcmUge1xuICAgIC0tcmF0aW5nLW1vZHVsZS1idXR0b24tY29sb3I6IHZhcigtLXJhdGluZy1jYW5jZWwtdGV4dC1jb2xvcik7XG59XG5cbmRpdi5jcmVkaXRCdXR0b24gcCBhOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSxcbmRpdi5jcmVkaXRCdXR0b25TdGFuZGFsb25lIHAgYTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbikge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tcmF0aW5nLWluZm8tY29sb3IpKTtcbn1cblxuZGl2LmNyZWRpdEJ1dHRvblN0YW5kYWxvbmUgcCBhOjpiZWZvcmUsXG5kaXYuY3JlZGl0QnV0dG9uIHAgYTo6YmVmb3JlIHtcbiAgICAtLXJhdGluZy1tb2R1bGUtYnV0dG9uLW1hc2s6IHZhcigtLXZvdGUtaW5mby1tYXNrKTtcbiAgICBtYXNrLXNpemU6IDI3LjUlO1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlciA0MCU7XG59XG5cbmRpdi5jcmVkaXRCdXR0b25TdGFuZGFsb25lIHAgYTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbik6OmJlZm9yZSxcbmRpdi5jcmVkaXRCdXR0b24gcCBhOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKTo6YmVmb3JlIHtcbiAgICAtLXJhdGluZy1tb2R1bGUtYnV0dG9uLWNvbG9yOiB2YXIoLS1yYXRpbmctaW5mby10ZXh0LWNvbG9yKTtcbn1cblxuZGl2Lm1vZGFsYm94IHtcbiAgICBtYXgtaGVpZ2h0OiB1bnNldDtcbn1cblxuZGl2Lm1vZGFsYm94OjphZnRlcixcbmRpdi5pbmZvYm94OjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBib3R0b206IC0yLjJyZW07XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tcG9wdXAtdGlwLWNvbG9yKSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBjb250ZW50OiB2YXIoLS1wb3B1cC10aXAtY29udGVudCk7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbmRpdi5tb2RhbGJveCA+IGhyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5kaXYubW9kYWxib3ggPiBkaXY6Zmlyc3QtY2hpbGQsXG5kaXYuaW5mb2JveC10aXRsZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1wb3B1cC10aXRsZS1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmRpdi5tb2RhbGJveCA+IGRpdjpmaXJzdC1jaGlsZCBoMixcbmRpdi5pbmZvYm94LXRpdGxlIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgY29sb3I6IHJnYmEodmFyKC0tcG9wdXAtdGl0bGUtdGV4dC1jb2xvcikpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS10aXRsZS1mb250KTtcbn1cblxuZGl2LmNsb3NlLWNyZWRpdHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmRpdi5pbmZvYm94LWJvZHksXG5kaXYuaW5mb2JveC1mb290ZXIgcCB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbmRpdi5tb2RhbGJveCAuY3JlZGl0LFxuZGl2LmluZm9ib3gtYm9keSA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC1oZWlnaHQ6IDQ3LjV2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1cmVtO1xufVxuXG5kaXYuY3JlZGl0Qm90dG9tUmF0ZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci10b3A6IHJnYmEodmFyKC0tcG9wdXAtdGV4dC1jb2xvciksIDAuMTgpIHNvbGlkIDAuMTVyZW07XG4gICAgcGFkZGluZzogMC41cmVtIDA7XG59XG5cbmRpdi5jcmVkaXRSYXRlICsgYnIgKyBzcGFuW3N0eWxlKj1cIm1hcmdpbi10b3A6IC0wLjdyZW1cIl0ge1xuICAgIG1hcmdpbjogLTAuMnJlbSAwLjVyZW0gMC4ycmVtIDAgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi8qIFRoZSA0ICovXG4ubGlnaHRibG9jayB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1saWdodGJsb2NrLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1saWdodGJsb2NrLXRleHQtY29sb3IpKTtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbn1cblxuLmRhcmtibG9jayB7XG4gICAgLS1oMS1jb2xvcjogdmFyKC0tZGFya2Jsb2NrLXRleHQtY29sb3IpO1xuICAgIC0taDItY29sb3I6IHZhcigtLWRhcmtibG9jay10ZXh0LWNvbG9yKTtcbiAgICAtLWgzLWNvbG9yOiB2YXIoLS1kYXJrYmxvY2stdGV4dC1jb2xvcik7XG4gICAgLS1oNC1jb2xvcjogdmFyKC0tZGFya2Jsb2NrLXRleHQtY29sb3IpO1xuICAgIC0taDUtY29sb3I6IHZhcigtLWRhcmtibG9jay10ZXh0LWNvbG9yKTtcbiAgICAtLWg2LWNvbG9yOiB2YXIoLS1kYXJrYmxvY2stdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1kYXJrYmxvY2stYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWRhcmtibG9jay10ZXh0LWNvbG9yKSk7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG59XG5cbi5zdHlsZWQtcXVvdGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tc3R5bGVkLXF1b3RlLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1zdHlsZWQtcXVvdGUtdGV4dC1jb2xvcikpO1xuICAgIGJvcmRlci1sZWZ0OiByZ2JhKHZhcigtLXN0eWxlZC1xdW90ZS1ib3JkZXItY29sb3IpKSBzb2xpZCAwLjZyZW07XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG59XG5cbi5kYXJrLXN0eWxlZC1xdW90ZSB7XG4gICAgLS1oMS1jb2xvcjogdmFyKC0tZGFyay1zdHlsZWQtcXVvdGUtdGV4dC1jb2xvcik7XG4gICAgLS1oMi1jb2xvcjogdmFyKC0tZGFyay1zdHlsZWQtcXVvdGUtdGV4dC1jb2xvcik7XG4gICAgLS1oMy1jb2xvcjogdmFyKC0tZGFyay1zdHlsZWQtcXVvdGUtdGV4dC1jb2xvcik7XG4gICAgLS1oNC1jb2xvcjogdmFyKC0tZGFyay1zdHlsZWQtcXVvdGUtdGV4dC1jb2xvcik7XG4gICAgLS1oNS1jb2xvcjogdmFyKC0tZGFyay1zdHlsZWQtcXVvdGUtdGV4dC1jb2xvcik7XG4gICAgLS1oNi1jb2xvcjogdmFyKC0tZGFyay1zdHlsZWQtcXVvdGUtdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1kYXJrLXN0eWxlZC1xdW90ZS1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tZGFyay1zdHlsZWQtcXVvdGUtdGV4dC1jb2xvcikpO1xuICAgIGJvcmRlci1sZWZ0OiByZ2JhKHZhcigtLWRhcmstc3R5bGVkLXF1b3RlLWJvcmRlci1jb2xvcikpIHNvbGlkIDAuNnJlbTtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbn1cblxuLyogUHJpbnR1c2VyICovXG4ucHJpbnR1c2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiAwLjI1ZW07XG4gICAgdGV4dC1pbmRlbnQ6IDA7XG59XG5cbi5wcmludHVzZXIgYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ucHJpbnR1c2VyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLnByaW50dXNlciA+IGE6Zmlyc3QtY2hpbGQgaW1nIHtcbiAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICB3aWR0aDogMS4yNWVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByaW50dXNlci5kZWxldGVkIGltZyB7XG4gICAgaGVpZ2h0OiAxLjI1ZW07XG4gICAgd2lkdGg6IDEuMjVlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLyogT2xkIERpdnMgKi9cbi5mb290ZXItd2lraXdhbGstbmF2IHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi5iYmxvY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tdGV4dC1jb2xvcikpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLXNsb3cpIGxpbmVhcjtcbn1cblxuLmJibG9jazppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLXRleHQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiKHZhcigtLWJhY2tncm91bmQtY29sb3IpKTtcbn1cblxuLmRibG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdykgbGluZWFyO1xufVxuXG4uZGJsb2NrOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ua2V5Y2FwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWdlbmVyYWwtbGlnaHQtYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWdlbmVyYWwtbGlnaHQtdGV4dC1jb2xvcikpO1xuICAgIHBhZGRpbmc6IDAuMjVlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMC4xMjVlbSAwIDAuMDVlbSByZ2IodmFyKC0tZGFyay1jb2xvci0zKSwgMC41KTtcbn1cblxuLnJ0LCBydCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIGZvbnQtc2l6ZTogMC42NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xufVxuXG4ucnVieSwgcnVieSB7XG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbn1cblxuLnJ0LCAucnVieSwgcnQsIHJ1Ynkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiBMaWNlbnNlIEJveCAqL1xuLmxpY2Vuc2Vib3ggYS5jb2xsYXBzaWJsZS1ibG9jay1saW5rIHtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXRleHQtY29sb3IpKTtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtc2xvdyk7XG59XG5cbi5saWNlbnNlYm94IGEuY29sbGFwc2libGUtYmxvY2stbGluazppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbikge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5saWNlbnNlYm94IDppcyhibG9ja3F1b3RlLCAuYmxvY2txdW90ZSkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2lraWRvdCBNb2R1bGVzIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmpvaW4tYm94IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMXJlbSBhdXRvO1xuICAgIHBhZGRpbmc6IDAuMmVtIDFlbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tZ2VuZXJhbC1tZWRpdW0tYmFja2dyb3VuZC1jb2xvcikpO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLWdlbmVyYWwtbWVkaXVtLXRleHQtY29sb3IpKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWUtZmFzdCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uam9pbi1ib3ggYTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tZ2VuZXJhbC1kYXJrLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS1nZW5lcmFsLWRhcmstdGV4dC1jb2xvcikpO1xufVxuXG4jd2hvLWludml0ZWQtZm9ybSB0YWJsZS5mb3JtLFxuI3BldGl0aW9uLW5ldy1jYW1wYWluLWZvcm0gdGFibGUuZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbiN3aG8taW52aXRlZC1mb3JtIC5hdXRvY29tcGxldGUtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ubmV3LXBhZ2UtYm94IGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjI1cmVtO1xufVxuXG4jbmV3LXBvc3QtZm9ybSA+IGJyLFxuI25wLWVkaXRvci10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTW9iaWxlIEFkYXB0YXRpb24gLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0taGVhZGVyLWhlaWdodDogY2FsYyh2YXIoLS1tYWluLWhlYWRlci1oZWlnaHQtb24tbW9iaWxlKSArIHZhcigtLXRvcGJhci1oZWlnaHQtb24tbW9iaWxlKSk7XG4gICAgICAgIC0taGVhZGVyLWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEodmFyKC0taGVhZGVyLWJhY2tncm91bmQtYm90dG9tKSkgdmFyKC0tdG9wYmFyLWhlaWdodC1vbi1tb2JpbGUpLCByZ2JhKHZhcigtLWhlYWRlci1iYWNrZ3JvdW5kLXRvcCkpIDEwMCUpO1xuICAgICAgICAtLWhlYWRlci1tYXJnaW46IG1heChjYWxjKCgxMDAlIC0gdmFyKC0taGVhZGVyLXdpZHRoLW9uLW1vYmlsZSkpIC8gMiksIDBweCk7XG4gICAgfVxuICAgIC8qIEhlYWRlciAqL1xuICAgICNoZWFkZXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHZhcigtLW1haW4taGVhZGVyLWhlaWdodC1vbi1tb2JpbGUpIHZhcigtLXRvcGJhci1oZWlnaHQtb24tbW9iaWxlKTtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiBjYWxjKC0xICogdmFyKC0tbWFpbi1oZWFkZXItaGVpZ2h0LW9uLW1vYmlsZSkpO1xuICAgIH1cbiAgICAjaGVhZGVyOjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IHZhcigtLW1haW4taGVhZGVyLWhlaWdodC1vbi1tb2JpbGUpO1xuICAgIH1cbiAgICAvKiBIZWFkZXIgVGl0bGUgKi9cbiAgICAjaGVhZGVyIGgxIGEgc3BhbiB7XG4gICAgICAgIGdyaWQtZ2FwOiAwLjFyZW07XG4gICAgfVxuICAgICNoZWFkZXIgaDEgYSBzcGFuOjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWhlYWRlci10aXRsZS1mb250LXNpemUtb24tbW9iaWxlKTtcbiAgICB9XG4gICAgI2hlYWRlciBoMSBhIHNwYW46OmFmdGVyIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oZWFkZXItc3VidGl0bGUtZm9udC1zaXplLW9uLW1vYmlsZSk7XG4gICAgfVxuICAgIC8qIEhlYWRlciBMb2dvICovXG4gICAgI2hlYWRlciBoMiB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tdG9wYmFyLWhlaWdodC1vbi1tb2JpbGUpIC0gMXJlbSk7XG4gICAgfVxuICAgIC8qIFVzZXIgSW5mbyAqL1xuICAgICNsb2dpbi1zdGF0dXMge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIHJpZ2h0OiBjYWxjKHZhcigtLWhlYWRlci1tYXJnaW4pICsgMC41cmVtICsgdmFyKC0tc2VhcmNoLWljb24td2lkdGgtb24tbW9iaWxlKSk7XG4gICAgfVxuICAgIC8qIFNlYXJjaCAqL1xuICAgICNzZWFyY2gtdG9wLWJveCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1zZWFyY2gtaWNvbi13aWR0aC1vbi1tb2JpbGUpO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLW1haW4taGVhZGVyLWhlaWdodC1vbi1tb2JpbGUpO1xuICAgIH1cbiAgICAjc2VhcmNoLXRvcC1ib3gtZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIH1cbiAgICAjc2VhcmNoLXRvcC1ib3gtZm9ybSAuYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXNrLWltYWdlOiB2YXIoLS1zZWFyY2gtaWNvbi1tYXNrKTtcbiAgICAgICAgbWFzay1zaXplOiA0MCU7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlciAwLjhyZW07XG4gICAgfVxuICAgIC8qIFRvcCBCYXIgKi9cbiAgICAjdG9wLWJhciAudG9wLWJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICN0b3AtYmFyIC5tb2JpbGUtdG9wLWJhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgI3RvcC1iYXIgZGl2W2NsYXNzKj10b3AtYmFyXSA+IHVsID4gbGkge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgICAjdG9wLWJhciBkaXZbY2xhc3MqPXRvcC1iYXJdID4gdWwgPiBsaSA+IGEge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXRvcGJhci1mb250LXNpemUtb24tbW9iaWxlKTtcbiAgICB9XG4gICAgI3RvcC1iYXIgZGl2W2NsYXNzKj10b3AtYmFyXSA+IHVsID4gbGkgPiB1bCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAjdG9wLWJhciBkaXZbY2xhc3MqPXRvcC1iYXJdID4gdWwgPiBsaSA+IHVsID4gbGkge1xuICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XG4gICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS10b3BiYXItaGVpZ2h0LW9uLW1vYmlsZSk7XG4gICAgfVxuICAgICN0b3AtYmFyIGRpdltjbGFzcyo9dG9wLWJhcl0gPiB1bCA+IGxpID4gdWwgPiBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgICAjdG9wLWJhciBkaXZbY2xhc3MqPXRvcC1iYXJdID4gdWwgPiBsaSA+IHVsID4gbGk6bnRoLWNoaWxkKDJuKTpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgY2FsYyh2YXIoLS10b3BiYXItZHJvcC1ib3JkZXItd2lkdGgpIC8gMikgMCByZ2JhKHZhcigtLXRvcGJhci1kcm9wLWJvcmRlci1jb2xvcikpO1xuICAgIH1cbiAgICAjdG9wLWJhciBkaXZbY2xhc3MqPXRvcC1iYXJdID4gdWwgPiBsaSA+IHVsID4gbGk6bnRoLWNoaWxkKDJuKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgdmFyKC0tdG9wYmFyLWRyb3AtYm9yZGVyLXdpZHRoKSAvIDIpO1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IHZhcigtLXRvcGJhci1kcm9wLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICAgICN0b3AtYmFyIGRpdltjbGFzcyo9dG9wLWJhcl0gPiB1bCA+IGxpID4gdWwgPiBsaSA+IGEge1xuICAgICAgICBmb250LXNpemU6IGNhbGModmFyKC0tdG9wYmFyLWZvbnQtc2l6ZS1vbi1tb2JpbGUpICogMC45KTtcbiAgICB9XG4gICAgLyogU2lkZSBCYXIgKi9cbiAgICAjc2lkZS1iYXIsXG4gICAgI3NpZGUtYmFyOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbik6bm90KDp0YXJnZXQpIHtcbiAgICAgICAgbGVmdDogY2FsYyh2YXIoLS1zaWRlYmFyLXdpZHRoKSAqIC0xKTtcbiAgICAgICAgd2lkdGg6IG1pbih2YXIoLS1zaWRlYmFyLXdpZHRoLW9uLW1vYmlsZSksIDEwMCUgLSAzcmVtKTtcbiAgICB9XG4gICAgI3NpZGUtYmFyOjpiZWZvcmUsXG4gICAgI3NpZGUtYmFyOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICNzaWRlLWJhcjp0YXJnZXQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICAjc2lkZS1iYXI6dGFyZ2V0IC5jbG9zZS1tZW51IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBtaW4odmFyKC0tc2lkZWJhci13aWR0aC1vbi1tb2JpbGUpLCAxMDAlIC0gM3JlbSkpO1xuICAgIH1cbiAgICAvKiBGb290ZXIgKi9cbiAgICAjZm9vdGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgfVxuICAgICNsaWNlbnNlLWFyZWEge1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU0MHB4KSB7XG4gICAgLyogSW1hZ2UgQmxvY2sgKi9cbiAgICAuc2NwLWltYWdlLWJsb2NrOmlzKC5ibG9jay1yaWdodCwgLmJsb2NrLWxlZnQpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMC4xcmVtIGF1dG87XG4gICAgfVxuICAgIC8qIFBhZ2UgSGlzdG9yeSAqL1xuICAgIHRhYmxlLnBhZ2UtaGlzdG9yeSB0ciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwicmV2aXNpb24gc2lnbmF0dXJlIGRhdGVcIiBcImNob29zZSBhY3Rpb24gdXNlclwiIFwibWVtbyBtZW1vIG1lbW9cIjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyLjVyZW0gNC40cmVtIDFmcjtcbiAgICB9XG4gICAgdGFibGUucGFnZS1oaXN0b3J5IHRyIHRkOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XG4gICAgfVxuICAgIHRhYmxlLnBhZ2UtaGlzdG9yeSB0ciB0ZDpudGgtY2hpbGQoNSkge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gICAgdGFibGUucGFnZS1oaXN0b3J5IHRyIHRkOm50aC1jaGlsZCg2KSB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgIHRhYmxlLnBhZ2UtaGlzdG9yeSB0ciB0ZDpudGgtY2hpbGQoNykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gICAgfVxuICAgIC8qIFBvcHVwIEluZm8gKi9cbiAgICAub3dpbmRvdyAuY29udGVudCA+IGltZyArIGgxICsgdGFibGUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG4gICAgLm93aW5kb3cgLmNvbnRlbnQgPiBpbWcgKyBoMSArIHRhYmxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICAgIC5vd2luZG93IC5jb250ZW50ID4gaW1nICsgaDEgKyB0YWJsZSB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIC8qIFBhZ2UgVGl0bGUgKi9cbiAgICAjcGFnZS10aXRsZSwgLm1ldGEtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgICAvKiBCbG9ja3F1b3RlICovXG4gICAgYmxvY2txdW90ZSwgLmJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW46IDFyZW0gMDtcbiAgICB9XG59Il19 */